OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chromecast/media/service/cast_mojo_media_client.h" | 5 #include "chromecast/media/service/cast_mojo_media_client.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "chromecast/media/cma/backend/media_pipeline_backend_factory.h" | 8 #include "chromecast/media/cma/backend/media_pipeline_backend_factory.h" |
9 #include "chromecast/media/service/cast_renderer.h" | 9 #include "chromecast/media/service/cast_renderer.h" |
10 #include "chromecast/public/media/media_pipeline_backend.h" | 10 #include "chromecast/public/media/media_pipeline_backend.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
50 private: | 50 private: |
51 ~CastAudioRendererSink() final {} | 51 ~CastAudioRendererSink() final {} |
52 | 52 |
53 std::string device_id_; | 53 std::string device_id_; |
54 DISALLOW_COPY_AND_ASSIGN(CastAudioRendererSink); | 54 DISALLOW_COPY_AND_ASSIGN(CastAudioRendererSink); |
55 }; | 55 }; |
56 | 56 |
57 class CastRendererFactory : public ::media::RendererFactory { | 57 class CastRendererFactory : public ::media::RendererFactory { |
58 public: | 58 public: |
59 CastRendererFactory(MediaPipelineBackendFactory* backend_factory, | 59 CastRendererFactory(MediaPipelineBackendFactory* backend_factory, |
60 const scoped_refptr<::media::MediaLog>& media_log, | 60 ::media::MediaLog* media_log, |
chcunningham
2017/04/18 23:29:12
should we just kill the arg since we aren't using?
DaleCurtis
2017/04/18 23:55:45
Done.
| |
61 VideoModeSwitcher* video_mode_switcher, | 61 VideoModeSwitcher* video_mode_switcher, |
62 VideoResolutionPolicy* video_resolution_policy, | 62 VideoResolutionPolicy* video_resolution_policy, |
63 MediaResourceTracker* media_resource_tracker) | 63 MediaResourceTracker* media_resource_tracker) |
64 : backend_factory_(backend_factory), | 64 : backend_factory_(backend_factory), |
65 media_log_(media_log), | |
66 video_mode_switcher_(video_mode_switcher), | 65 video_mode_switcher_(video_mode_switcher), |
67 video_resolution_policy_(video_resolution_policy), | 66 video_resolution_policy_(video_resolution_policy), |
68 media_resource_tracker_(media_resource_tracker) {} | 67 media_resource_tracker_(media_resource_tracker) {} |
69 ~CastRendererFactory() final {} | 68 ~CastRendererFactory() final {} |
70 | 69 |
71 std::unique_ptr<::media::Renderer> CreateRenderer( | 70 std::unique_ptr<::media::Renderer> CreateRenderer( |
72 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, | 71 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
73 const scoped_refptr<base::TaskRunner>& worker_task_runner, | 72 const scoped_refptr<base::TaskRunner>& worker_task_runner, |
74 ::media::AudioRendererSink* audio_renderer_sink, | 73 ::media::AudioRendererSink* audio_renderer_sink, |
75 ::media::VideoRendererSink* video_renderer_sink, | 74 ::media::VideoRendererSink* video_renderer_sink, |
76 const ::media::RequestSurfaceCB& request_surface_cb) final { | 75 const ::media::RequestSurfaceCB& request_surface_cb) final { |
77 DCHECK(audio_renderer_sink); | 76 DCHECK(audio_renderer_sink); |
78 DCHECK(!video_renderer_sink); | 77 DCHECK(!video_renderer_sink); |
79 return base::MakeUnique<CastRenderer>( | 78 return base::MakeUnique<CastRenderer>( |
80 backend_factory_, media_task_runner, | 79 backend_factory_, media_task_runner, |
81 audio_renderer_sink->GetOutputDeviceInfo().device_id(), | 80 audio_renderer_sink->GetOutputDeviceInfo().device_id(), |
82 video_mode_switcher_, video_resolution_policy_, | 81 video_mode_switcher_, video_resolution_policy_, |
83 media_resource_tracker_); | 82 media_resource_tracker_); |
84 } | 83 } |
85 | 84 |
86 private: | 85 private: |
87 MediaPipelineBackendFactory* const backend_factory_; | 86 MediaPipelineBackendFactory* const backend_factory_; |
88 scoped_refptr<::media::MediaLog> media_log_; | |
89 VideoModeSwitcher* video_mode_switcher_; | 87 VideoModeSwitcher* video_mode_switcher_; |
90 VideoResolutionPolicy* video_resolution_policy_; | 88 VideoResolutionPolicy* video_resolution_policy_; |
91 MediaResourceTracker* media_resource_tracker_; | 89 MediaResourceTracker* media_resource_tracker_; |
92 DISALLOW_COPY_AND_ASSIGN(CastRendererFactory); | 90 DISALLOW_COPY_AND_ASSIGN(CastRendererFactory); |
93 }; | 91 }; |
94 } // namespace | 92 } // namespace |
95 | 93 |
96 CastMojoMediaClient::CastMojoMediaClient( | 94 CastMojoMediaClient::CastMojoMediaClient( |
97 MediaPipelineBackendFactory* backend_factory, | 95 MediaPipelineBackendFactory* backend_factory, |
98 const CreateCdmFactoryCB& create_cdm_factory_cb, | 96 const CreateCdmFactoryCB& create_cdm_factory_cb, |
(...skipping 17 matching lines...) Expand all Loading... | |
116 connector_ = connector; | 114 connector_ = connector; |
117 } | 115 } |
118 | 116 |
119 scoped_refptr<::media::AudioRendererSink> | 117 scoped_refptr<::media::AudioRendererSink> |
120 CastMojoMediaClient::CreateAudioRendererSink( | 118 CastMojoMediaClient::CreateAudioRendererSink( |
121 const std::string& audio_device_id) { | 119 const std::string& audio_device_id) { |
122 return new CastAudioRendererSink(audio_device_id); | 120 return new CastAudioRendererSink(audio_device_id); |
123 } | 121 } |
124 | 122 |
125 std::unique_ptr<::media::RendererFactory> | 123 std::unique_ptr<::media::RendererFactory> |
126 CastMojoMediaClient::CreateRendererFactory( | 124 CastMojoMediaClient::CreateRendererFactory(::media::MediaLog* media_log) { |
127 const scoped_refptr<::media::MediaLog>& media_log) { | |
128 return base::MakeUnique<CastRendererFactory>( | 125 return base::MakeUnique<CastRendererFactory>( |
129 backend_factory_, media_log, video_mode_switcher_, | 126 backend_factory_, media_log, video_mode_switcher_, |
130 video_resolution_policy_, media_resource_tracker_); | 127 video_resolution_policy_, media_resource_tracker_); |
131 } | 128 } |
132 | 129 |
133 std::unique_ptr<::media::CdmFactory> CastMojoMediaClient::CreateCdmFactory( | 130 std::unique_ptr<::media::CdmFactory> CastMojoMediaClient::CreateCdmFactory( |
134 service_manager::mojom::InterfaceProvider* /* host_interfaces */) { | 131 service_manager::mojom::InterfaceProvider* /* host_interfaces */) { |
135 return create_cdm_factory_cb_.Run(); | 132 return create_cdm_factory_cb_.Run(); |
136 } | 133 } |
137 | 134 |
138 } // namespace media | 135 } // namespace media |
139 } // namespace chromecast | 136 } // namespace chromecast |
OLD | NEW |