diff options
| author | Jean-Michel Trivi <jmtrivi@google.com> | 2015-04-30 16:43:17 +0000 | 
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-30 16:43:21 +0000 | 
| commit | d641af3e9faf6c053ccbeea1bc20790021e57a11 (patch) | |
| tree | f2c1fa01f2321024396ac4bda949d74965a547f9 /include | |
| parent | d707ac5a0494398cb1306ead0ba587034f610f30 (diff) | |
| parent | f613d42b12389335b2ecf06df18d0d095d6bfd44 (diff) | |
| download | frameworks_av-d641af3e9faf6c053ccbeea1bc20790021e57a11.zip frameworks_av-d641af3e9faf6c053ccbeea1bc20790021e57a11.tar.gz frameworks_av-d641af3e9faf6c053ccbeea1bc20790021e57a11.tar.bz2  | |
Merge "AudioSystem callback for dynamic policy mix activity" into mnc-dev
Diffstat (limited to 'include')
| -rw-r--r-- | include/media/AudioPolicy.h | 19 | ||||
| -rw-r--r-- | include/media/AudioSystem.h | 3 | 
2 files changed, 16 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 diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h index a454481..debfd35 100644 --- a/include/media/AudioSystem.h +++ b/include/media/AudioSystem.h @@ -29,6 +29,7 @@  namespace android {  typedef void (*audio_error_callback)(status_t err); +typedef void (*dynamic_policy_callback)(int event, String8 regId, int val);  class IAudioFlinger;  class IAudioPolicyService; @@ -89,6 +90,7 @@ public:      static String8  getParameters(const String8& keys);      static void setErrorCallback(audio_error_callback cb); +    static void setDynPolicyCallback(dynamic_policy_callback cb);      // helper function to obtain AudioFlinger service handle      static const sp<IAudioFlinger> get_audio_flinger(); @@ -409,6 +411,7 @@ private:      static Mutex gLockAPS;   // protects gAudioPolicyService and gAudioPolicyServiceClient      static sp<IAudioFlinger> gAudioFlinger;      static audio_error_callback gAudioErrorCallback; +    static dynamic_policy_callback gDynPolicyCallback;      static size_t gInBuffSize;      // previous parameters for recording buffer size queries  | 
