OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 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/audio/cast_audio_manager.h" | 5 #include "chromecast/media/audio/cast_audio_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 // TODO(alokp): Query the preferred value from media backend. | 21 // TODO(alokp): Query the preferred value from media backend. |
22 static const int kMinimumOutputBufferSize = 512; | 22 static const int kMinimumOutputBufferSize = 512; |
23 static const int kMaximumOutputBufferSize = 8192; | 23 static const int kMaximumOutputBufferSize = 8192; |
24 static const int kDefaultOutputBufferSize = 2048; | 24 static const int kDefaultOutputBufferSize = 2048; |
25 } // namespace | 25 } // namespace |
26 | 26 |
27 namespace chromecast { | 27 namespace chromecast { |
28 namespace media { | 28 namespace media { |
29 | 29 |
30 CastAudioManager::CastAudioManager( | 30 CastAudioManager::CastAudioManager( |
31 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 31 std::unique_ptr<::media::AudioThread> audio_thread, |
32 scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner, | |
33 ::media::AudioLogFactory* audio_log_factory, | 32 ::media::AudioLogFactory* audio_log_factory, |
34 MediaPipelineBackendManager* backend_manager) | 33 MediaPipelineBackendManager* backend_manager) |
35 : CastAudioManager(task_runner, | 34 : CastAudioManager(std::move(audio_thread), |
36 worker_task_runner, | |
37 audio_log_factory, | 35 audio_log_factory, |
38 backend_manager, | 36 backend_manager, |
39 new CastAudioMixer( | 37 new CastAudioMixer( |
40 base::Bind(&CastAudioManager::MakeMixerOutputStream, | 38 base::Bind(&CastAudioManager::MakeMixerOutputStream, |
41 base::Unretained(this)))) {} | 39 base::Unretained(this)))) {} |
42 | 40 |
43 CastAudioManager::CastAudioManager( | 41 CastAudioManager::CastAudioManager( |
44 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 42 std::unique_ptr<::media::AudioThread> audio_thread, |
45 scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner, | |
46 ::media::AudioLogFactory* audio_log_factory, | 43 ::media::AudioLogFactory* audio_log_factory, |
47 MediaPipelineBackendManager* backend_manager, | 44 MediaPipelineBackendManager* backend_manager, |
48 CastAudioMixer* audio_mixer) | 45 CastAudioMixer* audio_mixer) |
49 : AudioManagerBase(std::move(task_runner), | 46 : AudioManagerBase(std::move(audio_thread), audio_log_factory), |
50 std::move(worker_task_runner), | |
51 audio_log_factory), | |
52 backend_manager_(backend_manager), | 47 backend_manager_(backend_manager), |
53 mixer_(audio_mixer) {} | 48 mixer_(audio_mixer) {} |
54 | 49 |
55 CastAudioManager::~CastAudioManager() { | 50 CastAudioManager::~CastAudioManager() = default; |
56 Shutdown(); | |
57 } | |
58 | 51 |
59 bool CastAudioManager::HasAudioOutputDevices() { | 52 bool CastAudioManager::HasAudioOutputDevices() { |
60 return true; | 53 return true; |
61 } | 54 } |
62 | 55 |
63 bool CastAudioManager::HasAudioInputDevices() { | 56 bool CastAudioManager::HasAudioInputDevices() { |
64 return false; | 57 return false; |
65 } | 58 } |
66 | 59 |
67 void CastAudioManager::ShowAudioInputSettings() { | 60 void CastAudioManager::ShowAudioInputSettings() { |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 DCHECK(!mixer_output_stream_); // Only allow 1 |mixer_output_stream_|. | 172 DCHECK(!mixer_output_stream_); // Only allow 1 |mixer_output_stream_|. |
180 | 173 |
181 // Keep a reference to this stream for proper behavior on | 174 // Keep a reference to this stream for proper behavior on |
182 // CastAudioManager::ReleaseOutputStream. | 175 // CastAudioManager::ReleaseOutputStream. |
183 mixer_output_stream_.reset(new CastAudioOutputStream(params, this)); | 176 mixer_output_stream_.reset(new CastAudioOutputStream(params, this)); |
184 return mixer_output_stream_.get(); | 177 return mixer_output_stream_.get(); |
185 } | 178 } |
186 | 179 |
187 } // namespace media | 180 } // namespace media |
188 } // namespace chromecast | 181 } // namespace chromecast |
OLD | NEW |