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

Commit 436d9e9d authored by Dichen Zhang's avatar Dichen Zhang Committed by android-build-merger
Browse files

Merge "NuPlayer: Call video flush on audio teardown"

am: d0939173

Change-Id: Ia993392b3f12d2332b6e5d7c5762ed30d295306c
parents 23a9678b d0939173
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -1818,10 +1818,20 @@ void NuPlayer::restartAudio(
    closeAudioSink();
    mRenderer->flush(true /* audio */, false /* notifyComplete */);
    if (mVideoDecoder != NULL) {
        mRenderer->flush(false /* audio */, false /* notifyComplete */);
    }

        mDeferredActions.push_back(
                new FlushDecoderAction(FLUSH_CMD_NONE /* audio */,
                                       FLUSH_CMD_FLUSH /* video */));
        mDeferredActions.push_back(
                new SeekAction(currentPositionUs,
                MediaPlayerSeekMode::SEEK_PREVIOUS_SYNC /* mode */));
        // After a flush without shutdown, decoder is paused.
        // Don't resume it until source seek is done, otherwise it could
        // start pulling stale data too soon.
        mDeferredActions.push_back(new ResumeDecoderAction(false));
        processDeferredActions();
    } else {
        performSeek(currentPositionUs, MediaPlayerSeekMode::SEEK_PREVIOUS_SYNC /* mode */);
    }

    if (forceNonOffload) {
        mRenderer->signalDisableOffloadAudio();