Loading include/media/AudioPolicy.h +4 −2 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ namespace android { #define MIX_ROUTE_FLAG_RENDER 0x1 #define MIX_ROUTE_FLAG_LOOP_BACK (0x1 << 1) #define MIX_ROUTE_FLAG_ALL (MIX_ROUTE_FLAG_RENDER | MIX_ROUTE_FLAG_LOOP_BACK) #define MAX_MIXES_PER_POLICY 10 #define MAX_CRITERIA_PER_MIX 20 Loading Loading @@ -81,7 +82,7 @@ public: AudioMix(Vector<AudioMixMatchCriterion> 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), mCbFlags(flags){} mRouteFlags(routeFlags), mDeviceAddress(registrationId), mCbFlags(flags){} status_t readFromParcel(Parcel *parcel); status_t writeToParcel(Parcel *parcel) const; Loading @@ -90,7 +91,8 @@ public: uint32_t mMixType; audio_config_t mFormat; uint32_t mRouteFlags; String8 mRegistrationId; audio_devices_t mDeviceType; String8 mDeviceAddress; uint32_t mCbFlags; // flags indicating which callbacks to use, see kCbFlag* }; Loading media/libmedia/AudioPolicy.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -67,7 +67,8 @@ status_t AudioMix::readFromParcel(Parcel *parcel) mFormat.channel_mask = (audio_channel_mask_t)parcel->readInt32(); mFormat.format = (audio_format_t)parcel->readInt32(); mRouteFlags = parcel->readInt32(); mRegistrationId = parcel->readString8(); mDeviceType = (audio_devices_t) parcel->readInt32(); mDeviceAddress = parcel->readString8(); mCbFlags = (uint32_t)parcel->readInt32(); size_t size = (size_t)parcel->readInt32(); if (size > MAX_CRITERIA_PER_MIX) { Loading @@ -89,7 +90,8 @@ status_t AudioMix::writeToParcel(Parcel *parcel) const parcel->writeInt32(mFormat.channel_mask); parcel->writeInt32(mFormat.format); parcel->writeInt32(mRouteFlags); parcel->writeString8(mRegistrationId); parcel->writeInt32(mDeviceType); parcel->writeString8(mDeviceAddress); parcel->writeInt32(mCbFlags); size_t size = mCriteria.size(); if (size > MAX_CRITERIA_PER_MIX) { Loading services/audiopolicy/common/include/policy.h +2 −2 Original line number Diff line number Diff line Loading @@ -42,9 +42,9 @@ static const audio_format_t gDynamicFormat = AUDIO_FORMAT_DEFAULT; * A device mask for all audio input and output devices where matching inputs/outputs on device * type alone is not enough: the address must match too */ #define APM_AUDIO_DEVICE_OUT_MATCH_ADDRESS_ALL (AUDIO_DEVICE_OUT_REMOTE_SUBMIX) #define APM_AUDIO_DEVICE_OUT_MATCH_ADDRESS_ALL (AUDIO_DEVICE_OUT_REMOTE_SUBMIX|AUDIO_DEVICE_OUT_BUS) #define APM_AUDIO_DEVICE_IN_MATCH_ADDRESS_ALL (AUDIO_DEVICE_IN_REMOTE_SUBMIX) #define APM_AUDIO_DEVICE_IN_MATCH_ADDRESS_ALL (AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_BUS) /** * Check if the state given correspond to an in call state. Loading services/audiopolicy/common/managerdefinitions/include/AudioPolicyMix.h +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ class AudioPolicyMixCollection : public DefaultKeyedVector<String8, sp<AudioPoli public: status_t getAudioPolicyMix(String8 address, sp<AudioPolicyMix> &policyMix) const; status_t registerMix(String8 address, AudioMix mix); status_t registerMix(String8 address, AudioMix mix, sp<SwAudioOutputDescriptor> desc); status_t unregisterMix(String8 address); Loading services/audiopolicy/common/managerdefinitions/src/AudioOutputDescriptor.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -315,14 +315,14 @@ void SwAudioOutputDescriptor::changeRefCount(audio_stream_type_t stream, if ((oldGlobalRefCount == 0) && (mGlobalRefCount > 0)) { if ((mPolicyMix != NULL) && ((mPolicyMix->mCbFlags & AudioMix::kCbFlagNotifyActivity) != 0)) { mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mRegistrationId, mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mDeviceAddress, MIX_STATE_MIXING); } } else if ((oldGlobalRefCount > 0) && (mGlobalRefCount == 0)) { if ((mPolicyMix != NULL) && ((mPolicyMix->mCbFlags & AudioMix::kCbFlagNotifyActivity) != 0)) { mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mRegistrationId, mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mDeviceAddress, MIX_STATE_IDLE); } } Loading Loading
include/media/AudioPolicy.h +4 −2 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ namespace android { #define MIX_ROUTE_FLAG_RENDER 0x1 #define MIX_ROUTE_FLAG_LOOP_BACK (0x1 << 1) #define MIX_ROUTE_FLAG_ALL (MIX_ROUTE_FLAG_RENDER | MIX_ROUTE_FLAG_LOOP_BACK) #define MAX_MIXES_PER_POLICY 10 #define MAX_CRITERIA_PER_MIX 20 Loading Loading @@ -81,7 +82,7 @@ public: AudioMix(Vector<AudioMixMatchCriterion> 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), mCbFlags(flags){} mRouteFlags(routeFlags), mDeviceAddress(registrationId), mCbFlags(flags){} status_t readFromParcel(Parcel *parcel); status_t writeToParcel(Parcel *parcel) const; Loading @@ -90,7 +91,8 @@ public: uint32_t mMixType; audio_config_t mFormat; uint32_t mRouteFlags; String8 mRegistrationId; audio_devices_t mDeviceType; String8 mDeviceAddress; uint32_t mCbFlags; // flags indicating which callbacks to use, see kCbFlag* }; Loading
media/libmedia/AudioPolicy.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -67,7 +67,8 @@ status_t AudioMix::readFromParcel(Parcel *parcel) mFormat.channel_mask = (audio_channel_mask_t)parcel->readInt32(); mFormat.format = (audio_format_t)parcel->readInt32(); mRouteFlags = parcel->readInt32(); mRegistrationId = parcel->readString8(); mDeviceType = (audio_devices_t) parcel->readInt32(); mDeviceAddress = parcel->readString8(); mCbFlags = (uint32_t)parcel->readInt32(); size_t size = (size_t)parcel->readInt32(); if (size > MAX_CRITERIA_PER_MIX) { Loading @@ -89,7 +90,8 @@ status_t AudioMix::writeToParcel(Parcel *parcel) const parcel->writeInt32(mFormat.channel_mask); parcel->writeInt32(mFormat.format); parcel->writeInt32(mRouteFlags); parcel->writeString8(mRegistrationId); parcel->writeInt32(mDeviceType); parcel->writeString8(mDeviceAddress); parcel->writeInt32(mCbFlags); size_t size = mCriteria.size(); if (size > MAX_CRITERIA_PER_MIX) { Loading
services/audiopolicy/common/include/policy.h +2 −2 Original line number Diff line number Diff line Loading @@ -42,9 +42,9 @@ static const audio_format_t gDynamicFormat = AUDIO_FORMAT_DEFAULT; * A device mask for all audio input and output devices where matching inputs/outputs on device * type alone is not enough: the address must match too */ #define APM_AUDIO_DEVICE_OUT_MATCH_ADDRESS_ALL (AUDIO_DEVICE_OUT_REMOTE_SUBMIX) #define APM_AUDIO_DEVICE_OUT_MATCH_ADDRESS_ALL (AUDIO_DEVICE_OUT_REMOTE_SUBMIX|AUDIO_DEVICE_OUT_BUS) #define APM_AUDIO_DEVICE_IN_MATCH_ADDRESS_ALL (AUDIO_DEVICE_IN_REMOTE_SUBMIX) #define APM_AUDIO_DEVICE_IN_MATCH_ADDRESS_ALL (AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_BUS) /** * Check if the state given correspond to an in call state. Loading
services/audiopolicy/common/managerdefinitions/include/AudioPolicyMix.h +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ class AudioPolicyMixCollection : public DefaultKeyedVector<String8, sp<AudioPoli public: status_t getAudioPolicyMix(String8 address, sp<AudioPolicyMix> &policyMix) const; status_t registerMix(String8 address, AudioMix mix); status_t registerMix(String8 address, AudioMix mix, sp<SwAudioOutputDescriptor> desc); status_t unregisterMix(String8 address); Loading
services/audiopolicy/common/managerdefinitions/src/AudioOutputDescriptor.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -315,14 +315,14 @@ void SwAudioOutputDescriptor::changeRefCount(audio_stream_type_t stream, if ((oldGlobalRefCount == 0) && (mGlobalRefCount > 0)) { if ((mPolicyMix != NULL) && ((mPolicyMix->mCbFlags & AudioMix::kCbFlagNotifyActivity) != 0)) { mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mRegistrationId, mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mDeviceAddress, MIX_STATE_MIXING); } } else if ((oldGlobalRefCount > 0) && (mGlobalRefCount == 0)) { if ((mPolicyMix != NULL) && ((mPolicyMix->mCbFlags & AudioMix::kCbFlagNotifyActivity) != 0)) { mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mRegistrationId, mClientInterface->onDynamicPolicyMixStateUpdate(mPolicyMix->mDeviceAddress, MIX_STATE_IDLE); } } Loading