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

Commit 5b501b3a authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "AudioFlinger: Update IAudioFlinger overrides" into udc-qpr-dev-plus-aosp

parents 01920585 75e182fd
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -646,7 +646,7 @@ audio_module_handle_t AudioFlingerClientAdapter::loadHwModule(const char* name)
    return result.value_or(0);
}

uint32_t AudioFlingerClientAdapter::getPrimaryOutputSamplingRate() {
uint32_t AudioFlingerClientAdapter::getPrimaryOutputSamplingRate() const {
    auto result = [&]() -> ConversionResult<uint32_t> {
        int32_t aidlRet;
        RETURN_IF_ERROR(statusTFromBinderStatus(
@@ -657,7 +657,7 @@ uint32_t AudioFlingerClientAdapter::getPrimaryOutputSamplingRate() {
    return result.value_or(0);
}

size_t AudioFlingerClientAdapter::getPrimaryOutputFrameCount() {
size_t AudioFlingerClientAdapter::getPrimaryOutputFrameCount() const {
    auto result = [&]() -> ConversionResult<size_t> {
        int64_t aidlRet;
        RETURN_IF_ERROR(statusTFromBinderStatus(
@@ -672,7 +672,7 @@ status_t AudioFlingerClientAdapter::setLowRamDevice(bool isLowRamDevice, int64_t
    return statusTFromBinderStatus(mDelegate->setLowRamDevice(isLowRamDevice, totalMemory));
}

status_t AudioFlingerClientAdapter::getAudioPort(struct audio_port_v7* port) {
status_t AudioFlingerClientAdapter::getAudioPort(struct audio_port_v7* port) const {
    media::AudioPortFw portAidl = VALUE_OR_RETURN_STATUS(
            legacy2aidl_audio_port_v7_AudioPortFw(*port));
    media::AudioPortFw aidlRet;
@@ -705,7 +705,7 @@ status_t AudioFlingerClientAdapter::releaseAudioPatch(audio_patch_handle_t handl
}

status_t AudioFlingerClientAdapter::listAudioPatches(unsigned int* num_patches,
                                                     struct audio_patch* patches) {
                                                     struct audio_patch* patches) const {
    std::vector<media::AudioPatchFw> aidlRet;
    int32_t maxPatches = VALUE_OR_RETURN_STATUS(convertIntegral<int32_t>(*num_patches));
    RETURN_STATUS_IF_ERROR(statusTFromBinderStatus(
@@ -753,7 +753,8 @@ size_t AudioFlingerClientAdapter::frameCountHAL(audio_io_handle_t ioHandle) cons
}

status_t
AudioFlingerClientAdapter::getMicrophones(std::vector<media::MicrophoneInfoFw>* microphones) {
AudioFlingerClientAdapter::getMicrophones(
        std::vector<media::MicrophoneInfoFw>* microphones) const {
    std::vector<media::MicrophoneInfoFw> aidlRet;
    RETURN_STATUS_IF_ERROR(statusTFromBinderStatus(mDelegate->getMicrophones(&aidlRet)));
    if (microphones != nullptr) {
@@ -788,7 +789,7 @@ status_t AudioFlingerClientAdapter::getMmapPolicyInfos(
    return statusTFromBinderStatus(mDelegate->getMmapPolicyInfos(policyType, policyInfos));
}

int32_t AudioFlingerClientAdapter::getAAudioMixerBurstCount() {
int32_t AudioFlingerClientAdapter::getAAudioMixerBurstCount() const {
    auto result = [&]() -> ConversionResult<int32_t> {
        int32_t aidlRet;
        RETURN_IF_ERROR(statusTFromBinderStatus(mDelegate->getAAudioMixerBurstCount(&aidlRet)));
@@ -798,7 +799,7 @@ int32_t AudioFlingerClientAdapter::getAAudioMixerBurstCount() {
    return result.value_or(0);
}

int32_t AudioFlingerClientAdapter::getAAudioHardwareBurstMinUsec() {
int32_t AudioFlingerClientAdapter::getAAudioHardwareBurstMinUsec() const {
    auto result = [&]() -> ConversionResult<int32_t> {
        int32_t aidlRet;
        RETURN_IF_ERROR(statusTFromBinderStatus(
@@ -829,7 +830,7 @@ status_t AudioFlingerClientAdapter::setRequestedLatencyMode(
}

status_t AudioFlingerClientAdapter::getSupportedLatencyModes(
        audio_io_handle_t output, std::vector<audio_latency_mode_t>* modes) {
        audio_io_handle_t output, std::vector<audio_latency_mode_t>* modes) const {
    if (modes == nullptr) {
        return BAD_VALUE;
    }
@@ -851,7 +852,7 @@ status_t AudioFlingerClientAdapter::setBluetoothVariableLatencyEnabled(bool enab
    return statusTFromBinderStatus(mDelegate->setBluetoothVariableLatencyEnabled(enabled));
}

status_t AudioFlingerClientAdapter::isBluetoothVariableLatencyEnabled(bool* enabled) {
status_t AudioFlingerClientAdapter::isBluetoothVariableLatencyEnabled(bool* enabled) const {
    if (enabled == nullptr) {
        return BAD_VALUE;
    }
@@ -862,7 +863,7 @@ status_t AudioFlingerClientAdapter::isBluetoothVariableLatencyEnabled(bool* enab
    return NO_ERROR;
}

status_t AudioFlingerClientAdapter::supportsBluetoothVariableLatency(bool* support) {
status_t AudioFlingerClientAdapter::supportsBluetoothVariableLatency(bool* support) const {
    if (support == nullptr) {
        return BAD_VALUE;
    }
@@ -875,7 +876,7 @@ status_t AudioFlingerClientAdapter::supportsBluetoothVariableLatency(bool* suppo

status_t AudioFlingerClientAdapter::getSoundDoseInterface(
        const sp<media::ISoundDoseCallback> &callback,
        sp<media::ISoundDose>* soundDose) {
        sp<media::ISoundDose>* soundDose) const {
    return statusTFromBinderStatus(mDelegate->getSoundDoseInterface(callback, soundDose));
}

+22 −22
Original line number Diff line number Diff line
@@ -303,8 +303,8 @@ public:
    // helpers for android.media.AudioManager.getProperty(), see description there for meaning
    // FIXME move these APIs to AudioPolicy to permit a more accurate implementation
    // that looks on primary device for a stream with fast flag, primary flag, or first one.
    virtual uint32_t getPrimaryOutputSamplingRate() = 0;
    virtual size_t getPrimaryOutputFrameCount() = 0;
    virtual uint32_t getPrimaryOutputSamplingRate() const = 0;
    virtual size_t getPrimaryOutputFrameCount() const = 0;

    // Intended for AudioService to inform AudioFlinger of device's low RAM attribute,
    // and should be called at most once.  For a definition of what "low RAM" means, see
@@ -313,7 +313,7 @@ public:
    virtual status_t setLowRamDevice(bool isLowRamDevice, int64_t totalMemory) = 0;

    /* Get attributes for a given audio port */
    virtual status_t getAudioPort(struct audio_port_v7 *port) = 0;
    virtual status_t getAudioPort(struct audio_port_v7* port) const = 0;

    /* Create an audio patch between several source and sink ports */
    virtual status_t createAudioPatch(const struct audio_patch *patch,
@@ -324,7 +324,7 @@ public:

    /* List existing audio patches */
    virtual status_t listAudioPatches(unsigned int *num_patches,
                                      struct audio_patch *patches) = 0;
                                      struct audio_patch* patches) const = 0;
    /* Set audio port configuration */
    virtual status_t setAudioPortConfig(const struct audio_port_config *config) = 0;

@@ -341,7 +341,7 @@ public:
    virtual size_t frameCountHAL(audio_io_handle_t ioHandle) const = 0;

    /* List available microphones and their characteristics */
    virtual status_t getMicrophones(std::vector<media::MicrophoneInfoFw> *microphones) = 0;
    virtual status_t getMicrophones(std::vector<media::MicrophoneInfoFw>* microphones) const = 0;

    virtual status_t setAudioHalPids(const std::vector<pid_t>& pids) = 0;

@@ -357,9 +357,9 @@ public:
            media::audio::common::AudioMMapPolicyType policyType,
            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) = 0;

    virtual int32_t getAAudioMixerBurstCount() = 0;
    virtual int32_t getAAudioMixerBurstCount() const = 0;

    virtual int32_t getAAudioHardwareBurstMinUsec() = 0;
    virtual int32_t getAAudioHardwareBurstMinUsec() const = 0;

    virtual status_t setDeviceConnectedState(const struct audio_port_v7 *port,
                                             media::DeviceConnectedState state) = 0;
@@ -370,18 +370,18 @@ public:
            audio_io_handle_t output, audio_latency_mode_t mode) = 0;

    virtual status_t getSupportedLatencyModes(audio_io_handle_t output,
            std::vector<audio_latency_mode_t>* modes) = 0;
            std::vector<audio_latency_mode_t>* modes) const = 0;

    virtual status_t getSoundDoseInterface(const sp<media::ISoundDoseCallback>& callback,
                                           sp<media::ISoundDose>* soundDose) = 0;
                                           sp<media::ISoundDose>* soundDose) const = 0;

    virtual status_t invalidateTracks(const std::vector<audio_port_handle_t>& portIds) = 0;

    virtual status_t setBluetoothVariableLatencyEnabled(bool enabled) = 0;

    virtual status_t isBluetoothVariableLatencyEnabled(bool* enabled) = 0;
    virtual status_t isBluetoothVariableLatencyEnabled(bool* enabled) const = 0;

    virtual status_t supportsBluetoothVariableLatency(bool* support) = 0;
    virtual status_t supportsBluetoothVariableLatency(bool* support) const = 0;

    virtual status_t getAudioPolicyConfig(media::AudioPolicyConfig* output) = 0;
};
@@ -459,22 +459,22 @@ public:
                            audio_session_t sessionId,
                            bool suspended) override;
    audio_module_handle_t loadHwModule(const char* name) override;
    uint32_t getPrimaryOutputSamplingRate() override;
    size_t getPrimaryOutputFrameCount() override;
    uint32_t getPrimaryOutputSamplingRate() const override;
    size_t getPrimaryOutputFrameCount() const override;
    status_t setLowRamDevice(bool isLowRamDevice, int64_t totalMemory) override;
    status_t getAudioPort(struct audio_port_v7* port) override;
    status_t getAudioPort(struct audio_port_v7* port) const override;
    status_t createAudioPatch(const struct audio_patch* patch,
                              audio_patch_handle_t* handle) override;
    status_t releaseAudioPatch(audio_patch_handle_t handle) override;
    status_t listAudioPatches(unsigned int* num_patches,
                              struct audio_patch* patches) override;
                              struct audio_patch* patches) const override;
    status_t setAudioPortConfig(const struct audio_port_config* config) override;
    audio_hw_sync_t getAudioHwSyncForSession(audio_session_t sessionId) override;
    status_t systemReady() override;
    status_t audioPolicyReady() override;

    size_t frameCountHAL(audio_io_handle_t ioHandle) const override;
    status_t getMicrophones(std::vector<media::MicrophoneInfoFw>* microphones) override;
    status_t getMicrophones(std::vector<media::MicrophoneInfoFw>* microphones) const override;
    status_t setAudioHalPids(const std::vector<pid_t>& pids) override;
    status_t setVibratorInfos(const std::vector<media::AudioVibratorInfo>& vibratorInfos) override;
    status_t updateSecondaryOutputs(
@@ -482,20 +482,20 @@ public:
    status_t getMmapPolicyInfos(
            media::audio::common::AudioMMapPolicyType policyType,
            std::vector<media::audio::common::AudioMMapPolicyInfo> *policyInfos) override;
    int32_t getAAudioMixerBurstCount() override;
    int32_t getAAudioHardwareBurstMinUsec() override;
    int32_t getAAudioMixerBurstCount() const override;
    int32_t getAAudioHardwareBurstMinUsec() const override;
    status_t setDeviceConnectedState(const struct audio_port_v7 *port,
                                     media::DeviceConnectedState state) override;
    status_t setSimulateDeviceConnections(bool enabled) override;
    status_t setRequestedLatencyMode(audio_io_handle_t output,
            audio_latency_mode_t mode) override;
    status_t getSupportedLatencyModes(
            audio_io_handle_t output, std::vector<audio_latency_mode_t>* modes) override;
            audio_io_handle_t output, std::vector<audio_latency_mode_t>* modes) const override;
    status_t setBluetoothVariableLatencyEnabled(bool enabled) override;
    status_t isBluetoothVariableLatencyEnabled(bool* enabled) override;
    status_t supportsBluetoothVariableLatency(bool* support) override;
    status_t isBluetoothVariableLatencyEnabled(bool* enabled) const override;
    status_t supportsBluetoothVariableLatency(bool* support) const override;
    status_t getSoundDoseInterface(const sp<media::ISoundDoseCallback>& callback,
                                   sp<media::ISoundDose>* soundDose) override;
                                   sp<media::ISoundDose>* soundDose) const override;
    status_t invalidateTracks(const std::vector<audio_port_handle_t>& portIds) override;
    status_t getAudioPolicyConfig(media::AudioPolicyConfig* output) override;

+9 −9
Original line number Diff line number Diff line
@@ -475,12 +475,12 @@ status_t AudioFlinger::getMmapPolicyInfos(
    return NO_ERROR;
}

int32_t AudioFlinger::getAAudioMixerBurstCount() {
int32_t AudioFlinger::getAAudioMixerBurstCount() const {
    Mutex::Autolock _l(mLock);
    return mAAudioBurstsPerBuffer;
}

int32_t AudioFlinger::getAAudioHardwareBurstMinUsec() {
int32_t AudioFlinger::getAAudioHardwareBurstMinUsec() const {
    Mutex::Autolock _l(mLock);
    return mAAudioHwBurstMinMicros;
}
@@ -1683,7 +1683,7 @@ status_t AudioFlinger::setRequestedLatencyMode(
}

status_t AudioFlinger::getSupportedLatencyModes(audio_io_handle_t output,
            std::vector<audio_latency_mode_t>* modes) {
            std::vector<audio_latency_mode_t>* modes) const {
    if (output == AUDIO_IO_HANDLE_NONE) {
        return BAD_VALUE;
    }
@@ -1710,7 +1710,7 @@ status_t AudioFlinger::setBluetoothVariableLatencyEnabled(bool enabled) {
    return status;
}

status_t AudioFlinger::isBluetoothVariableLatencyEnabled(bool *enabled) {
status_t AudioFlinger::isBluetoothVariableLatencyEnabled(bool* enabled) const {
    if (enabled == nullptr) {
        return BAD_VALUE;
    }
@@ -1718,7 +1718,7 @@ status_t AudioFlinger::isBluetoothVariableLatencyEnabled(bool *enabled) {
    return NO_ERROR;
}

status_t AudioFlinger::supportsBluetoothVariableLatency(bool* support) {
status_t AudioFlinger::supportsBluetoothVariableLatency(bool* support) const {
    if (support == nullptr) {
        return BAD_VALUE;
    }
@@ -1734,7 +1734,7 @@ status_t AudioFlinger::supportsBluetoothVariableLatency(bool* support) {
}

status_t AudioFlinger::getSoundDoseInterface(const sp<media::ISoundDoseCallback>& callback,
                                             sp<media::ISoundDose>* soundDose) {
                                             sp<media::ISoundDose>* soundDose) const {
    if (soundDose == nullptr) {
        return BAD_VALUE;
    }
@@ -2735,14 +2735,14 @@ AudioHwDevice* AudioFlinger::loadHwModule_l(const char *name)

// ----------------------------------------------------------------------------

uint32_t AudioFlinger::getPrimaryOutputSamplingRate()
uint32_t AudioFlinger::getPrimaryOutputSamplingRate() const
{
    Mutex::Autolock _l(mLock);
    IAfPlaybackThread* const thread = fastPlaybackThread_l();
    return thread != NULL ? thread->sampleRate() : 0;
}

size_t AudioFlinger::getPrimaryOutputFrameCount()
size_t AudioFlinger::getPrimaryOutputFrameCount() const
{
    Mutex::Autolock _l(mLock);
    IAfPlaybackThread* const thread = fastPlaybackThread_l();
@@ -2930,7 +2930,7 @@ sp<IAudioManager> AudioFlinger::getOrCreateAudioManager()
    return mAudioManager.load();
}

status_t AudioFlinger::getMicrophones(std::vector<media::MicrophoneInfoFw> *microphones)
status_t AudioFlinger::getMicrophones(std::vector<media::MicrophoneInfoFw>* microphones) const
{
    AutoMutex lock(mHardwareLock);
    status_t status = INVALID_OPERATION;
+109 −110

File changed.

Preview size limit exceeded, changes collapsed.

+4 −4
Original line number Diff line number Diff line
@@ -50,14 +50,14 @@ namespace android {

/* List connected audio ports and their attributes */
status_t AudioFlinger::listAudioPorts(unsigned int *num_ports,
                                struct audio_port *ports)
        struct audio_port* ports) const
{
    Mutex::Autolock _l(mLock);
    return mPatchPanel->listAudioPorts(num_ports, ports);
}

/* Get supported attributes for a given audio port */
status_t AudioFlinger::getAudioPort(struct audio_port_v7 *port) {
status_t AudioFlinger::getAudioPort(struct audio_port_v7* port) const {
    status_t status = AudioValidator::validateAudioPort(*port);
    if (status != NO_ERROR) {
        return status;
@@ -88,8 +88,8 @@ status_t AudioFlinger::releaseAudioPatch(audio_patch_handle_t handle)
}

/* List connected audio ports and they attributes */
status_t AudioFlinger::listAudioPatches(unsigned int *num_patches,
                                  struct audio_patch *patches)
status_t AudioFlinger::listAudioPatches(
        unsigned int* num_patches, struct audio_patch* patches) const
{
    Mutex::Autolock _l(mLock);
    return mPatchPanel->listAudioPatches(num_patches, patches);