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

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: change header order 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"
@@ -30,6 +31,11 @@
Shutdown();
}
+// static
+bool AudioManagerAndroid::RegisterAudioManager(JNIEnv* env) {
tommi (sloooow) - chröme 2013/03/11 09:57:18 try to keep methods in the source file in the same
leozwang1 2013/03/11 15:12:24 Done.
+ return RegisterNativesImpl(env);
+}
+
bool AudioManagerAndroid::HasAudioOutputDevices() {
return true;
}
@@ -60,12 +66,14 @@
AudioOutputStream* AudioManagerAndroid::MakeLinearOutputStream(
const AudioParameters& params) {
DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
+ SetAudioMode(kAudioModeNormal);
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);
}
@@ -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