diff options
author | Steve Kondik <shade@chemlab.org> | 2016-04-07 15:30:51 -0700 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2016-04-08 12:50:46 -0700 |
commit | c227786ced3d3493911c49f485d6e1c769b3e65c (patch) | |
tree | 243e731a1389db516785e89babfb34387577c2c3 | |
parent | bf30e5b1e50d33ae82ab73a691b89f5393eb6c21 (diff) | |
download | android_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.java | 9 |
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); |