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

Unified Diff: content/renderer/media/webmediaplayer_impl.cc

Issue 66953005: Remove media::BindToLoop() in favour of media::BindToCurrentLoop(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix cros Created 6 years, 11 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/webmediaplayer_impl.cc
diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc
index 68eafa1e0378d4acc7ff4818015f1ca5c20f01f8..3c566b2d61fd912bf298b87ffc8f313e41ec39dd 100644
--- a/content/renderer/media/webmediaplayer_impl.cc
+++ b/content/renderer/media/webmediaplayer_impl.cc
@@ -117,14 +117,8 @@ COMPILE_ASSERT_MATCHING_ENUM(Anonymous);
COMPILE_ASSERT_MATCHING_ENUM(UseCredentials);
#undef COMPILE_ASSERT_MATCHING_ENUM
-#define BIND_TO_RENDER_LOOP(function) \
- media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr()))
-
-#define BIND_TO_RENDER_LOOP_1(function, arg1) \
- media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr(), arg1))
-
-#define BIND_TO_RENDER_LOOP_2(function, arg1, arg2) \
- media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr(), arg1, arg2))
+#define BIND_TO_CURRENT_LOOP(function) \
Ami GONE FROM CHROMIUM 2014/01/08 21:37:41 "CURRENT" is less informative at the callsite than
scherkus (not reviewing) 2014/01/09 01:52:02 I really like the DCHECK() idea, but since this ma
+ media::BindToCurrentLoop(base::Bind(function, AsWeakPtr()))
static void LogMediaSourceError(const scoped_refptr<media::MediaLog>& media_log,
const std::string& error) {
@@ -193,9 +187,9 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
client,
frame,
#endif
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyAdded),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyError),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyMessage)));
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnKeyAdded),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnKeyError),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnKeyMessage)));
}
// Use the null sink if no sink was provided.
@@ -375,7 +369,7 @@ void WebMediaPlayerImpl::seek(double seconds) {
// Kick off the asynchronous seek!
pipeline_->Seek(
seek_time,
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineSeek));
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnPipelineSeek));
}
void WebMediaPlayerImpl::setRate(double rate) {
@@ -1075,6 +1069,7 @@ void WebMediaPlayerImpl::NotifyDownloading(bool is_downloading) {
}
void WebMediaPlayerImpl::StartPipeline() {
+ DCHECK(main_loop_->BelongsToCurrentThread());
const CommandLine* cmd_line = CommandLine::ForCurrentProcess();
// Keep track if this is a MSE or non-MSE playback.
@@ -1088,15 +1083,15 @@ void WebMediaPlayerImpl::StartPipeline() {
demuxer_.reset(new media::FFmpegDemuxer(
media_loop_, data_source_.get(),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnNeedKey),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnNeedKey),
media_log_));
} else {
DCHECK(!chunk_demuxer_);
DCHECK(!data_source_);
chunk_demuxer_ = new media::ChunkDemuxer(
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDemuxerOpened),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnNeedKey),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnDemuxerOpened),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnNeedKey),
base::Bind(&LogMediaSourceError, media_log_));
demuxer_.reset(chunk_demuxer_);
}
@@ -1146,7 +1141,7 @@ void WebMediaPlayerImpl::StartPipeline() {
video_decoders.Pass(),
set_decryptor_ready_cb,
base::Bind(&WebMediaPlayerImpl::FrameReady, base::Unretained(this)),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::SetOpaque),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::SetOpaque),
true));
filter_collection->SetVideoRenderer(video_renderer.Pass());
@@ -1154,7 +1149,7 @@ void WebMediaPlayerImpl::StartPipeline() {
scoped_ptr<media::TextRenderer> text_renderer(
new media::TextRenderer(
media_loop_,
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnAddTextTrack)));
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnAddTextTrack)));
filter_collection->SetTextRenderer(text_renderer.Pass());
}
@@ -1163,11 +1158,11 @@ void WebMediaPlayerImpl::StartPipeline() {
starting_ = true;
pipeline_->Start(
filter_collection.Pass(),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineEnded),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineError),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineSeek),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineBufferingState),
- BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDurationChange));
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnPipelineEnded),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnPipelineError),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnPipelineSeek),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnPipelineBufferingState),
+ BIND_TO_CURRENT_LOOP(&WebMediaPlayerImpl::OnDurationChange));
}
void WebMediaPlayerImpl::SetNetworkState(WebMediaPlayer::NetworkState state) {

Powered by Google App Engine
This is Rietveld 408576698