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

Commit 0643771a authored by Eric Laurent's avatar Eric Laurent
Browse files

Fix issue 2091594: music chirp after disconnecting A2DP.

In AudioFlinger::MixerThread::putTracks(), change the mFillingUpStatus flag to FS_FILLING for active tracks so that mute request is executed without ramping volume down when the track is moved from A2DP to hardware output.
Also modified AudioFlinger::setStreamOutput() so that the notification of the change is sent only once to AudioSystem.
parent ae4d3a4f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1449,6 +1449,8 @@ void AudioFlinger::MixerThread::putTracks(
        int j = activeTracks.indexOf(t);
        if (j >= 0) {
            mActiveTracks.add(t);
            // force buffer refilling and no ramp volume when the track is mixed for the first time
            t->mFillingUpStatus = Track::FS_FILLING;
        }
    }
}
@@ -3512,10 +3514,11 @@ status_t AudioFlinger::setStreamOutput(uint32_t stream, int output)
            if (tracks.size()) {
                dstThread->putTracks(tracks, activeTracks);
            }
            dstThread->sendConfigEvent(AudioSystem::STREAM_CONFIG_CHANGED, stream);
        }
    }

    dstThread->sendConfigEvent(AudioSystem::STREAM_CONFIG_CHANGED, stream);

    return NO_ERROR;
}