Chromium Code Reviews| Index: media/audio/android/audio_manager_android.cc |
| =================================================================== |
| --- media/audio/android/audio_manager_android.cc (revision 187192) |
| +++ media/audio/android/audio_manager_android.cc (working copy) |
| @@ -5,6 +5,7 @@ |
| #include "media/audio/android/audio_manager_android.h" |
| #include "base/logging.h" |
| +#include "jni/AudioManagerAndroid_jni.h" |
| #include "media/audio/android/opensles_input.h" |
| #include "media/audio/android/opensles_output.h" |
| #include "media/audio/audio_manager.h" |
| @@ -60,12 +61,14 @@ |
| AudioOutputStream* AudioManagerAndroid::MakeLinearOutputStream( |
| const AudioParameters& params) { |
| DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); |
| + SetAudioMode(kAudioModeNormal); |
|
no longer working on chromium
2013/03/11 16:07:54
could you please explain why MakeLinearOutputStrea
|
| return new OpenSLESOutputStream(this, params); |
| } |
| AudioOutputStream* AudioManagerAndroid::MakeLowLatencyOutputStream( |
| const AudioParameters& params) { |
| DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); |
| + SetAudioMode(kAudioModeInCommunication); |
| return new OpenSLESOutputStream(this, params); |
| } |
| @@ -81,6 +84,11 @@ |
| return new OpenSLESInputStream(this, params); |
| } |
| +// static |
| +bool AudioManagerAndroid::RegisterAudioManager(JNIEnv* env) { |
| + return RegisterNativesImpl(env); |
| +} |
| + |
| AudioParameters AudioManagerAndroid::GetPreferredOutputStreamParameters( |
| const AudioParameters& input_params) { |
| // TODO(xians): figure out the right output sample rate and sample rate to |
| @@ -116,4 +124,13 @@ |
| sample_rate, bits_per_sample, buffer_size); |
| } |
| +void AudioManagerAndroid::SetAudioMode(int mode) { |
| + JNIEnv* env = base::android::AttachCurrentThread(); |
| + DCHECK(env); |
| + jobject context = base::android::GetApplicationContext(); |
| + DCHECK(context); |
| + |
| + Java_AudioManagerAndroid_setMode(env, context, mode); |
| +} |
| + |
| } // namespace media |