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( |