Chromium Code Reviews| 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); |
| +} |