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

Commit b0241570 authored by Eric Laurent's avatar Eric Laurent
Browse files

AudioFlinger: Fix support for new latency modes

Commit be21a940 added support for new latency modes in Spatializer
controller but support was missing in the Spatializer mixer implementation.

Bug: 307588546
Test: make
Change-Id: If6d249846ad5d41d3ff89715421a25e945b9d507
parent e09a68f3
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -7876,16 +7876,12 @@ void SpatializerThread::setHalLatencyMode_l() {
        //   (mRequestedLatencyMode = AUDIO_LATENCY_MODE_LOW)
        //      AND
        // - At least one active track is spatialized
        bool hasSpatializedActiveTrack = false;
        for (const auto& track : mActiveTracks) {
            if (track->isSpatialized()) {
                hasSpatializedActiveTrack = true;
                latencyMode = mRequestedLatencyMode;
                break;
            }
        }
        if (hasSpatializedActiveTrack && mRequestedLatencyMode == AUDIO_LATENCY_MODE_LOW) {
            latencyMode = AUDIO_LATENCY_MODE_LOW;
        }
    }

    if (latencyMode != mSetLatencyMode) {
@@ -7899,7 +7895,7 @@ void SpatializerThread::setHalLatencyMode_l() {
}

status_t SpatializerThread::setRequestedLatencyMode(audio_latency_mode_t mode) {
    if (mode != AUDIO_LATENCY_MODE_LOW && mode != AUDIO_LATENCY_MODE_FREE) {
    if (mode < 0 || mode >= AUDIO_LATENCY_MODE_CNT) {
        return BAD_VALUE;
    }
    audio_utils::lock_guard _l(mutex());