summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 19:09:28 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 19:09:28 +0000
commit3ab20f3c57298ee24e15ec802b7e4b2e33598ca0 (patch)
treea10aa65bd80c00b2422f2ed94576677f1b5d2909 /chrome/renderer
parent5e6aacc34dd3f8e9b6483e897fb7da1cf582edcd (diff)
downloadchromium_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.cc5
-rw-r--r--chrome/renderer/audio_message_filter.h7
-rw-r--r--chrome/renderer/audio_message_filter_unittest.cc24
-rw-r--r--chrome/renderer/media/audio_renderer_impl.cc15
-rw-r--r--chrome/renderer/media/audio_renderer_impl.h2
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);