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

Unified Diff: chromecast/browser/media/cast_mojo_media_client.cc

Issue 1854893002: [chromecast] Bind and run mojo media services on cma thread. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: move task runner Created 4 years, 9 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: chromecast/browser/media/cast_mojo_media_client.cc
diff --git a/chromecast/browser/media/cast_mojo_media_client.cc b/chromecast/browser/media/cast_mojo_media_client.cc
index 0f97694f0c512ef23ce72c872edff079ee40bf4e..45498ce610a3f66730f7055afd3737ff588d87ed 100644
--- a/chromecast/browser/media/cast_mojo_media_client.cc
+++ b/chromecast/browser/media/cast_mojo_media_client.cc
@@ -10,9 +10,12 @@ namespace {
class CastRendererFactory : public media::RendererFactory {
public:
CastRendererFactory(
- const chromecast::media::CreateMediaPipelineBackendCB& create_backend_cb,
- const scoped_refptr<media::MediaLog>& media_log)
- : create_backend_cb_(create_backend_cb), media_log_(media_log) {}
+ base::SingleThreadTaskRunner* media_task_runner,
+ const chromecast::media::CreateMediaPipelineBackendCB& create_backend_cb)
+ : media_task_runner_(media_task_runner),
+ create_backend_cb_(create_backend_cb) {
+ DCHECK(media_task_runner_);
+ }
~CastRendererFactory() final {}
scoped_ptr<media::Renderer> CreateRenderer(
@@ -21,14 +24,16 @@ class CastRendererFactory : public media::RendererFactory {
media::AudioRendererSink* audio_renderer_sink,
media::VideoRendererSink* video_renderer_sink,
const media::RequestSurfaceCB& request_surface_cb) final {
+ DCHECK_EQ(media_task_runner_, media_task_runner.get());
+ DCHECK_EQ(media_task_runner_, worker_task_runner.get());
DCHECK(!audio_renderer_sink && !video_renderer_sink);
return make_scoped_ptr(new chromecast::media::CastRenderer(
create_backend_cb_, media_task_runner));
}
private:
+ base::SingleThreadTaskRunner* const media_task_runner_;
const chromecast::media::CreateMediaPipelineBackendCB create_backend_cb_;
- scoped_refptr<media::MediaLog> media_log_;
DISALLOW_COPY_AND_ASSIGN(CastRendererFactory);
};
} // namespace
@@ -37,15 +42,17 @@ namespace chromecast {
namespace media {
CastMojoMediaClient::CastMojoMediaClient(
+ scoped_refptr<base::SingleThreadTaskRunner> media_task_runner,
const CreateMediaPipelineBackendCB& create_backend_cb)
- : create_backend_cb_(create_backend_cb) {}
+ : MojoMediaClient(std::move(media_task_runner)),
+ create_backend_cb_(create_backend_cb) {}
CastMojoMediaClient::~CastMojoMediaClient() {}
scoped_ptr<::media::RendererFactory> CastMojoMediaClient::CreateRendererFactory(
const scoped_refptr<::media::MediaLog>& media_log) {
return make_scoped_ptr(
- new CastRendererFactory(create_backend_cb_, media_log));
+ new CastRendererFactory(media_task_runner(), create_backend_cb_));
}
} // namespace media

Powered by Google App Engine
This is Rietveld 408576698