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

Unified Diff: media/audio/android/audio_manager_android.cc

Issue 12571006: Add MODIFY_AUDIO_SETTINGS permission in Android manifest and implementation in audio manager. (Closed) Base URL: https://src.chromium.org/svn/trunk/src/
Patch Set: address some Tommi's comments Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698