Fix seek-on-startup behaviour in AwesomePlayer.
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user