summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-04-06 18:35:02 -0700
committerSteve Kondik <steve@cyngn.com>2016-04-07 15:19:57 -0700
commita4123803d0a0e9e0c69faa4207d357cc74a65d58 (patch)
tree336ade2306784822373a6a18023136090dd6d343 /include
parente13b58b988ab642d4ae5ca6d0a89013510714956 (diff)
downloadframeworks_av-a4123803d0a0e9e0c69faa4207d357cc74a65d58.zip
frameworks_av-a4123803d0a0e9e0c69faa4207d357cc74a65d58.tar.gz
frameworks_av-a4123803d0a0e9e0c69faa4207d357cc74a65d58.tar.bz2
audiopolicy: Be a little smarter with auto-attach
* The edge cases, ZOMG! * Instead of relying on effects to be automatically attached, let's just always notify userspace and send a bit more information. This lets the application decide if effects should be attached rather than relying on a hard-coded configuration file. * Perform the setup in getOutputForAttr, but do it on the command thread so we don't block the client. OPO-593 Change-Id: I3900b349f2e895d51fa3a3dcc2de0c4bdf6dbc08
Diffstat (limited to 'include')
-rw-r--r--include/media/AudioSystem.h10
-rw-r--r--include/media/IAudioPolicyServiceClient.h6
2 files changed, 11 insertions, 5 deletions
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index 35b06ba..be1d114 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -32,7 +32,9 @@ namespace android {
typedef void (*audio_error_callback)(status_t err);
typedef void (*dynamic_policy_callback)(int event, String8 regId, int val);
typedef void (*effect_session_callback)(int event,
- audio_stream_type_t stream, audio_unique_id_t sessionId, bool added);
+ audio_stream_type_t stream, audio_unique_id_t sessionId,
+ audio_output_flags_t flags, audio_channel_mask_t channelMask,
+ uid_t uid, bool added);
class IAudioFlinger;
class IAudioPolicyService;
@@ -423,8 +425,10 @@ private:
virtual void onAudioPatchListUpdate();
virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state);
virtual void onOutputSessionEffectsUpdate(audio_stream_type_t stream,
- audio_unique_id_t sessionId,
- bool added);
+ audio_session_t sessionId,
+ audio_output_flags_t flags,
+ audio_channel_mask_t channelMask,
+ uid_t uid, bool added);
private:
Mutex mLock;
diff --git a/include/media/IAudioPolicyServiceClient.h b/include/media/IAudioPolicyServiceClient.h
index 3bdeb5a..18aed8d 100644
--- a/include/media/IAudioPolicyServiceClient.h
+++ b/include/media/IAudioPolicyServiceClient.h
@@ -39,8 +39,10 @@ public:
virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state) = 0;
// Notifies when a default effect set is attached to a session/stream
virtual void onOutputSessionEffectsUpdate(audio_stream_type_t stream,
- audio_unique_id_t sessionId,
- bool added) = 0;
+ audio_session_t sessionId,
+ audio_output_flags_t flags,
+ audio_channel_mask_t channelMask,
+ uid_t uid, bool added) = 0;
};