Loading media/audioaidlconversion/AidlConversionCppNdk.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -1772,6 +1772,8 @@ aidl2legacy_AudioUsage_audio_usage_t(AudioUsage aidl) { return AUDIO_USAGE_VEHICLE_STATUS; case AudioUsage::ANNOUNCEMENT: return AUDIO_USAGE_ANNOUNCEMENT; case AudioUsage::SPEAKER_CLEANUP: return AUDIO_USAGE_SPEAKER_CLEANUP; } return unexpected(BAD_VALUE); } Loading Loading @@ -1823,6 +1825,8 @@ legacy2aidl_audio_usage_t_AudioUsage(audio_usage_t legacy) { return AudioUsage::VEHICLE_STATUS; case AUDIO_USAGE_ANNOUNCEMENT: return AudioUsage::ANNOUNCEMENT; case AUDIO_USAGE_SPEAKER_CLEANUP: return AudioUsage::SPEAKER_CLEANUP; } return unexpected(BAD_VALUE); } Loading services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -423,6 +423,17 @@ Status AudioPolicyService::getOutputForAttr(const media::audio::common::AudioAtt } } //TODO this permission check should extend to all system usages if (attr.usage == AUDIO_USAGE_SPEAKER_CLEANUP) { if (!(audioserver_permissions() ? CHECK_PERM(MODIFY_AUDIO_ROUTING, attributionSource.uid) : modifyAudioRoutingAllowed())) { ALOGE("%s: permission denied: SPEAKER_CLEANUP not allowed for uid %d pid %d", __func__, attributionSource.uid, attributionSource.pid); return binderStatusFromStatusT(PERMISSION_DENIED); } } AutoCallerClear acc; AudioPolicyInterface::output_type_t outputType; bool isSpatialized = false; Loading Loading
media/audioaidlconversion/AidlConversionCppNdk.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -1772,6 +1772,8 @@ aidl2legacy_AudioUsage_audio_usage_t(AudioUsage aidl) { return AUDIO_USAGE_VEHICLE_STATUS; case AudioUsage::ANNOUNCEMENT: return AUDIO_USAGE_ANNOUNCEMENT; case AudioUsage::SPEAKER_CLEANUP: return AUDIO_USAGE_SPEAKER_CLEANUP; } return unexpected(BAD_VALUE); } Loading Loading @@ -1823,6 +1825,8 @@ legacy2aidl_audio_usage_t_AudioUsage(audio_usage_t legacy) { return AudioUsage::VEHICLE_STATUS; case AUDIO_USAGE_ANNOUNCEMENT: return AudioUsage::ANNOUNCEMENT; case AUDIO_USAGE_SPEAKER_CLEANUP: return AudioUsage::SPEAKER_CLEANUP; } return unexpected(BAD_VALUE); } Loading
services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -423,6 +423,17 @@ Status AudioPolicyService::getOutputForAttr(const media::audio::common::AudioAtt } } //TODO this permission check should extend to all system usages if (attr.usage == AUDIO_USAGE_SPEAKER_CLEANUP) { if (!(audioserver_permissions() ? CHECK_PERM(MODIFY_AUDIO_ROUTING, attributionSource.uid) : modifyAudioRoutingAllowed())) { ALOGE("%s: permission denied: SPEAKER_CLEANUP not allowed for uid %d pid %d", __func__, attributionSource.uid, attributionSource.pid); return binderStatusFromStatusT(PERMISSION_DENIED); } } AutoCallerClear acc; AudioPolicyInterface::output_type_t outputType; bool isSpatialized = false; Loading