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

Commit cafe86a9 authored by Andy Hung's avatar Andy Hung
Browse files

Do not acknowledge flush() on start() for static tracks

Bug: 22938515
Change-Id: I1de653de169a3fbbaa693da6057897ea57772447
parent b3b34074
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -712,10 +712,13 @@ status_t AudioFlinger::PlaybackThread::Track::start(AudioSystem::sync_event_t ev
            // But in this case we know the mixer thread (whether normal mixer or fast mixer)
            // isn't looking at this track yet:  we still hold the normal mixer thread lock,
            // and for fast tracks the track is not yet in the fast mixer thread's active set.
            // TODO: remove race condition on stop() followed by start().
            if (mSharedBuffer == 0) {  // only streaming tracks use flush().
                ServerProxy::Buffer buffer;
                buffer.mFrameCount = 1;
                (void) mAudioTrackServerProxy->obtainBuffer(&buffer, true /*ackFlush*/);
            }
        }
    } else {
        status = BAD_VALUE;
    }