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

Side by Side Diff: media/audio/android/audio_manager_android.cc

Issue 163343002: Reland 153623004: Remove the unified IO code on the browser (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: fixed the cras bot Created 6 years, 10 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 | « media/audio/android/audio_manager_android.h ('k') | media/audio/audio_logging.h » ('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 (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/jni_array.h" 8 #include "base/android/jni_array.h"
9 #include "base/android/jni_string.h" 9 #include "base/android/jni_string.h"
10 #include "base/android/scoped_java_ref.h" 10 #include "base/android/scoped_java_ref.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 AudioParameters::ECHO_CANCELLER : AudioParameters::NO_EFFECTS; 115 AudioParameters::ECHO_CANCELLER : AudioParameters::NO_EFFECTS;
116 AudioParameters params( 116 AudioParameters params(
117 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, 0, 117 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, 0,
118 GetNativeOutputSampleRate(), 16, 118 GetNativeOutputSampleRate(), 16,
119 buffer_size <= 0 ? kDefaultInputBufferSize : buffer_size, effects); 119 buffer_size <= 0 ? kDefaultInputBufferSize : buffer_size, effects);
120 return params; 120 return params;
121 } 121 }
122 122
123 AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream( 123 AudioOutputStream* AudioManagerAndroid::MakeAudioOutputStream(
124 const AudioParameters& params, 124 const AudioParameters& params,
125 const std::string& device_id, 125 const std::string& device_id) {
126 const std::string& input_device_id) {
127 bool had_no_streams = HadNoAudioStreams(); 126 bool had_no_streams = HadNoAudioStreams();
128 AudioOutputStream* stream = 127 AudioOutputStream* stream =
129 AudioManagerBase::MakeAudioOutputStream(params, std::string(), 128 AudioManagerBase::MakeAudioOutputStream(params, std::string());
130 std::string());
131 129
132 // The audio manager for Android creates streams intended for real-time 130 // The audio manager for Android creates streams intended for real-time
133 // VoIP sessions and therefore sets the audio mode to MODE_IN_COMMUNICATION. 131 // VoIP sessions and therefore sets the audio mode to MODE_IN_COMMUNICATION.
134 // If a Bluetooth headset is used, the audio stream will use the SCO 132 // If a Bluetooth headset is used, the audio stream will use the SCO
135 // channel and therefore have a limited bandwidth (8-16kHz). 133 // channel and therefore have a limited bandwidth (8-16kHz).
136 if (stream && had_no_streams) 134 if (stream && had_no_streams)
137 SetCommunicationAudioModeOn(true); 135 SetCommunicationAudioModeOn(true);
138 136
139 { 137 {
140 base::AutoLock lock(streams_lock_); 138 base::AutoLock lock(streams_lock_);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 } 178 }
181 179
182 AudioOutputStream* AudioManagerAndroid::MakeLinearOutputStream( 180 AudioOutputStream* AudioManagerAndroid::MakeLinearOutputStream(
183 const AudioParameters& params) { 181 const AudioParameters& params) {
184 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); 182 DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
185 return new OpenSLESOutputStream(this, params); 183 return new OpenSLESOutputStream(this, params);
186 } 184 }
187 185
188 AudioOutputStream* AudioManagerAndroid::MakeLowLatencyOutputStream( 186 AudioOutputStream* AudioManagerAndroid::MakeLowLatencyOutputStream(
189 const AudioParameters& params, 187 const AudioParameters& params,
190 const std::string& device_id, 188 const std::string& device_id) {
191 const std::string& input_device_id) {
192 DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; 189 DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!";
193 DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); 190 DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
194 return new OpenSLESOutputStream(this, params); 191 return new OpenSLESOutputStream(this, params);
195 } 192 }
196 193
197 AudioInputStream* AudioManagerAndroid::MakeLinearInputStream( 194 AudioInputStream* AudioManagerAndroid::MakeLinearInputStream(
198 const AudioParameters& params, const std::string& device_id) { 195 const AudioParameters& params, const std::string& device_id) {
199 // TODO(henrika): add support for device selection if/when any client 196 // TODO(henrika): add support for device selection if/when any client
200 // needs it. 197 // needs it.
201 DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; 198 DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!";
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 j_audio_manager_.obj()); 340 j_audio_manager_.obj());
344 } 341 }
345 342
346 int AudioManagerAndroid::GetAudioLowLatencyOutputFrameSize() { 343 int AudioManagerAndroid::GetAudioLowLatencyOutputFrameSize() {
347 return Java_AudioManagerAndroid_getAudioLowLatencyOutputFrameSize( 344 return Java_AudioManagerAndroid_getAudioLowLatencyOutputFrameSize(
348 base::android::AttachCurrentThread(), 345 base::android::AttachCurrentThread(),
349 j_audio_manager_.obj()); 346 j_audio_manager_.obj());
350 } 347 }
351 348
352 } // namespace media 349 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/android/audio_manager_android.h ('k') | media/audio/audio_logging.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698