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