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

Commit 65ec1924 authored by Mikhail Naganov's avatar Mikhail Naganov Committed by Gerrit Code Review
Browse files

Merge "Revert^2 "audiopolicy: speaker cleanup AudioAttributes usage"" into main

parents 8facb637 0384a840
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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);
}
@@ -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);
}
+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;