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

Commit 0384a840 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

Revert^2 "audiopolicy: speaker cleanup AudioAttributes usage"

611efd59
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2dbb1a997a0b8db2c007e3c4042f0da17d21ba33)
Merged-In: I7abdcb5f5d82b558cac07114f2c202f7bd32f25c
Change-Id: I7abdcb5f5d82b558cac07114f2c202f7bd32f25c
parent 87559380
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1767,6 +1767,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);
}
@@ -1818,6 +1820,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);
}
+11 −0
Original line number Diff line number Diff line
@@ -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;