| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "media/audio/android/audio_manager_android.h" | 5 #include "media/audio/android/audio_manager_android.h" |
| 6 | 6 |
| 7 #include "base/android/build_info.h" | 7 #include "base/android/build_info.h" |
| 8 #include "base/android/context_utils.h" | 8 #include "base/android/context_utils.h" |
| 9 #include "base/android/jni_array.h" | 9 #include "base/android/jni_array.h" |
| 10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 DCHECK(device_names->empty()); | 37 DCHECK(device_names->empty()); |
| 38 device_names->push_front(AudioDeviceName::CreateDefault()); | 38 device_names->push_front(AudioDeviceName::CreateDefault()); |
| 39 } | 39 } |
| 40 | 40 |
| 41 // Maximum number of output streams that can be open simultaneously. | 41 // Maximum number of output streams that can be open simultaneously. |
| 42 const int kMaxOutputStreams = 10; | 42 const int kMaxOutputStreams = 10; |
| 43 | 43 |
| 44 const int kDefaultInputBufferSize = 1024; | 44 const int kDefaultInputBufferSize = 1024; |
| 45 const int kDefaultOutputBufferSize = 2048; | 45 const int kDefaultOutputBufferSize = 2048; |
| 46 | 46 |
| 47 const char kAudioManagerName[] = "Android"; |
| 48 |
| 47 } // namespace | 49 } // namespace |
| 48 | 50 |
| 49 ScopedAudioManagerPtr CreateAudioManager( | 51 ScopedAudioManagerPtr CreateAudioManager( |
| 50 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 52 scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
| 51 scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner, | 53 scoped_refptr<base::SingleThreadTaskRunner> worker_task_runner, |
| 52 AudioLogFactory* audio_log_factory) { | 54 AudioLogFactory* audio_log_factory) { |
| 53 return ScopedAudioManagerPtr(new AudioManagerAndroid( | 55 return ScopedAudioManagerPtr(new AudioManagerAndroid( |
| 54 std::move(task_runner), std::move(worker_task_runner), | 56 std::move(task_runner), std::move(worker_task_runner), |
| 55 audio_log_factory)); | 57 audio_log_factory)); |
| 56 } | 58 } |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 int user_buffer_size = GetUserBufferSize(); | 156 int user_buffer_size = GetUserBufferSize(); |
| 155 if (user_buffer_size) | 157 if (user_buffer_size) |
| 156 buffer_size = user_buffer_size; | 158 buffer_size = user_buffer_size; |
| 157 | 159 |
| 158 AudioParameters params(AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, | 160 AudioParameters params(AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, |
| 159 GetNativeOutputSampleRate(), 16, buffer_size); | 161 GetNativeOutputSampleRate(), 16, buffer_size); |
| 160 params.set_effects(effects); | 162 params.set_effects(effects); |
| 161 return params; | 163 return params; |
| 162 } | 164 } |
| 163 | 165 |
| 166 const char* AudioManagerAndroid::GetName() { |
| 167 return kAudioManagerName; |
| 168 } |
| 169 |
| 164 AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream( | 170 AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream( |
| 165 const AudioParameters& params, | 171 const AudioParameters& params, |
| 166 const std::string& device_id, | 172 const std::string& device_id, |
| 167 const LogCallback& log_callback) { | 173 const LogCallback& log_callback) { |
| 168 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); | 174 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); |
| 169 AudioOutputStream* stream = AudioManagerBase::MakeAudioOutputStream( | 175 AudioOutputStream* stream = AudioManagerBase::MakeAudioOutputStream( |
| 170 params, std::string(), AudioManager::LogCallback()); | 176 params, std::string(), AudioManager::LogCallback()); |
| 171 if (stream) | 177 if (stream) |
| 172 streams_.insert(static_cast<OpenSLESOutputStream*>(stream)); | 178 streams_.insert(static_cast<OpenSLESOutputStream*>(stream)); |
| 173 return stream; | 179 return stream; |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 420 output_volume_override_ = volume; | 426 output_volume_override_ = volume; |
| 421 | 427 |
| 422 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); | 428 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); |
| 423 for (OutputStreams::iterator it = streams_.begin(); | 429 for (OutputStreams::iterator it = streams_.begin(); |
| 424 it != streams_.end(); ++it) { | 430 it != streams_.end(); ++it) { |
| 425 (*it)->SetVolume(volume); | 431 (*it)->SetVolume(volume); |
| 426 } | 432 } |
| 427 } | 433 } |
| 428 | 434 |
| 429 } // namespace media | 435 } // namespace media |
| OLD | NEW |