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

Commit 94a92c69 authored by Phil Burk's avatar Phil Burk Committed by Android (Google) Code Review
Browse files

Merge "[audio][audioflinger] Consume all frames when a DirectThread is done." into lmp-mr1-dev

parents f484952e 99adee3c
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -4009,9 +4009,14 @@ AudioFlinger::PlaybackThread::mixer_state AudioFlinger::DirectOutputThread::prep
        bool last = l.get() == track;

        // The first time a track is added we wait
        // for all its buffers to be filled before processing it
        // for all its buffers to be filled before processing it.
        // Allow draining the buffer in case the client
        // app does not call stop() and relies on underrun to stop:
        // hence the test on (track->mRetryCount > 1).
        // If retryCount<=1 then track is about to underrun and be removed.
        uint32_t minFrames;
        if ((track->sharedBuffer() == 0) && !track->isStopping_1() && !track->isPausing()) {
        if ((track->sharedBuffer() == 0) && !track->isStopping_1() && !track->isPausing()
            && (track->mRetryCount > 1)) {
            minFrames = mNormalFrameCount;
        } else {
            minFrames = 1;