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

Commit 1fb35b71 authored by Wei Jia's avatar Wei Jia
Browse files

NuPlayerRenderer: work around some racing condition in audio track

Test: no more super long delay when seeking/pausing/resuming
Bug: 66917327
Change-Id: Ic43ef543984f299d6ea7197c9e55d76518474c8a
parent dddb4326
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -549,8 +549,10 @@ void NuPlayer::Renderer::onMessageReceived(const sp<AMessage> &msg) {
                CHECK_EQ(mAudioSink->getPosition(&numFramesPlayed),
                         (status_t)OK);

                // Handle AudioTrack race when start is immediately called after flush.
                uint32_t numFramesPendingPlayout =
                    mNumFramesWritten - numFramesPlayed;
                    (mNumFramesWritten > numFramesPlayed ?
                        mNumFramesWritten - numFramesPlayed : 0);

                // This is how long the audio sink will have data to
                // play back.