Merge "NuPlayer2: Call video flush on audio teardown" am: bf430563f8 am: d98913f7b5

am: f875b213e0

Change-Id: Ib523ce5acae56fa834da438e14f71ba54d8e5ed5
gugelfrei
Dichen Zhang 5 years ago committed by android-build-merger
commit cf272c82a2

@ -1988,11 +1988,21 @@ void NuPlayer2::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 */);
}
performSeek(currentPositionUs, MediaPlayer2SeekMode::SEEK_PREVIOUS_SYNC /* mode */);
if (forceNonOffload) {
mRenderer->signalDisableOffloadAudio();
mOffloadAudio = false;

Loading…
Cancel
Save