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

Commit 5db373e7 authored by Gareth Fenn's avatar Gareth Fenn Committed by Android Build Cherrypicker Worker
Browse files

AudioFlinger: do not reset mHwPaused on flush

The hardware pause feature is hidden from the track clients.
Make the current implementation consistent that when mHwPaused
is set it requires a resume() after a flush().

Test: see bug
Bug: 335784313
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:88f1dd08f127ca918a261428aac7928defa156c3)
Merged-In: I4c7db89277a6144b9b78223fa6f899c85adfb3fc
Change-Id: I4c7db89277a6144b9b78223fa6f899c85adfb3fc
parent 93e49122
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -7101,11 +7101,14 @@ void DirectOutputThread::flushHw_l()
{
    PlaybackThread::flushHw_l();
    mOutput->flush();
    mHwPaused = false;
    mFlushPending = false;
    mTimestampVerifier.discontinuity(discontinuityForStandbyOrFlush());
    mTimestamp.clear();
    mMonotonicFrameCounter.onFlush();
    // We do not reset mHwPaused which is hidden from the Track client.
    // Note: the client track in Tracks.cpp and AudioTrack.cpp
    // has a FLUSHED state but the DirectOutputThread does not;
    // those tracks will continue to show isStopped().
}

int64_t DirectOutputThread::computeWaitTimeNs_l() const {