Index: content/renderer/media/audio_renderer_impl.cc |
=================================================================== |
--- content/renderer/media/audio_renderer_impl.cc (revision 90030) |
+++ content/renderer/media/audio_renderer_impl.cc (working copy) |
@@ -24,18 +24,20 @@ |
} // 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(RenderThread::current()); |
jam
2011/06/23 18:59:55
nit: no need
henrika_dont_use
2011/06/27 15:05:44
Done.
|
+ filter_ = RenderThread::current()->audio_message_filter(); |
wjia(left Chromium)
2011/06/23 19:43:22
it's easier to test AudioRendererImpl if |filter_|
henrika_dont_use
2011/06/27 15:05:44
Should be OK without injecting since it is possibl
|
+ DCHECK(filter_); |
jam
2011/06/23 18:59:55
ditto
henrika_dont_use
2011/06/27 15:05:44
Done.
|
+ io_loop_ = filter_->message_loop(); |
jam
2011/06/23 18:59:55
don't need this, just use ChildProcess::current()-
henrika_dont_use
2011/06/27 15:05:44
Done.
|
DCHECK(io_loop_); |
} |
@@ -247,28 +249,27 @@ |
// 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(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(stream_id_)); |
} |
void AudioRendererImpl::PauseTask() { |
DCHECK(MessageLoop::current() == io_loop_); |
- filter_->Send(new AudioHostMsg_PauseStream(0, stream_id_)); |
+ Send(new AudioHostMsg_PauseStream(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(stream_id_)); |
+ Send(new AudioHostMsg_FlushStream(stream_id_)); |
} |
void AudioRendererImpl::DestroyTask() { |
@@ -277,7 +278,7 @@ |
// 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_)); |
+ Send(new AudioHostMsg_CloseStream(stream_id_)); |
io_loop_->RemoveDestructionObserver(this); |
stream_id_ = 0; |
} |
@@ -288,7 +289,7 @@ |
base::AutoLock auto_lock(lock_); |
if (stopped_) |
return; |
- filter_->Send(new AudioHostMsg_SetVolume(0, stream_id_, volume)); |
+ Send(new AudioHostMsg_SetVolume(stream_id_, volume)); |
} |
void AudioRendererImpl::NotifyPacketReadyTask() { |
@@ -331,7 +332,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(stream_id_, filled)); |
} |
} |
@@ -346,3 +347,8 @@ |
stopped_ = true; |
DestroyTask(); |
} |
+ |
+void AudioRendererImpl::Send(IPC::Message* message) { |
+ DCHECK(MessageLoop::current() == io_loop_); |
jam
2011/06/23 18:59:55
nit: this isn't needed since filter_ posttasks to
henrika_dont_use
2011/06/27 15:05:44
Done.
|
+ filter_->Send(message); |
+} |