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

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

Issue 2016053003: Add audio_device_id in mojo media ServiceFactory CreateRenderer api. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Fix clang format Created 4 years, 6 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/browser/media/cast_mojo_media_client.h" 5 #include "chromecast/browser/media/cast_mojo_media_client.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "chromecast/browser/media/cast_renderer.h" 8 #include "chromecast/browser/media/cast_renderer.h"
9 #include "media/base/media_log.h" 9 #include "media/base/media_log.h"
10 #include "media/base/renderer_factory.h" 10 #include "media/base/renderer_factory.h"
11 11
12 namespace {
13 class CastRendererFactory : public media::RendererFactory {
14 public:
15 CastRendererFactory(
16 const chromecast::media::CreateMediaPipelineBackendCB& create_backend_cb,
17 const scoped_refptr<media::MediaLog>& media_log)
18 : create_backend_cb_(create_backend_cb), media_log_(media_log) {}
19 ~CastRendererFactory() final {}
20
21 std::unique_ptr<media::Renderer> CreateRenderer(
22 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
23 const scoped_refptr<base::TaskRunner>& worker_task_runner,
24 media::AudioRendererSink* audio_renderer_sink,
25 media::VideoRendererSink* video_renderer_sink,
26 const media::RequestSurfaceCB& request_surface_cb) final {
27 DCHECK(!audio_renderer_sink && !video_renderer_sink);
28 return base::WrapUnique(new chromecast::media::CastRenderer(
29 create_backend_cb_, media_task_runner));
30 }
31
32 private:
33 const chromecast::media::CreateMediaPipelineBackendCB create_backend_cb_;
34 scoped_refptr<media::MediaLog> media_log_;
35 DISALLOW_COPY_AND_ASSIGN(CastRendererFactory);
36 };
37 } // namespace
38
39 namespace chromecast { 12 namespace chromecast {
40 namespace media { 13 namespace media {
41 14
42 CastMojoMediaClient::CastMojoMediaClient( 15 CastMojoMediaClient::CastMojoMediaClient(
43 const CreateMediaPipelineBackendCB& create_backend_cb) 16 const CreateMediaPipelineBackendCB& create_backend_cb)
44 : create_backend_cb_(create_backend_cb) {} 17 : create_backend_cb_(create_backend_cb) {}
45 18
46 CastMojoMediaClient::~CastMojoMediaClient() {} 19 CastMojoMediaClient::~CastMojoMediaClient() {}
47 20
48 std::unique_ptr<::media::RendererFactory> 21 std::unique_ptr<::media::Renderer> CastMojoMediaClient::CreateRenderer(
49 CastMojoMediaClient::CreateRendererFactory( 22 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner,
50 const scoped_refptr<::media::MediaLog>& media_log) { 23 scoped_refptr<::media::MediaLog> media_log,
51 return base::WrapUnique( 24 const std::string& audio_device_id) {
52 new CastRendererFactory(create_backend_cb_, media_log)); 25 // TODO(tianyuwang): pass audio_device_id to CastRenderer.
26 return base::WrapUnique(new chromecast::media::CastRenderer(
dcheng 2016/06/03 04:29:48 return base::MakeUnique<chromecast::media::CastRen
tianyuwang1 2016/06/03 18:31:49 Done.
27 create_backend_cb_, media_task_runner));
53 } 28 }
54 29
55 } // namespace media 30 } // namespace media
56 } // namespace chromecast 31 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698