Chromium Code Reviews| 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 b530524cb91efd0b617aef94bd7cc82ad4ec71b5..24d0ffbe7c8def10723e1224e486f0f4afd07e1f 100644 |
| --- a/chromecast/browser/media/cast_mojo_media_client.cc |
| +++ b/chromecast/browser/media/cast_mojo_media_client.cc |
| @@ -6,10 +6,38 @@ |
| #include "base/memory/ptr_util.h" |
| #include "chromecast/browser/media/cast_renderer.h" |
| +#include "media/base/audio_renderer_sink.h" |
| #include "media/base/cdm_factory.h" |
| #include "media/base/media_log.h" |
| #include "media/base/renderer_factory.h" |
| +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) {} |
| + ~CastRendererFactory() final {} |
| + |
| + std::unique_ptr<media::Renderer> CreateRenderer( |
| + const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
| + const scoped_refptr<base::TaskRunner>& worker_task_runner, |
| + media::AudioRendererSink* audio_renderer_sink, |
| + media::VideoRendererSink* video_renderer_sink, |
| + const media::RequestSurfaceCB& request_surface_cb) final { |
| + DCHECK(!audio_renderer_sink && !video_renderer_sink); |
| + return base::MakeUnique<chromecast::media::CastRenderer>( |
| + create_backend_cb_, media_task_runner, ""); |
| + } |
| + |
| + private: |
| + const chromecast::media::CreateMediaPipelineBackendCB create_backend_cb_; |
| + scoped_refptr<media::MediaLog> media_log_; |
| + DISALLOW_COPY_AND_ASSIGN(CastRendererFactory); |
| +}; |
| +} // namespace |
| + |
| namespace chromecast { |
| namespace media { |
| @@ -21,12 +49,16 @@ CastMojoMediaClient::CastMojoMediaClient( |
| CastMojoMediaClient::~CastMojoMediaClient() {} |
| -std::unique_ptr<::media::Renderer> CastMojoMediaClient::CreateRenderer( |
| - scoped_refptr<base::SingleThreadTaskRunner> media_task_runner, |
| - scoped_refptr<::media::MediaLog> media_log, |
| +scoped_refptr<::media::AudioRendererSink> |
| +CastMojoMediaClient::CreateAudioRendererSink( |
| const std::string& audio_device_id) { |
| - return base::MakeUnique<chromecast::media::CastRenderer>( |
| - create_backend_cb_, std::move(media_task_runner), audio_device_id); |
| + return nullptr; |
|
jrummell
2016/08/30 19:59:59
Do you need this? It looks the same as the base cl
alokp
2016/08/30 20:08:52
I plan to. I need to capture the audio_device_id h
|
| +} |
| + |
| +std::unique_ptr<::media::RendererFactory> |
| +CastMojoMediaClient::CreateRendererFactory( |
| + const scoped_refptr<::media::MediaLog>& media_log) { |
| + return base::MakeUnique<CastRendererFactory>(create_backend_cb_, media_log); |
| } |
| std::unique_ptr<::media::CdmFactory> CastMojoMediaClient::CreateCdmFactory( |