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

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

Issue 2786493004: [Chromecast] Fix bug when audio device ID is empty string. (Closed)
Patch Set: 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
« no previous file with comments | « chromecast/media/service/cast_renderer.h ('k') | no next file » | 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"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 CastRenderer::CastRenderer( 56 CastRenderer::CastRenderer(
57 MediaPipelineBackendFactory* backend_factory, 57 MediaPipelineBackendFactory* backend_factory,
58 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, 58 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
59 const std::string& audio_device_id, 59 const std::string& audio_device_id,
60 VideoModeSwitcher* video_mode_switcher, 60 VideoModeSwitcher* video_mode_switcher,
61 VideoResolutionPolicy* video_resolution_policy, 61 VideoResolutionPolicy* video_resolution_policy,
62 MediaResourceTracker* media_resource_tracker) 62 MediaResourceTracker* media_resource_tracker)
63 : backend_factory_(backend_factory), 63 : backend_factory_(backend_factory),
64 task_runner_(task_runner), 64 task_runner_(task_runner),
65 audio_device_id_(audio_device_id), 65 audio_device_id_(audio_device_id.empty()
66 ? ::media::AudioDeviceDescription::kDefaultDeviceId
67 : audio_device_id),
66 video_mode_switcher_(video_mode_switcher), 68 video_mode_switcher_(video_mode_switcher),
67 video_resolution_policy_(video_resolution_policy), 69 video_resolution_policy_(video_resolution_policy),
68 media_resource_tracker_(media_resource_tracker), 70 media_resource_tracker_(media_resource_tracker),
69 client_(nullptr), 71 client_(nullptr),
70 cast_cdm_context_(nullptr), 72 cast_cdm_context_(nullptr),
71 media_task_runner_factory_( 73 media_task_runner_factory_(
72 new BalancedMediaTaskRunnerFactory(kMaxDeltaFetcher)), 74 new BalancedMediaTaskRunnerFactory(kMaxDeltaFetcher)),
73 weak_factory_(this) { 75 weak_factory_(this) {
74 DCHECK(backend_factory_); 76 DCHECK(backend_factory_);
75 CMALOG(kLogControl) << __FUNCTION__ << ": " << this; 77 CMALOG(kLogControl) << __FUNCTION__ << ": " << this;
(...skipping 19 matching lines...) Expand all
95 // Create pipeline backend. 97 // Create pipeline backend.
96 media_resource_usage_.reset( 98 media_resource_usage_.reset(
97 new MediaResourceTracker::ScopedUsage(media_resource_tracker_)); 99 new MediaResourceTracker::ScopedUsage(media_resource_tracker_));
98 backend_task_runner_.reset(new TaskRunnerImpl()); 100 backend_task_runner_.reset(new TaskRunnerImpl());
99 // TODO(erickung): crbug.com/443956. Need to provide right LoadType. 101 // TODO(erickung): crbug.com/443956. Need to provide right LoadType.
100 LoadType load_type = kLoadTypeMediaSource; 102 LoadType load_type = kLoadTypeMediaSource;
101 MediaPipelineDeviceParams::MediaSyncType sync_type = 103 MediaPipelineDeviceParams::MediaSyncType sync_type =
102 (load_type == kLoadTypeMediaStream) 104 (load_type == kLoadTypeMediaStream)
103 ? MediaPipelineDeviceParams::kModeIgnorePts 105 ? MediaPipelineDeviceParams::kModeIgnorePts
104 : MediaPipelineDeviceParams::kModeSyncPts; 106 : MediaPipelineDeviceParams::kModeSyncPts;
105 std::string device_id = audio_device_id_;
106 if (device_id == "")
107 device_id = ::media::AudioDeviceDescription::kDefaultDeviceId;
108 107
109 AudioContentType content_type; 108 AudioContentType content_type;
110 if (device_id == kAlarmAudioDeviceId) { 109 if (audio_device_id_ == kAlarmAudioDeviceId) {
111 content_type = AudioContentType::kAlarm; 110 content_type = AudioContentType::kAlarm;
112 } else if (audio_device_id_ == kTtsAudioDeviceId) { 111 } else if (audio_device_id_ == kTtsAudioDeviceId) {
113 content_type = AudioContentType::kCommunication; 112 content_type = AudioContentType::kCommunication;
114 } else { 113 } else {
115 content_type = AudioContentType::kMedia; 114 content_type = AudioContentType::kMedia;
116 } 115 }
117 MediaPipelineDeviceParams params(sync_type, backend_task_runner_.get(), 116 MediaPipelineDeviceParams params(sync_type, backend_task_runner_.get(),
118 content_type, audio_device_id_); 117 content_type, audio_device_id_);
119 118
120 if (audio_device_id_ == kTtsAudioDeviceId || 119 if (audio_device_id_ == kTtsAudioDeviceId ||
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 } 348 }
350 349
351 void CastRenderer::OnVideoOpacityChange(bool opaque) { 350 void CastRenderer::OnVideoOpacityChange(bool opaque) {
352 DCHECK(task_runner_->BelongsToCurrentThread()); 351 DCHECK(task_runner_->BelongsToCurrentThread());
353 DCHECK(opaque); 352 DCHECK(opaque);
354 client_->OnVideoOpacityChange(opaque); 353 client_->OnVideoOpacityChange(opaque);
355 } 354 }
356 355
357 } // namespace media 356 } // namespace media
358 } // namespace chromecast 357 } // namespace chromecast
OLDNEW
« no previous file with comments | « chromecast/media/service/cast_renderer.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698