Fix seek-on-startup behaviour in AwesomePlayer.
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 973815b..d4ad972 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -261,6 +261,8 @@
mFlags |= PLAYING;
mFlags |= FIRST_FRAME;
+ bool deferredAudioSeek = false;
+
if (mAudioSource != NULL) {
if (mAudioPlayer == NULL) {
if (mAudioSink != NULL) {
@@ -275,9 +277,7 @@
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 @@
}
}
+ 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;
}