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

Side by Side Diff: chromecast/media/service/cast_mojo_media_client.cc

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Actually fix fuzzers. Created 3 years, 8 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 unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698