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

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: Added TODO() comment in failing unit test 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 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);
+}

Powered by Google App Engine
This is Rietveld 408576698