diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index 973815b1a5214..d4ad972288fa7 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -261,6 +261,8 @@ status_t AwesomePlayer::play() { mFlags |= PLAYING; mFlags |= FIRST_FRAME; + bool deferredAudioSeek = false; + if (mAudioSource != NULL) { if (mAudioPlayer == NULL) { if (mAudioSink != NULL) { @@ -275,9 +277,7 @@ status_t AwesomePlayer::play() { delete mTimeSource; mTimeSource = mAudioPlayer; - // If there was a seek request while we were paused - // and we're just starting up again, honor the request now. - seekAudioIfNecessary_l(); + deferredAudioSeek = true; } } else { mAudioPlayer->resume(); @@ -299,6 +299,12 @@ status_t AwesomePlayer::play() { } } + if (deferredAudioSeek) { + // If there was a seek request while we were paused + // and we're just starting up again, honor the request now. + seekAudioIfNecessary_l(); + } + return OK; }