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

Commit 85dde5bf authored by Vlad Popa's avatar Vlad Popa Committed by Android (Google) Code Review
Browse files

Merge "APM: forward mute state in APM to AF" into main

parents 9003154a 1e865e66
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -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;
}

@@ -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;
}

@@ -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;
@@ -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;
}
@@ -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;
@@ -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,
@@ -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;
@@ -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,
+13 −8
Original line number Diff line number Diff line
@@ -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) {
@@ -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) {
@@ -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) {
@@ -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) {
+2 −0
Original line number Diff line number Diff line
@@ -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;
}
+4 −2
Original line number Diff line number Diff line
@@ -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.
+2 −2
Original line number Diff line number Diff line
@@ -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