OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |