summaryrefslogtreecommitdiffstats
path: root/chromium/content/renderer/media/audio_message_filter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/media/audio_message_filter.cc')
-rw-r--r--chromium/content/renderer/media/audio_message_filter.cc31
1 files changed, 17 insertions, 14 deletions
diff --git a/chromium/content/renderer/media/audio_message_filter.cc b/chromium/content/renderer/media/audio_message_filter.cc
index 27d0821342f..fde42fb18e2 100644
--- a/chromium/content/renderer/media/audio_message_filter.cc
+++ b/chromium/content/renderer/media/audio_message_filter.cc
@@ -22,7 +22,8 @@ class AudioMessageFilter::AudioOutputIPCImpl
: public NON_EXPORTED_BASE(media::AudioOutputIPC) {
public:
AudioOutputIPCImpl(const scoped_refptr<AudioMessageFilter>& filter,
- int render_view_id);
+ int render_view_id,
+ int render_frame_id);
virtual ~AudioOutputIPCImpl();
// media::AudioOutputIPC implementation.
@@ -37,6 +38,7 @@ class AudioMessageFilter::AudioOutputIPCImpl
private:
const scoped_refptr<AudioMessageFilter> filter_;
const int render_view_id_;
+ const int render_frame_id_;
int stream_id_;
};
@@ -44,7 +46,7 @@ AudioMessageFilter* AudioMessageFilter::g_filter = NULL;
AudioMessageFilter::AudioMessageFilter(
const scoped_refptr<base::MessageLoopProxy>& io_message_loop)
- : channel_(NULL),
+ : sender_(NULL),
audio_hardware_config_(NULL),
io_message_loop_(io_message_loop) {
DCHECK(!g_filter);
@@ -62,18 +64,21 @@ AudioMessageFilter* AudioMessageFilter::Get() {
}
AudioMessageFilter::AudioOutputIPCImpl::AudioOutputIPCImpl(
- const scoped_refptr<AudioMessageFilter>& filter, int render_view_id)
+ const scoped_refptr<AudioMessageFilter>& filter,
+ int render_view_id,
+ int render_frame_id)
: filter_(filter),
render_view_id_(render_view_id),
+ render_frame_id_(render_frame_id),
stream_id_(kStreamIDNotSet) {}
AudioMessageFilter::AudioOutputIPCImpl::~AudioOutputIPCImpl() {}
scoped_ptr<media::AudioOutputIPC> AudioMessageFilter::CreateAudioOutputIPC(
- int render_view_id) {
+ int render_view_id, int render_frame_id) {
DCHECK_GT(render_view_id, 0);
return scoped_ptr<media::AudioOutputIPC>(
- new AudioOutputIPCImpl(this, render_view_id));
+ new AudioOutputIPCImpl(this, render_view_id, render_frame_id));
}
void AudioMessageFilter::AudioOutputIPCImpl::CreateStream(
@@ -85,7 +90,7 @@ void AudioMessageFilter::AudioOutputIPCImpl::CreateStream(
DCHECK_EQ(stream_id_, kStreamIDNotSet);
stream_id_ = filter_->delegates_.Add(delegate);
filter_->Send(new AudioHostMsg_CreateStream(
- stream_id_, render_view_id_, session_id, params));
+ stream_id_, render_view_id_, render_frame_id_, session_id, params));
}
void AudioMessageFilter::AudioOutputIPCImpl::PlayStream() {
@@ -113,10 +118,10 @@ void AudioMessageFilter::AudioOutputIPCImpl::SetVolume(double volume) {
void AudioMessageFilter::Send(IPC::Message* message) {
DCHECK(io_message_loop_->BelongsToCurrentThread());
- if (!channel_) {
+ if (!sender_) {
delete message;
} else {
- channel_->Send(message);
+ sender_->Send(message);
}
}
@@ -132,9 +137,9 @@ bool AudioMessageFilter::OnMessageReceived(const IPC::Message& message) {
return handled;
}
-void AudioMessageFilter::OnFilterAdded(IPC::Channel* channel) {
+void AudioMessageFilter::OnFilterAdded(IPC::Sender* sender) {
DCHECK(io_message_loop_->BelongsToCurrentThread());
- channel_ = channel;
+ sender_ = sender;
}
void AudioMessageFilter::OnFilterRemoved() {
@@ -147,7 +152,7 @@ void AudioMessageFilter::OnFilterRemoved() {
void AudioMessageFilter::OnChannelClosing() {
DCHECK(io_message_loop_->BelongsToCurrentThread());
- channel_ = NULL;
+ sender_ = NULL;
DLOG_IF(WARNING, !delegates_.IsEmpty())
<< "Not all audio devices have been closed.";
@@ -217,9 +222,7 @@ void AudioMessageFilter::OnOutputDeviceChanged(int stream_id,
// Ignore the message if an audio hardware config hasn't been created; this
// can occur if the renderer is using the high latency audio path.
- // TODO(dalecurtis): After http://crbug.com/173435 is fixed, convert to CHECK.
- if (!audio_hardware_config_)
- return;
+ CHECK(audio_hardware_config_);
// TODO(crogers): fix OnOutputDeviceChanged() to pass AudioParameters.
media::ChannelLayout channel_layout =