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

Side by Side Diff: chromecast/browser/media/media_pipeline_host.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: Minor change based on the comment Created 4 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/media_pipeline_host.h" 5 #include "chromecast/browser/media/media_pipeline_host.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/location.h" 13 #include "base/location.h"
14 #include "base/memory/shared_memory.h" 14 #include "base/memory/shared_memory.h"
15 #include "base/single_thread_task_runner.h" 15 #include "base/single_thread_task_runner.h"
16 #include "base/threading/thread_task_runner_handle.h" 16 #include "base/threading/thread_task_runner_handle.h"
17 #include "chromecast/base/task_runner_impl.h" 17 #include "chromecast/base/task_runner_impl.h"
18 #include "chromecast/common/media/shared_memory_chunk.h" 18 #include "chromecast/common/media/shared_memory_chunk.h"
19 #include "chromecast/media/base/media_caps.h" 19 #include "chromecast/media/base/media_caps.h"
20 #include "chromecast/media/cdm/cast_cdm_context.h" 20 #include "chromecast/media/cdm/cast_cdm_context.h"
21 #include "chromecast/media/cma/ipc/media_message_fifo.h" 21 #include "chromecast/media/cma/ipc/media_message_fifo.h"
22 #include "chromecast/media/cma/ipc_streamer/coded_frame_provider_host.h" 22 #include "chromecast/media/cma/ipc_streamer/coded_frame_provider_host.h"
23 #include "chromecast/media/cma/pipeline/audio_pipeline_impl.h" 23 #include "chromecast/media/cma/pipeline/audio_pipeline_impl.h"
24 #include "chromecast/media/cma/pipeline/media_pipeline_impl.h" 24 #include "chromecast/media/cma/pipeline/media_pipeline_impl.h"
25 #include "chromecast/media/cma/pipeline/video_pipeline_impl.h" 25 #include "chromecast/media/cma/pipeline/video_pipeline_impl.h"
26 #include "chromecast/public/media/media_pipeline_backend.h" 26 #include "chromecast/public/media/media_pipeline_backend.h"
27 #include "chromecast/public/media/media_pipeline_device_params.h" 27 #include "chromecast/public/media/media_pipeline_device_params.h"
28 #include "media/audio/audio_device_description.h"
28 29
29 namespace chromecast { 30 namespace chromecast {
30 namespace media { 31 namespace media {
31 32
32 struct MediaPipelineHost::MediaTrackHost { 33 struct MediaPipelineHost::MediaTrackHost {
33 MediaTrackHost(); 34 MediaTrackHost();
34 ~MediaTrackHost(); 35 ~MediaTrackHost();
35 36
36 base::Closure pipe_write_cb; 37 base::Closure pipe_write_cb;
37 }; 38 };
(...skipping 25 matching lines...) Expand all
63 DCHECK(thread_checker_.CalledOnValidThread()); 64 DCHECK(thread_checker_.CalledOnValidThread());
64 media_pipeline_.reset(new MediaPipelineImpl()); 65 media_pipeline_.reset(new MediaPipelineImpl());
65 task_runner_.reset(new TaskRunnerImpl()); 66 task_runner_.reset(new TaskRunnerImpl());
66 MediaPipelineDeviceParams::MediaSyncType sync_type = 67 MediaPipelineDeviceParams::MediaSyncType sync_type =
67 (load_type == kLoadTypeMediaStream) 68 (load_type == kLoadTypeMediaStream)
68 ? MediaPipelineDeviceParams::kModeIgnorePts 69 ? MediaPipelineDeviceParams::kModeIgnorePts
69 : MediaPipelineDeviceParams::kModeSyncPts; 70 : MediaPipelineDeviceParams::kModeSyncPts;
70 MediaPipelineDeviceParams default_parameters(sync_type, task_runner_.get()); 71 MediaPipelineDeviceParams default_parameters(sync_type, task_runner_.get());
71 72
72 media_pipeline_->SetClient(client); 73 media_pipeline_->SetClient(client);
73 media_pipeline_->Initialize(load_type, 74 media_pipeline_->Initialize(
74 create_backend_cb.Run(default_parameters)); 75 load_type,
76 create_backend_cb.Run(default_parameters,
77 ::media::AudioDeviceDescription::kDefaultDeviceId));
75 } 78 }
76 79
77 void MediaPipelineHost::SetAvPipe( 80 void MediaPipelineHost::SetAvPipe(
78 TrackId track_id, 81 TrackId track_id,
79 std::unique_ptr<base::SharedMemory> shared_mem, 82 std::unique_ptr<base::SharedMemory> shared_mem,
80 const base::Closure& pipe_read_activity_cb, 83 const base::Closure& pipe_read_activity_cb,
81 const base::Closure& av_pipe_set_cb) { 84 const base::Closure& av_pipe_set_cb) {
82 DCHECK(thread_checker_.CalledOnValidThread()); 85 DCHECK(thread_checker_.CalledOnValidThread());
83 CHECK(track_id == kAudioTrackId || track_id == kVideoTrackId); 86 CHECK(track_id == kAudioTrackId || track_id == kVideoTrackId);
84 87
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 if (it == media_track_map_.end()) 174 if (it == media_track_map_.end())
172 return; 175 return;
173 176
174 MediaTrackHost* media_track_host = it->second; 177 MediaTrackHost* media_track_host = it->second;
175 if (!media_track_host->pipe_write_cb.is_null()) 178 if (!media_track_host->pipe_write_cb.is_null())
176 media_track_host->pipe_write_cb.Run(); 179 media_track_host->pipe_write_cb.Run();
177 } 180 }
178 181
179 } // namespace media 182 } // namespace media
180 } // namespace chromecast 183 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/browser/media/media_pipeline_backend_factory.h ('k') | content/renderer/media/media_interface_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698