summaryrefslogtreecommitdiffstats
path: root/include/media/AudioPolicy.h
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2015-04-23 18:41:29 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2015-04-29 17:54:12 -0700
commitf613d42b12389335b2ecf06df18d0d095d6bfd44 (patch)
treeb36177007932b781d9db2bb973cb2feaab3cde13 /include/media/AudioPolicy.h
parentdae24729d0b3ced8c4a7d7f9b631e852f564db4f (diff)
downloadframeworks_av-f613d42b12389335b2ecf06df18d0d095d6bfd44.zip
frameworks_av-f613d42b12389335b2ecf06df18d0d095d6bfd44.tar.gz
frameworks_av-f613d42b12389335b2ecf06df18d0d095d6bfd44.tar.bz2
AudioSystem callback for dynamic policy mix activity
Add method to AudioPolicyServiceClient for dynamic policy mix activity notification. Propagate notification to a dedicated callback. Bug 20226914 Change-Id: I37928ed38e15ea2b8fed022cccadeca8c4d6c876
Diffstat (limited to 'include/media/AudioPolicy.h')
-rw-r--r--include/media/AudioPolicy.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/include/media/AudioPolicy.h b/include/media/AudioPolicy.h
index 800b27b..feed402 100644
--- a/include/media/AudioPolicy.h
+++ b/include/media/AudioPolicy.h
@@ -38,14 +38,17 @@ namespace android {
#define MIX_TYPE_PLAYERS 0
#define MIX_TYPE_RECORDERS 1
+// definition of the different events that can be reported on a dynamic policy from
+// AudioSystem's implementation of the AudioPolicyClient interface
+// keep in sync with AudioSystem.java
+#define DYNAMIC_POLICY_EVENT_MIX_STATE_UPDATE 0
+
#define MIX_STATE_DISABLED -1
#define MIX_STATE_IDLE 0
#define MIX_STATE_MIXING 1
-#define ROUTE_FLAG_RENDER 0x1
-#define ROUTE_FLAG_LOOP_BACK (0x1 << 1)
-
-#define MIX_FLAG_NOTIFY_ACTIVITY 0x1
+#define MIX_ROUTE_FLAG_RENDER 0x1
+#define MIX_ROUTE_FLAG_LOOP_BACK (0x1 << 1)
#define MAX_MIXES_PER_POLICY 10
#define MAX_CRITERIA_PER_MIX 20
@@ -67,11 +70,15 @@ public:
class AudioMix {
public:
+ // flag on an AudioMix indicating the activity on this mix (IDLE, MIXING)
+ // must be reported through the AudioPolicyClient interface
+ static const uint32_t kCbFlagNotifyActivity = 0x1;
+
AudioMix() {}
AudioMix(Vector<AttributeMatchCriterion> criteria, uint32_t mixType, audio_config_t format,
uint32_t routeFlags, String8 registrationId, uint32_t flags) :
mCriteria(criteria), mMixType(mixType), mFormat(format),
- mRouteFlags(routeFlags), mRegistrationId(registrationId), mFlags(flags){}
+ mRouteFlags(routeFlags), mRegistrationId(registrationId), mCbFlags(flags){}
status_t readFromParcel(Parcel *parcel);
status_t writeToParcel(Parcel *parcel) const;
@@ -81,7 +88,7 @@ public:
audio_config_t mFormat;
uint32_t mRouteFlags;
String8 mRegistrationId;
- uint32_t mFlags;
+ uint32_t mCbFlags; // flags indicating which callbacks to use, see kCbFlag*
};
}; // namespace android