diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 19:09:28 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-11 19:09:28 +0000 |
commit | 3ab20f3c57298ee24e15ec802b7e4b2e33598ca0 (patch) | |
tree | a10aa65bd80c00b2422f2ed94576677f1b5d2909 /chrome/renderer | |
parent | 5e6aacc34dd3f8e9b6483e897fb7da1cf582edcd (diff) | |
download | chromium_src-3ab20f3c57298ee24e15ec802b7e4b2e33598ca0.zip chromium_src-3ab20f3c57298ee24e15ec802b7e4b2e33598ca0.tar.gz chromium_src-3ab20f3c57298ee24e15ec802b7e4b2e33598ca0.tar.bz2 |
AudioRendererHost send ViewMsg_AudioStreamState
AudioRendererHost should use ViewMsg_AudioStreamState to
notify renderer of its state instead of AudioOutputStream::State.
The enum of AudioOutputStream::State is not used anywhere, thus
removed.
TEST=unit_tests --gtest_filter=Audio*
Review URL: http://codereview.chromium.org/165255
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23061 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/audio_message_filter.cc | 5 | ||||
-rw-r--r-- | chrome/renderer/audio_message_filter.h | 7 | ||||
-rw-r--r-- | chrome/renderer/audio_message_filter_unittest.cc | 24 | ||||
-rw-r--r-- | chrome/renderer/media/audio_renderer_impl.cc | 15 | ||||
-rw-r--r-- | chrome/renderer/media/audio_renderer_impl.h | 2 |
5 files changed, 21 insertions, 32 deletions
diff --git a/chrome/renderer/audio_message_filter.cc b/chrome/renderer/audio_message_filter.cc index b875f92..9bd1b9a 100644 --- a/chrome/renderer/audio_message_filter.cc +++ b/chrome/renderer/audio_message_filter.cc @@ -116,15 +116,14 @@ void AudioMessageFilter::OnStreamCreated(int stream_id, } void AudioMessageFilter::OnStreamStateChanged(int stream_id, - AudioOutputStream::State state, - int info) { + ViewMsg_AudioStreamState state) { Delegate* delegate = delegates_.Lookup(stream_id); if (!delegate) { DLOG(WARNING) << "Got audio stream event for a non-existent or removed" " audio renderer."; return; } - delegate->OnStateChanged(state, info); + delegate->OnStateChanged(state); } void AudioMessageFilter::OnStreamVolume(int stream_id, diff --git a/chrome/renderer/audio_message_filter.h b/chrome/renderer/audio_message_filter.h index 7fa17cb..f714e1b 100644 --- a/chrome/renderer/audio_message_filter.h +++ b/chrome/renderer/audio_message_filter.h @@ -12,8 +12,8 @@ #include "base/id_map.h" #include "base/shared_memory.h" +#include "chrome/common/render_messages.h" #include "ipc/ipc_channel_proxy.h" -#include "media/audio/audio_output.h" #include "testing/gtest/include/gtest/gtest_prod.h" class AudioMessageFilter : public IPC::ChannelProxy::MessageFilter { @@ -25,7 +25,7 @@ class AudioMessageFilter : public IPC::ChannelProxy::MessageFilter { const base::Time& message_timestamp) = 0; // Called when state of an audio stream has changed in the browser process. - virtual void OnStateChanged(AudioOutputStream::State state, int info) = 0; + virtual void OnStateChanged(ViewMsg_AudioStreamState state) = 0; // Called when an audio stream has been created in the browser process. virtual void OnCreated(base::SharedMemoryHandle handle, size_t length) = 0; @@ -69,8 +69,7 @@ class AudioMessageFilter : public IPC::ChannelProxy::MessageFilter { // Received when internal state of browser process' audio output device has // changed. - void OnStreamStateChanged(int stream_id, AudioOutputStream::State state, - int info); + void OnStreamStateChanged(int stream_id, ViewMsg_AudioStreamState state); // Notification of volume property of an audio output stream. void OnStreamVolume(int stream_id, double left, double right); diff --git a/chrome/renderer/audio_message_filter_unittest.cc b/chrome/renderer/audio_message_filter_unittest.cc index d09a406..ee60ffa 100644 --- a/chrome/renderer/audio_message_filter_unittest.cc +++ b/chrome/renderer/audio_message_filter_unittest.cc @@ -23,10 +23,9 @@ class MockAudioDelegate : public AudioMessageFilter::Delegate { message_timestamp_ = message_timestamp; } - virtual void OnStateChanged(AudioOutputStream::State state, int info) { + virtual void OnStateChanged(ViewMsg_AudioStreamState state) { state_changed_received_ = true; state_ = state; - info_ = info; } virtual void OnCreated(base::SharedMemoryHandle handle, size_t length) { @@ -47,8 +46,7 @@ class MockAudioDelegate : public AudioMessageFilter::Delegate { message_timestamp_ = base::Time(); state_changed_received_ = false; - state_ = AudioOutputStream::STATE_ERROR; - info_ = 0; + state_.state = ViewMsg_AudioStreamState::kError; created_received_ = false; handle_ = base::SharedMemory::NULLHandle(); @@ -64,8 +62,7 @@ class MockAudioDelegate : public AudioMessageFilter::Delegate { const base::Time& message_timestamp() { return message_timestamp_; } bool state_changed_received() { return state_changed_received_; } - AudioOutputStream::State state() { return state_; } - int info() { return info_; } + ViewMsg_AudioStreamState state() { return state_; } bool created_received() { return created_received_; } base::SharedMemoryHandle handle() { return handle_; } @@ -81,8 +78,7 @@ class MockAudioDelegate : public AudioMessageFilter::Delegate { base::Time message_timestamp_; bool state_changed_received_; - AudioOutputStream::State state_; - int info_; + ViewMsg_AudioStreamState state_; bool created_received_; base::SharedMemoryHandle handle_; @@ -120,17 +116,13 @@ TEST(AudioMessageFilterTest, Basic) { delegate.Reset(); // ViewMsg_NotifyAudioStreamStateChanged - const AudioOutputStream::State kState = AudioOutputStream::STATE_STARTED; - const int kStateInfo = 100; + const ViewMsg_AudioStreamState kState = + { ViewMsg_AudioStreamState::kPlaying }; EXPECT_FALSE(delegate.state_changed_received()); filter->OnMessageReceived( - ViewMsg_NotifyAudioStreamStateChanged(kRouteId, - stream_id, - kState, - kStateInfo)); + ViewMsg_NotifyAudioStreamStateChanged(kRouteId, stream_id, kState)); EXPECT_TRUE(delegate.state_changed_received()); - EXPECT_TRUE(kState == delegate.state()); - EXPECT_EQ(kStateInfo, delegate.info()); + EXPECT_TRUE(kState.state == delegate.state().state); delegate.Reset(); // ViewMsg_NotifyAudioStreamCreated diff --git a/chrome/renderer/media/audio_renderer_impl.cc b/chrome/renderer/media/audio_renderer_impl.cc index c00d9c7..783acf3 100644 --- a/chrome/renderer/media/audio_renderer_impl.cc +++ b/chrome/renderer/media/audio_renderer_impl.cc @@ -183,16 +183,15 @@ void AudioRendererImpl::OnRequestPacket(size_t bytes_in_buffer, OnNotifyPacketReady(); } -void AudioRendererImpl::OnStateChanged(AudioOutputStream::State state, - int info) { +void AudioRendererImpl::OnStateChanged(ViewMsg_AudioStreamState state) { DCHECK(MessageLoop::current() == io_loop_); AutoLock auto_lock(lock_); if (stopped_) return; - switch (state) { - case AudioOutputStream::STATE_ERROR: + switch (state.state) { + case ViewMsg_AudioStreamState::kError: // We receive this error if we counter an hardware error on the browser // side. We can proceed with ignoring the audio stream. // TODO(hclam): We need more handling of these kind of error. For example @@ -201,8 +200,8 @@ void AudioRendererImpl::OnStateChanged(AudioOutputStream::State state, host()->BroadcastMessage(media::kMsgDisableAudio); break; // TODO(hclam): handle these events. - case AudioOutputStream::STATE_STARTED: - case AudioOutputStream::STATE_PAUSED: + case ViewMsg_AudioStreamState::kPlaying: + case ViewMsg_AudioStreamState::kPaused: break; default: NOTREACHED(); @@ -242,7 +241,7 @@ void AudioRendererImpl::OnCreateStream( void AudioRendererImpl::OnPlay() { DCHECK(MessageLoop::current() == io_loop_); - filter_->Send(new ViewHostMsg_StartAudioStream(0, stream_id_)); + filter_->Send(new ViewHostMsg_PlayAudioStream(0, stream_id_)); } void AudioRendererImpl::OnPause() { @@ -309,7 +308,7 @@ void AudioRendererImpl::OnNotifyPacketReady() { if (filled > preroll_bytes_) { prerolling_ = false; preroll_bytes_ = 0; - filter_->Send(new ViewHostMsg_StartAudioStream(0, stream_id_)); + filter_->Send(new ViewHostMsg_PlayAudioStream(0, stream_id_)); } else { preroll_bytes_ -= filled; } diff --git a/chrome/renderer/media/audio_renderer_impl.h b/chrome/renderer/media/audio_renderer_impl.h index a087402..489bc60 100644 --- a/chrome/renderer/media/audio_renderer_impl.h +++ b/chrome/renderer/media/audio_renderer_impl.h @@ -118,7 +118,7 @@ class AudioRendererImpl : public media::AudioRendererBase, // AudioMessageFilter::Delegate methods, called by AudioMessageFilter. void OnRequestPacket(size_t bytes_in_buffer, const base::Time& message_timestamp); - void OnStateChanged(AudioOutputStream::State state, int info); + void OnStateChanged(ViewMsg_AudioStreamState state); void OnCreated(base::SharedMemoryHandle handle, size_t length); void OnVolume(double left, double right); |