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

Commit 29c6a1fa 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

am: 436d9e9d

Change-Id: Iab496f913d308599ffc946672a90689274a06ac5
parents e9ab588c 436d9e9d
Loading
Loading
Loading
Loading
+13 −3
Original line number Original line Diff line number Diff line
@@ -1818,10 +1818,20 @@ void NuPlayer::restartAudio(
    closeAudioSink();
    closeAudioSink();
    mRenderer->flush(true /* audio */, false /* notifyComplete */);
    mRenderer->flush(true /* audio */, false /* notifyComplete */);
    if (mVideoDecoder != NULL) {
    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 */);
        performSeek(currentPositionUs, MediaPlayerSeekMode::SEEK_PREVIOUS_SYNC /* mode */);
    }


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