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.
|
+} |