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

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: Rebase. 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,
61 VideoModeSwitcher* video_mode_switcher, 60 VideoModeSwitcher* video_mode_switcher,
62 VideoResolutionPolicy* video_resolution_policy, 61 VideoResolutionPolicy* video_resolution_policy,
63 MediaResourceTracker* media_resource_tracker) 62 MediaResourceTracker* media_resource_tracker)
64 : backend_factory_(backend_factory), 63 : backend_factory_(backend_factory),
65 media_log_(media_log),
66 video_mode_switcher_(video_mode_switcher), 64 video_mode_switcher_(video_mode_switcher),
67 video_resolution_policy_(video_resolution_policy), 65 video_resolution_policy_(video_resolution_policy),
68 media_resource_tracker_(media_resource_tracker) {} 66 media_resource_tracker_(media_resource_tracker) {}
69 ~CastRendererFactory() final {} 67 ~CastRendererFactory() final {}
70 68
71 std::unique_ptr<::media::Renderer> CreateRenderer( 69 std::unique_ptr<::media::Renderer> CreateRenderer(
72 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, 70 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
73 const scoped_refptr<base::TaskRunner>& worker_task_runner, 71 const scoped_refptr<base::TaskRunner>& worker_task_runner,
74 ::media::AudioRendererSink* audio_renderer_sink, 72 ::media::AudioRendererSink* audio_renderer_sink,
75 ::media::VideoRendererSink* video_renderer_sink, 73 ::media::VideoRendererSink* video_renderer_sink,
76 const ::media::RequestSurfaceCB& request_surface_cb) final { 74 const ::media::RequestSurfaceCB& request_surface_cb) final {
77 DCHECK(audio_renderer_sink); 75 DCHECK(audio_renderer_sink);
78 DCHECK(!video_renderer_sink); 76 DCHECK(!video_renderer_sink);
79 return base::MakeUnique<CastRenderer>( 77 return base::MakeUnique<CastRenderer>(
80 backend_factory_, media_task_runner, 78 backend_factory_, media_task_runner,
81 audio_renderer_sink->GetOutputDeviceInfo().device_id(), 79 audio_renderer_sink->GetOutputDeviceInfo().device_id(),
82 video_mode_switcher_, video_resolution_policy_, 80 video_mode_switcher_, video_resolution_policy_,
83 media_resource_tracker_); 81 media_resource_tracker_);
84 } 82 }
85 83
86 private: 84 private:
87 MediaPipelineBackendFactory* const backend_factory_; 85 MediaPipelineBackendFactory* const backend_factory_;
88 scoped_refptr<::media::MediaLog> media_log_;
89 VideoModeSwitcher* video_mode_switcher_; 86 VideoModeSwitcher* video_mode_switcher_;
90 VideoResolutionPolicy* video_resolution_policy_; 87 VideoResolutionPolicy* video_resolution_policy_;
91 MediaResourceTracker* media_resource_tracker_; 88 MediaResourceTracker* media_resource_tracker_;
92 DISALLOW_COPY_AND_ASSIGN(CastRendererFactory); 89 DISALLOW_COPY_AND_ASSIGN(CastRendererFactory);
93 }; 90 };
94 } // namespace 91 } // namespace
95 92
96 CastMojoMediaClient::CastMojoMediaClient( 93 CastMojoMediaClient::CastMojoMediaClient(
97 MediaPipelineBackendFactory* backend_factory, 94 MediaPipelineBackendFactory* backend_factory,
98 const CreateCdmFactoryCB& create_cdm_factory_cb, 95 const CreateCdmFactoryCB& create_cdm_factory_cb,
(...skipping 17 matching lines...) Expand all
116 connector_ = connector; 113 connector_ = connector;
117 } 114 }
118 115
119 scoped_refptr<::media::AudioRendererSink> 116 scoped_refptr<::media::AudioRendererSink>
120 CastMojoMediaClient::CreateAudioRendererSink( 117 CastMojoMediaClient::CreateAudioRendererSink(
121 const std::string& audio_device_id) { 118 const std::string& audio_device_id) {
122 return new CastAudioRendererSink(audio_device_id); 119 return new CastAudioRendererSink(audio_device_id);
123 } 120 }
124 121
125 std::unique_ptr<::media::RendererFactory> 122 std::unique_ptr<::media::RendererFactory>
126 CastMojoMediaClient::CreateRendererFactory( 123 CastMojoMediaClient::CreateRendererFactory(::media::MediaLog* /* media_log */) {
127 const scoped_refptr<::media::MediaLog>& media_log) {
128 return base::MakeUnique<CastRendererFactory>( 124 return base::MakeUnique<CastRendererFactory>(
129 backend_factory_, media_log, video_mode_switcher_, 125 backend_factory_, video_mode_switcher_, video_resolution_policy_,
130 video_resolution_policy_, media_resource_tracker_); 126 media_resource_tracker_);
131 } 127 }
132 128
133 std::unique_ptr<::media::CdmFactory> CastMojoMediaClient::CreateCdmFactory( 129 std::unique_ptr<::media::CdmFactory> CastMojoMediaClient::CreateCdmFactory(
134 service_manager::mojom::InterfaceProvider* /* host_interfaces */) { 130 service_manager::mojom::InterfaceProvider* /* host_interfaces */) {
135 return create_cdm_factory_cb_.Run(); 131 return create_cdm_factory_cb_.Run();
136 } 132 }
137 133
138 } // namespace media 134 } // namespace media
139 } // namespace chromecast 135 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/media/service/cast_mojo_media_client.h ('k') | content/browser/media/media_internals_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698