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

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

Issue 2712883006: [Chromecast] Add new volume control API to CastMediaShlib (Closed)
Patch Set: rebase Created 3 years, 9 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
« no previous file with comments | « chromecast/media/cma/backend/multizone_backend_unittest.cc ('k') | chromecast/public/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_renderer.h" 5 #include "chromecast/media/service/cast_renderer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "chromecast/base/task_runner_impl.h" 9 #include "chromecast/base/task_runner_impl.h"
10 #include "chromecast/media/base/audio_device_ids.h" 10 #include "chromecast/media/base/audio_device_ids.h"
11 #include "chromecast/media/base/video_mode_switcher.h" 11 #include "chromecast/media/base/video_mode_switcher.h"
12 #include "chromecast/media/base/video_resolution_policy.h" 12 #include "chromecast/media/base/video_resolution_policy.h"
13 #include "chromecast/media/cdm/cast_cdm_context.h" 13 #include "chromecast/media/cdm/cast_cdm_context.h"
14 #include "chromecast/media/cma/base/balanced_media_task_runner_factory.h" 14 #include "chromecast/media/cma/base/balanced_media_task_runner_factory.h"
15 #include "chromecast/media/cma/base/cma_logging.h" 15 #include "chromecast/media/cma/base/cma_logging.h"
16 #include "chromecast/media/cma/base/demuxer_stream_adapter.h" 16 #include "chromecast/media/cma/base/demuxer_stream_adapter.h"
17 #include "chromecast/media/cma/pipeline/media_pipeline_impl.h" 17 #include "chromecast/media/cma/pipeline/media_pipeline_impl.h"
18 #include "chromecast/media/cma/pipeline/video_pipeline_client.h" 18 #include "chromecast/media/cma/pipeline/video_pipeline_client.h"
19 #include "chromecast/public/media/media_pipeline_backend.h" 19 #include "chromecast/public/media/media_pipeline_backend.h"
20 #include "chromecast/public/media/media_pipeline_device_params.h" 20 #include "chromecast/public/media/media_pipeline_device_params.h"
21 #include "chromecast/public/volume_control.h"
21 #include "media/audio/audio_device_description.h" 22 #include "media/audio/audio_device_description.h"
22 #include "media/base/audio_decoder_config.h" 23 #include "media/base/audio_decoder_config.h"
23 #include "media/base/demuxer_stream.h" 24 #include "media/base/demuxer_stream.h"
24 #include "media/base/media_log.h" 25 #include "media/base/media_log.h"
25 #include "media/base/media_resource.h" 26 #include "media/base/media_resource.h"
26 #include "media/base/renderer_client.h" 27 #include "media/base/renderer_client.h"
27 28
28 namespace chromecast { 29 namespace chromecast {
29 namespace media { 30 namespace media {
30 31
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 // TODO(erickung): crbug.com/443956. Need to provide right LoadType. 92 // TODO(erickung): crbug.com/443956. Need to provide right LoadType.
92 LoadType load_type = kLoadTypeMediaSource; 93 LoadType load_type = kLoadTypeMediaSource;
93 MediaPipelineDeviceParams::MediaSyncType sync_type = 94 MediaPipelineDeviceParams::MediaSyncType sync_type =
94 (load_type == kLoadTypeMediaStream) 95 (load_type == kLoadTypeMediaStream)
95 ? MediaPipelineDeviceParams::kModeIgnorePts 96 ? MediaPipelineDeviceParams::kModeIgnorePts
96 : MediaPipelineDeviceParams::kModeSyncPts; 97 : MediaPipelineDeviceParams::kModeSyncPts;
97 std::string device_id = audio_device_id_; 98 std::string device_id = audio_device_id_;
98 if (device_id == "") 99 if (device_id == "")
99 device_id = ::media::AudioDeviceDescription::kDefaultDeviceId; 100 device_id = ::media::AudioDeviceDescription::kDefaultDeviceId;
100 101
101 MediaPipelineDeviceParams params( 102 AudioContentType content_type;
102 sync_type, MediaPipelineDeviceParams::kAudioStreamNormal, device_id, 103 if (device_id == kAlarmAudioDeviceId) {
103 backend_task_runner_.get()); 104 content_type = AudioContentType::kAlarm;
105 } else if (audio_device_id_ == kTtsAudioDeviceId) {
106 content_type = AudioContentType::kCommunication;
107 } else {
108 content_type = AudioContentType::kMedia;
109 }
110 MediaPipelineDeviceParams params(sync_type, backend_task_runner_.get(),
111 content_type, audio_device_id_);
104 112
105 if (audio_device_id_ == kTtsAudioDeviceId || 113 if (audio_device_id_ == kTtsAudioDeviceId ||
106 audio_device_id_ == 114 audio_device_id_ ==
107 ::media::AudioDeviceDescription::kCommunicationsDeviceId) { 115 ::media::AudioDeviceDescription::kCommunicationsDeviceId) {
108 load_type = kLoadTypeCommunication; 116 load_type = kLoadTypeCommunication;
109 } 117 }
110 118
111 std::unique_ptr<MediaPipelineBackend> backend = 119 std::unique_ptr<MediaPipelineBackend> backend =
112 backend_factory_->CreateBackend(params, audio_device_id_); 120 backend_factory_->CreateBackend(params);
113 121
114 // Create pipeline. 122 // Create pipeline.
115 MediaPipelineClient pipeline_client; 123 MediaPipelineClient pipeline_client;
116 pipeline_client.error_cb = 124 pipeline_client.error_cb =
117 base::Bind(&CastRenderer::OnError, weak_factory_.GetWeakPtr()); 125 base::Bind(&CastRenderer::OnError, weak_factory_.GetWeakPtr());
118 pipeline_client.buffering_state_cb = base::Bind( 126 pipeline_client.buffering_state_cb = base::Bind(
119 &CastRenderer::OnBufferingStateChange, weak_factory_.GetWeakPtr()); 127 &CastRenderer::OnBufferingStateChange, weak_factory_.GetWeakPtr());
120 pipeline_.reset(new MediaPipelineImpl()); 128 pipeline_.reset(new MediaPipelineImpl());
121 pipeline_->SetClient(pipeline_client); 129 pipeline_->SetClient(pipeline_client);
122 pipeline_->Initialize(load_type, std::move(backend)); 130 pipeline_->Initialize(load_type, std::move(backend));
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 } 322 }
315 323
316 void CastRenderer::OnVideoOpacityChange(bool opaque) { 324 void CastRenderer::OnVideoOpacityChange(bool opaque) {
317 DCHECK(task_runner_->BelongsToCurrentThread()); 325 DCHECK(task_runner_->BelongsToCurrentThread());
318 DCHECK(opaque); 326 DCHECK(opaque);
319 client_->OnVideoOpacityChange(opaque); 327 client_->OnVideoOpacityChange(opaque);
320 } 328 }
321 329
322 } // namespace media 330 } // namespace media
323 } // namespace chromecast 331 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/media/cma/backend/multizone_backend_unittest.cc ('k') | chromecast/public/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698