Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfdd5242 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Android (Google) Code Review
Browse files

Merge "AudioPolicyManager: notification of dynamic policy mix activity"

parents 5e1c0070 de80105c
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -38,9 +38,15 @@ namespace android {
#define MIX_TYPE_PLAYERS 0
#define MIX_TYPE_RECORDERS 1

#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 MAX_MIXES_PER_POLICY 10
#define MAX_CRITERIA_PER_MIX 20

@@ -63,9 +69,9 @@ class AudioMix {
public:
    AudioMix() {}
    AudioMix(Vector<AttributeMatchCriterion> criteria, uint32_t mixType, audio_config_t format,
             uint32_t routeFlags, String8 registrationId) :
             uint32_t routeFlags, String8 registrationId, uint32_t flags) :
        mCriteria(criteria), mMixType(mixType), mFormat(format),
        mRouteFlags(routeFlags), mRegistrationId(registrationId) {}
        mRouteFlags(routeFlags), mRegistrationId(registrationId), mFlags(flags){}

    status_t readFromParcel(Parcel *parcel);
    status_t writeToParcel(Parcel *parcel) const;
@@ -75,6 +81,7 @@ public:
    audio_config_t  mFormat;
    uint32_t        mRouteFlags;
    String8         mRegistrationId;
    uint32_t        mFlags;
};

}; // namespace android
+1 −0
Original line number Diff line number Diff line
@@ -384,6 +384,7 @@ private:
        // IAudioPolicyServiceClient
        virtual void onAudioPortListUpdate();
        virtual void onAudioPatchListUpdate();
        virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state);

    private:
        Mutex                               mLock;
+2 −0
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ public:
    virtual void onAudioPortListUpdate() = 0;
    // Notifies a change of audio patch configuration.
    virtual void onAudioPatchListUpdate() = 0;
    // Notifies a change in the mixing state of a specific mix in a dynamic audio policy
    virtual void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state) = 0;
};


+2 −0
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ status_t AudioMix::readFromParcel(Parcel *parcel)
    mFormat.format = (audio_format_t)parcel->readInt32();
    mRouteFlags = parcel->readInt32();
    mRegistrationId = parcel->readString8();
    mFlags = (uint32_t)parcel->readInt32();
    size_t size = (size_t)parcel->readInt32();
    if (size > MAX_CRITERIA_PER_MIX) {
        size = MAX_CRITERIA_PER_MIX;
@@ -89,6 +90,7 @@ status_t AudioMix::writeToParcel(Parcel *parcel) const
    parcel->writeInt32(mFormat.format);
    parcel->writeInt32(mRouteFlags);
    parcel->writeString8(mRegistrationId);
    parcel->writeInt32(mFlags);
    size_t size = mCriteria.size();
    if (size > MAX_CRITERIA_PER_MIX) {
        size = MAX_CRITERIA_PER_MIX;
+6 −0
Original line number Diff line number Diff line
@@ -1033,6 +1033,12 @@ void AudioSystem::AudioPolicyServiceClient::onAudioPatchListUpdate()
    }
}

void AudioSystem::AudioPolicyServiceClient::onDynamicPolicyMixStateUpdate(
        String8 regId, int32_t state)
{
    ALOGV("TODO propagate onDynamicPolicyMixStateUpdate(%s, %d)", regId.string(), state);
}

void AudioSystem::AudioPolicyServiceClient::binderDied(const wp<IBinder>& who __unused)
{
    {
Loading