summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2016-04-07 15:30:51 -0700
committerSteve Kondik <shade@chemlab.org>2016-04-08 12:50:46 -0700
commitc227786ced3d3493911c49f485d6e1c769b3e65c (patch)
tree243e731a1389db516785e89babfb34387577c2c3
parentbf30e5b1e50d33ae82ab73a691b89f5393eb6c21 (diff)
downloadandroid_packages_apps_AudioFX-c227786ced3d3493911c49f485d6e1c769b3e65c.tar.gz
android_packages_apps_AudioFX-c227786ced3d3493911c49f485d6e1c769b3e65c.tar.bz2
android_packages_apps_AudioFX-c227786ced3d3493911c49f485d6e1c769b3e65c.zip
audiofx-oss: Use new callback API
* Framework now passes output flags, channel mask, and UID. Adjust the app for this, and only perform auto-attach for deep buffer/compress offload streams which aren't mono. Change-Id: I8571ebb8db3ad87fb70d8f7571f537a4777ab175
-rw-r--r--src/org/cyanogenmod/audiofx/HeadsetService.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/org/cyanogenmod/audiofx/HeadsetService.java b/src/org/cyanogenmod/audiofx/HeadsetService.java
index af43692..b7b6155 100644
--- a/src/org/cyanogenmod/audiofx/HeadsetService.java
+++ b/src/org/cyanogenmod/audiofx/HeadsetService.java
@@ -198,8 +198,11 @@ public class HeadsetService extends Service {
private class FxSessionCallback implements AudioSystem.EffectSessionCallback {
@Override
- public void onSessionAdded(int stream, int sessionId) {
- if (stream == AudioManager.STREAM_MUSIC) {
+ public void onSessionAdded(int stream, int sessionId, int flags,
+ int channelMask, int uid) {
+ if (stream == AudioManager.STREAM_MUSIC &&
+ (flags < 0 || (flags & 0x8) > 0 || (flags & 0x10) > 0) &&
+ (channelMask < 0 || channelMask > 1)) {
if (sessionId == 0) {
return;
}
@@ -261,7 +264,7 @@ public class HeadsetService extends Service {
String action = intent.getAction();
int sessionId = intent.getIntExtra(AudioEffect.EXTRA_AUDIO_SESSION, 0);
if (action.equals(AudioEffect.ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION)) {
- mSessionCallback.onSessionAdded(AudioManager.STREAM_MUSIC, sessionId);
+ mSessionCallback.onSessionAdded(AudioManager.STREAM_MUSIC, sessionId, -1, -1, -1);
}
if (action.equals(AudioEffect.ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION)) {
mSessionCallback.onSessionRemoved(AudioManager.STREAM_MUSIC, sessionId);