OLD | NEW |
| (Empty) |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chromecast/renderer/media/chromecast_media_renderer_factory.h" | |
6 | |
7 #include <utility> | |
8 | |
9 #include "chromecast/renderer/media/cma_renderer.h" | |
10 #include "chromecast/renderer/media/media_pipeline_proxy.h" | |
11 #include "content/public/renderer/render_thread.h" | |
12 #include "media/renderers/gpu_video_accelerator_factories.h" | |
13 | |
14 namespace chromecast { | |
15 namespace media { | |
16 | |
17 ChromecastMediaRendererFactory::ChromecastMediaRendererFactory( | |
18 ::media::GpuVideoAcceleratorFactories* gpu_factories, | |
19 int render_frame_id) | |
20 : render_frame_id_(render_frame_id), gpu_factories_(gpu_factories) {} | |
21 | |
22 ChromecastMediaRendererFactory::~ChromecastMediaRendererFactory() { | |
23 } | |
24 | |
25 std::unique_ptr<::media::Renderer> | |
26 ChromecastMediaRendererFactory::CreateRenderer( | |
27 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, | |
28 const scoped_refptr<base::TaskRunner>& worker_task_runner, | |
29 ::media::AudioRendererSink* audio_renderer_sink, | |
30 ::media::VideoRendererSink* video_renderer_sink, | |
31 const ::media::RequestSurfaceCB& request_surface_cb) { | |
32 // TODO(erickung): crbug.com/443956. Need to provide right LoadType. | |
33 LoadType cma_load_type = kLoadTypeMediaSource; | |
34 std::unique_ptr<MediaPipelineProxy> cma_media_pipeline(new MediaPipelineProxy( | |
35 render_frame_id_, content::RenderThread::Get()->GetIOTaskRunner(), | |
36 cma_load_type)); | |
37 std::unique_ptr<CmaRenderer> cma_renderer(new CmaRenderer( | |
38 std::move(cma_media_pipeline), video_renderer_sink, gpu_factories_)); | |
39 return std::move(cma_renderer); | |
40 } | |
41 | |
42 } // namespace media | |
43 } // namespace chromecast | |
OLD | NEW |