Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(496)

Unified Diff: content/renderer/media/audio_renderer_impl.cc

Issue 7157001: Implements AudioMessageFilter as member in RenderThread (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: minor lint fix Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/audio_renderer_impl.cc
===================================================================
--- content/renderer/media/audio_renderer_impl.cc (revision 89207)
+++ content/renderer/media/audio_renderer_impl.cc (working copy)
@@ -24,18 +24,18 @@
} // namespace
-AudioRendererImpl::AudioRendererImpl(AudioMessageFilter* filter)
+AudioRendererImpl::AudioRendererImpl()
: AudioRendererBase(),
bytes_per_second_(0),
- filter_(filter),
stream_id_(0),
shared_memory_(NULL),
shared_memory_size_(0),
- io_loop_(filter->message_loop()),
stopped_(false),
pending_request_(false),
prerolling_(false),
preroll_bytes_(0) {
+ DCHECK(AudioMessageFilter::GetInstance());
+ io_loop_ = AudioMessageFilter::GetInstance()->message_loop();
DCHECK(io_loop_);
}
@@ -240,35 +240,34 @@
// Make sure we don't call create more than once.
DCHECK_EQ(0, stream_id_);
- stream_id_ = filter_->AddDelegate(this);
+ stream_id_ = AudioMessageFilter::GetInstance()->AddDelegate(this);
io_loop_->AddDestructionObserver(this);
AudioParameters params_to_send(audio_params);
// Let the browser choose packet size.
params_to_send.samples_per_packet = 0;
- filter_->Send(new AudioHostMsg_CreateStream(
- 0, stream_id_, params_to_send, false));
+ Send(new AudioHostMsg_CreateStream(0, stream_id_, params_to_send, false));
}
void AudioRendererImpl::PlayTask() {
DCHECK(MessageLoop::current() == io_loop_);
- filter_->Send(new AudioHostMsg_PlayStream(0, stream_id_));
+ Send(new AudioHostMsg_PlayStream(0, stream_id_));
}
void AudioRendererImpl::PauseTask() {
DCHECK(MessageLoop::current() == io_loop_);
- filter_->Send(new AudioHostMsg_PauseStream(0, stream_id_));
+ Send(new AudioHostMsg_PauseStream(0, stream_id_));
}
void AudioRendererImpl::SeekTask() {
DCHECK(MessageLoop::current() == io_loop_);
// We have to pause the audio stream before we can flush.
- filter_->Send(new AudioHostMsg_PauseStream(0, stream_id_));
- filter_->Send(new AudioHostMsg_FlushStream(0, stream_id_));
+ Send(new AudioHostMsg_PauseStream(0, stream_id_));
+ Send(new AudioHostMsg_FlushStream(0, stream_id_));
}
void AudioRendererImpl::DestroyTask() {
@@ -276,8 +275,8 @@
// Make sure we don't call destroy more than once.
DCHECK_NE(0, stream_id_);
- filter_->RemoveDelegate(stream_id_);
- filter_->Send(new AudioHostMsg_CloseStream(0, stream_id_));
+ AudioMessageFilter::GetInstance()->RemoveDelegate(stream_id_);
+ Send(new AudioHostMsg_CloseStream(0, stream_id_));
io_loop_->RemoveDestructionObserver(this);
stream_id_ = 0;
}
@@ -288,7 +287,7 @@
base::AutoLock auto_lock(lock_);
if (stopped_)
return;
- filter_->Send(new AudioHostMsg_SetVolume(0, stream_id_, volume));
+ Send(new AudioHostMsg_SetVolume(0, stream_id_, volume));
}
void AudioRendererImpl::NotifyPacketReadyTask() {
@@ -331,7 +330,7 @@
request_buffers_state_.pending_bytes == 0);
pending_request_ = false;
// Then tell browser process we are done filling into the buffer.
- filter_->Send(new AudioHostMsg_NotifyPacketReady(0, stream_id_, filled));
+ Send(new AudioHostMsg_NotifyPacketReady(0, stream_id_, filled));
}
}
@@ -346,3 +345,7 @@
stopped_ = true;
DestroyTask();
}
+
+void AudioRendererImpl::Send(IPC::Message* message) {
+ AudioMessageFilter::GetInstance()->Send(message);
scherkus (not reviewing) 2011/06/17 17:50:10 nice! might want to add a DCHECK for io_loop_
henrika_dont_use 2011/06/21 16:43:38 Done.
+}

Powered by Google App Engine
This is Rietveld 408576698