Loading media/libaudioclient/AudioSystem.cpp +12 −7 Original line number Diff line number Diff line Loading @@ -308,11 +308,11 @@ status_t AudioSystem::getMasterMute(bool* mute) { } status_t AudioSystem::setStreamVolume(audio_stream_type_t stream, float value, audio_io_handle_t output) { bool muted, audio_io_handle_t output) { if (uint32_t(stream) >= AUDIO_STREAM_CNT) return BAD_VALUE; const sp<IAudioFlinger> af = get_audio_flinger(); if (af == 0) return PERMISSION_DENIED; af->setStreamVolume(stream, value, output); af->setStreamVolume(stream, value, muted, output); return NO_ERROR; } Loading @@ -325,14 +325,15 @@ status_t AudioSystem::setStreamMute(audio_stream_type_t stream, bool mute) { } status_t AudioSystem::setPortsVolume( const std::vector<audio_port_handle_t>& portIds, float volume, audio_io_handle_t output) { const std::vector<audio_port_handle_t>& portIds, float volume, bool muted, audio_io_handle_t output) { const sp<IAudioFlinger> af = get_audio_flinger(); if (af == 0) return PERMISSION_DENIED; std::vector<int32_t> portIdsAidl = VALUE_OR_RETURN_STATUS( convertContainer<std::vector<int32_t>>( portIds, legacy2aidl_audio_port_handle_t_int32_t)); int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output)); af->setPortsVolume(portIdsAidl, volume, outputAidl); af->setPortsVolume(portIdsAidl, volume, muted, outputAidl); return NO_ERROR; } Loading Loading @@ -1096,7 +1097,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, std::vector<audio_io_handle_t>* secondaryOutputs, bool *isSpatialized, bool *isBitPerfect, float *volume) { float *volume, bool *muted) { if (attr == nullptr) { ALOGE("%s NULL audio attributes", __func__); return BAD_VALUE; Loading Loading @@ -1163,6 +1165,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, *attr = VALUE_OR_RETURN_STATUS( aidl2legacy_AudioAttributes_audio_attributes_t(responseAidl.attr)); *volume = responseAidl.volume; *muted = responseAidl.muted; return OK; } Loading Loading @@ -1326,6 +1329,7 @@ status_t AudioSystem::initStreamVolume(audio_stream_type_t stream, status_t AudioSystem::setStreamVolumeIndex(audio_stream_type_t stream, int index, bool muted, audio_devices_t device) { const sp<IAudioPolicyService> aps = get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; Loading @@ -1336,7 +1340,7 @@ status_t AudioSystem::setStreamVolumeIndex(audio_stream_type_t stream, AudioDeviceDescription deviceAidl = VALUE_OR_RETURN_STATUS( legacy2aidl_audio_devices_t_AudioDeviceDescription(device)); return statusTFromBinderStatus( aps->setStreamVolumeIndex(streamAidl, deviceAidl, indexAidl)); aps->setStreamVolumeIndex(streamAidl, deviceAidl, indexAidl, muted)); } status_t AudioSystem::getStreamVolumeIndex(audio_stream_type_t stream, Loading @@ -1360,6 +1364,7 @@ status_t AudioSystem::getStreamVolumeIndex(audio_stream_type_t stream, status_t AudioSystem::setVolumeIndexForAttributes(const audio_attributes_t& attr, int index, bool muted, audio_devices_t device) { const sp<IAudioPolicyService> aps = get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; Loading @@ -1370,7 +1375,7 @@ status_t AudioSystem::setVolumeIndexForAttributes(const audio_attributes_t& attr AudioDeviceDescription deviceAidl = VALUE_OR_RETURN_STATUS( legacy2aidl_audio_devices_t_AudioDeviceDescription(device)); return statusTFromBinderStatus( aps->setVolumeIndexForAttributes(attrAidl, deviceAidl, indexAidl)); aps->setVolumeIndexForAttributes(attrAidl, deviceAidl, indexAidl, muted)); } status_t AudioSystem::getVolumeIndexForAttributes(const audio_attributes_t& attr, Loading media/libaudioclient/IAudioFlinger.cpp +13 −8 Original line number Diff line number Diff line Loading @@ -337,11 +337,12 @@ status_t AudioFlingerClientAdapter::getMasterBalance(float* balance) const{ } status_t AudioFlingerClientAdapter::setStreamVolume(audio_stream_type_t stream, float value, audio_io_handle_t output) { bool muted, audio_io_handle_t output) { AudioStreamType streamAidl = VALUE_OR_RETURN_STATUS( legacy2aidl_audio_stream_type_t_AudioStreamType(stream)); int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output)); return statusTFromBinderStatus(mDelegate->setStreamVolume(streamAidl, value, outputAidl)); return statusTFromBinderStatus( mDelegate->setStreamVolume(streamAidl, value, muted, outputAidl)); } status_t AudioFlingerClientAdapter::setStreamMute(audio_stream_type_t stream, bool muted) { Loading @@ -351,12 +352,14 @@ status_t AudioFlingerClientAdapter::setStreamMute(audio_stream_type_t stream, bo } status_t AudioFlingerClientAdapter::setPortsVolume( const std::vector<audio_port_handle_t>& portIds, float volume, audio_io_handle_t output) { const std::vector<audio_port_handle_t> &portIds, float volume, bool muted, audio_io_handle_t output) { std::vector<int32_t> portIdsAidl = VALUE_OR_RETURN_STATUS( convertContainer<std::vector<int32_t>>( portIds, legacy2aidl_audio_port_handle_t_int32_t)); int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output)); return statusTFromBinderStatus(mDelegate->setPortsVolume(portIdsAidl, volume, outputAidl)); return statusTFromBinderStatus( mDelegate->setPortsVolume(portIdsAidl, volume, muted, outputAidl)); } status_t AudioFlingerClientAdapter::setMode(audio_mode_t mode) { Loading Loading @@ -1007,12 +1010,13 @@ Status AudioFlingerServerAdapter::getMasterBalance(float* _aidl_return) { } Status AudioFlingerServerAdapter::setStreamVolume(AudioStreamType stream, float value, int32_t output) { bool muted, int32_t output) { audio_stream_type_t streamLegacy = VALUE_OR_RETURN_BINDER( aidl2legacy_AudioStreamType_audio_stream_type_t(stream)); audio_io_handle_t outputLegacy = VALUE_OR_RETURN_BINDER( aidl2legacy_int32_t_audio_io_handle_t(output)); return Status::fromStatusT(mDelegate->setStreamVolume(streamLegacy, value, outputLegacy)); return Status::fromStatusT( mDelegate->setStreamVolume(streamLegacy, value, muted, outputLegacy)); } Status AudioFlingerServerAdapter::setStreamMute(AudioStreamType stream, bool muted) { Loading @@ -1022,13 +1026,14 @@ Status AudioFlingerServerAdapter::setStreamMute(AudioStreamType stream, bool mut } Status AudioFlingerServerAdapter::setPortsVolume( const std::vector<int32_t>& portIds, float volume, int32_t output) { const std::vector<int32_t>& portIds, float volume, bool muted, int32_t output) { std::vector<audio_port_handle_t> portIdsLegacy = VALUE_OR_RETURN_BINDER( convertContainer<std::vector<audio_port_handle_t>>( portIds, aidl2legacy_int32_t_audio_port_handle_t)); audio_io_handle_t outputLegacy = VALUE_OR_RETURN_BINDER( aidl2legacy_int32_t_audio_io_handle_t(output)); return Status::fromStatusT(mDelegate->setPortsVolume(portIdsLegacy, volume, outputLegacy)); return Status::fromStatusT( mDelegate->setPortsVolume(portIdsLegacy, volume, muted, outputLegacy)); } Status AudioFlingerServerAdapter::setMode(AudioMode mode) { Loading media/libaudioclient/aidl/android/media/GetOutputForAttrResponse.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -41,4 +41,6 @@ parcelable GetOutputForAttrResponse { AudioAttributes attr; /** initial port volume for the new audio track */ float volume; /** initial port muted state for the new audio track */ boolean muted; } media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -96,15 +96,17 @@ interface IAudioFlingerService { /* * Set stream type state. This will probably be used by * the preference panel, mostly. * This method is deprecated. Please use the setPortsVolume method instead. */ void setStreamVolume(AudioStreamType stream, float value, int /* audio_io_handle_t */ output); void setStreamVolume(AudioStreamType stream, float value, boolean muted, int /* audio_io_handle_t */ output); void setStreamMute(AudioStreamType stream, boolean muted); /* * Set AudioTrack port ids volume attribute. This is the new way of controlling volume from * AudioPolicyManager to AudioFlinger. */ void setPortsVolume(in int[] /* audio_port_handle_t[] */ portIds, float volume, void setPortsVolume(in int[] /* audio_port_handle_t[] */ portIds, float volume, boolean muted, int /* audio_io_handle_t */ output); // set audio mode. Loading media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -126,14 +126,14 @@ interface IAudioPolicyService { void setStreamVolumeIndex(AudioStreamType stream, in AudioDeviceDescription device, int index); int index, boolean muted); int getStreamVolumeIndex(AudioStreamType stream, in AudioDeviceDescription device); void setVolumeIndexForAttributes(in AudioAttributes attr, in AudioDeviceDescription device, int index); int index, boolean muted); int getVolumeIndexForAttributes(in AudioAttributes attr, in AudioDeviceDescription device); Loading Loading
media/libaudioclient/AudioSystem.cpp +12 −7 Original line number Diff line number Diff line Loading @@ -308,11 +308,11 @@ status_t AudioSystem::getMasterMute(bool* mute) { } status_t AudioSystem::setStreamVolume(audio_stream_type_t stream, float value, audio_io_handle_t output) { bool muted, audio_io_handle_t output) { if (uint32_t(stream) >= AUDIO_STREAM_CNT) return BAD_VALUE; const sp<IAudioFlinger> af = get_audio_flinger(); if (af == 0) return PERMISSION_DENIED; af->setStreamVolume(stream, value, output); af->setStreamVolume(stream, value, muted, output); return NO_ERROR; } Loading @@ -325,14 +325,15 @@ status_t AudioSystem::setStreamMute(audio_stream_type_t stream, bool mute) { } status_t AudioSystem::setPortsVolume( const std::vector<audio_port_handle_t>& portIds, float volume, audio_io_handle_t output) { const std::vector<audio_port_handle_t>& portIds, float volume, bool muted, audio_io_handle_t output) { const sp<IAudioFlinger> af = get_audio_flinger(); if (af == 0) return PERMISSION_DENIED; std::vector<int32_t> portIdsAidl = VALUE_OR_RETURN_STATUS( convertContainer<std::vector<int32_t>>( portIds, legacy2aidl_audio_port_handle_t_int32_t)); int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output)); af->setPortsVolume(portIdsAidl, volume, outputAidl); af->setPortsVolume(portIdsAidl, volume, muted, outputAidl); return NO_ERROR; } Loading Loading @@ -1096,7 +1097,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, std::vector<audio_io_handle_t>* secondaryOutputs, bool *isSpatialized, bool *isBitPerfect, float *volume) { float *volume, bool *muted) { if (attr == nullptr) { ALOGE("%s NULL audio attributes", __func__); return BAD_VALUE; Loading Loading @@ -1163,6 +1165,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, *attr = VALUE_OR_RETURN_STATUS( aidl2legacy_AudioAttributes_audio_attributes_t(responseAidl.attr)); *volume = responseAidl.volume; *muted = responseAidl.muted; return OK; } Loading Loading @@ -1326,6 +1329,7 @@ status_t AudioSystem::initStreamVolume(audio_stream_type_t stream, status_t AudioSystem::setStreamVolumeIndex(audio_stream_type_t stream, int index, bool muted, audio_devices_t device) { const sp<IAudioPolicyService> aps = get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; Loading @@ -1336,7 +1340,7 @@ status_t AudioSystem::setStreamVolumeIndex(audio_stream_type_t stream, AudioDeviceDescription deviceAidl = VALUE_OR_RETURN_STATUS( legacy2aidl_audio_devices_t_AudioDeviceDescription(device)); return statusTFromBinderStatus( aps->setStreamVolumeIndex(streamAidl, deviceAidl, indexAidl)); aps->setStreamVolumeIndex(streamAidl, deviceAidl, indexAidl, muted)); } status_t AudioSystem::getStreamVolumeIndex(audio_stream_type_t stream, Loading @@ -1360,6 +1364,7 @@ status_t AudioSystem::getStreamVolumeIndex(audio_stream_type_t stream, status_t AudioSystem::setVolumeIndexForAttributes(const audio_attributes_t& attr, int index, bool muted, audio_devices_t device) { const sp<IAudioPolicyService> aps = get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; Loading @@ -1370,7 +1375,7 @@ status_t AudioSystem::setVolumeIndexForAttributes(const audio_attributes_t& attr AudioDeviceDescription deviceAidl = VALUE_OR_RETURN_STATUS( legacy2aidl_audio_devices_t_AudioDeviceDescription(device)); return statusTFromBinderStatus( aps->setVolumeIndexForAttributes(attrAidl, deviceAidl, indexAidl)); aps->setVolumeIndexForAttributes(attrAidl, deviceAidl, indexAidl, muted)); } status_t AudioSystem::getVolumeIndexForAttributes(const audio_attributes_t& attr, Loading
media/libaudioclient/IAudioFlinger.cpp +13 −8 Original line number Diff line number Diff line Loading @@ -337,11 +337,12 @@ status_t AudioFlingerClientAdapter::getMasterBalance(float* balance) const{ } status_t AudioFlingerClientAdapter::setStreamVolume(audio_stream_type_t stream, float value, audio_io_handle_t output) { bool muted, audio_io_handle_t output) { AudioStreamType streamAidl = VALUE_OR_RETURN_STATUS( legacy2aidl_audio_stream_type_t_AudioStreamType(stream)); int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output)); return statusTFromBinderStatus(mDelegate->setStreamVolume(streamAidl, value, outputAidl)); return statusTFromBinderStatus( mDelegate->setStreamVolume(streamAidl, value, muted, outputAidl)); } status_t AudioFlingerClientAdapter::setStreamMute(audio_stream_type_t stream, bool muted) { Loading @@ -351,12 +352,14 @@ status_t AudioFlingerClientAdapter::setStreamMute(audio_stream_type_t stream, bo } status_t AudioFlingerClientAdapter::setPortsVolume( const std::vector<audio_port_handle_t>& portIds, float volume, audio_io_handle_t output) { const std::vector<audio_port_handle_t> &portIds, float volume, bool muted, audio_io_handle_t output) { std::vector<int32_t> portIdsAidl = VALUE_OR_RETURN_STATUS( convertContainer<std::vector<int32_t>>( portIds, legacy2aidl_audio_port_handle_t_int32_t)); int32_t outputAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_audio_io_handle_t_int32_t(output)); return statusTFromBinderStatus(mDelegate->setPortsVolume(portIdsAidl, volume, outputAidl)); return statusTFromBinderStatus( mDelegate->setPortsVolume(portIdsAidl, volume, muted, outputAidl)); } status_t AudioFlingerClientAdapter::setMode(audio_mode_t mode) { Loading Loading @@ -1007,12 +1010,13 @@ Status AudioFlingerServerAdapter::getMasterBalance(float* _aidl_return) { } Status AudioFlingerServerAdapter::setStreamVolume(AudioStreamType stream, float value, int32_t output) { bool muted, int32_t output) { audio_stream_type_t streamLegacy = VALUE_OR_RETURN_BINDER( aidl2legacy_AudioStreamType_audio_stream_type_t(stream)); audio_io_handle_t outputLegacy = VALUE_OR_RETURN_BINDER( aidl2legacy_int32_t_audio_io_handle_t(output)); return Status::fromStatusT(mDelegate->setStreamVolume(streamLegacy, value, outputLegacy)); return Status::fromStatusT( mDelegate->setStreamVolume(streamLegacy, value, muted, outputLegacy)); } Status AudioFlingerServerAdapter::setStreamMute(AudioStreamType stream, bool muted) { Loading @@ -1022,13 +1026,14 @@ Status AudioFlingerServerAdapter::setStreamMute(AudioStreamType stream, bool mut } Status AudioFlingerServerAdapter::setPortsVolume( const std::vector<int32_t>& portIds, float volume, int32_t output) { const std::vector<int32_t>& portIds, float volume, bool muted, int32_t output) { std::vector<audio_port_handle_t> portIdsLegacy = VALUE_OR_RETURN_BINDER( convertContainer<std::vector<audio_port_handle_t>>( portIds, aidl2legacy_int32_t_audio_port_handle_t)); audio_io_handle_t outputLegacy = VALUE_OR_RETURN_BINDER( aidl2legacy_int32_t_audio_io_handle_t(output)); return Status::fromStatusT(mDelegate->setPortsVolume(portIdsLegacy, volume, outputLegacy)); return Status::fromStatusT( mDelegate->setPortsVolume(portIdsLegacy, volume, muted, outputLegacy)); } Status AudioFlingerServerAdapter::setMode(AudioMode mode) { Loading
media/libaudioclient/aidl/android/media/GetOutputForAttrResponse.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -41,4 +41,6 @@ parcelable GetOutputForAttrResponse { AudioAttributes attr; /** initial port volume for the new audio track */ float volume; /** initial port muted state for the new audio track */ boolean muted; }
media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -96,15 +96,17 @@ interface IAudioFlingerService { /* * Set stream type state. This will probably be used by * the preference panel, mostly. * This method is deprecated. Please use the setPortsVolume method instead. */ void setStreamVolume(AudioStreamType stream, float value, int /* audio_io_handle_t */ output); void setStreamVolume(AudioStreamType stream, float value, boolean muted, int /* audio_io_handle_t */ output); void setStreamMute(AudioStreamType stream, boolean muted); /* * Set AudioTrack port ids volume attribute. This is the new way of controlling volume from * AudioPolicyManager to AudioFlinger. */ void setPortsVolume(in int[] /* audio_port_handle_t[] */ portIds, float volume, void setPortsVolume(in int[] /* audio_port_handle_t[] */ portIds, float volume, boolean muted, int /* audio_io_handle_t */ output); // set audio mode. Loading
media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -126,14 +126,14 @@ interface IAudioPolicyService { void setStreamVolumeIndex(AudioStreamType stream, in AudioDeviceDescription device, int index); int index, boolean muted); int getStreamVolumeIndex(AudioStreamType stream, in AudioDeviceDescription device); void setVolumeIndexForAttributes(in AudioAttributes attr, in AudioDeviceDescription device, int index); int index, boolean muted); int getVolumeIndexForAttributes(in AudioAttributes attr, in AudioDeviceDescription device); Loading