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..25b875ac5335684247092b93c1ca7aa1f70a86a7 100644 |
--- a/content/renderer/media/webmediaplayer_impl.cc |
+++ b/content/renderer/media/webmediaplayer_impl.cc |
@@ -117,14 +117,16 @@ 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)) |
+template <class T> |
Ami GONE FROM CHROMIUM
2014/01/09 01:57:07
That's some nice clevermeistering, but you can eve
scherkus (not reviewing)
2014/01/09 02:14:45
it feels like I'm practicing some form of dark sor
|
+static base::Callback<T> BindToRenderLoop( |
+ const scoped_refptr<base::MessageLoopProxy>& render_loop, |
+ const base::Callback<T>& cb) { |
+ DCHECK(render_loop->BelongsToCurrentThread()); |
+ return media::BindToCurrentLoop(cb); |
+} |
-#define BIND_TO_RENDER_LOOP_2(function, arg1, arg2) \ |
- media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr(), arg1, arg2)) |
+#define BIND_TO_RENDER_LOOP(function) \ |
+ BindToRenderLoop(main_loop_, base::Bind(function, AsWeakPtr())) |
static void LogMediaSourceError(const scoped_refptr<media::MediaLog>& media_log, |
const std::string& error) { |
@@ -1075,6 +1077,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. |