Bug 1158293 - Fix ResumeStateMachine()'s seek handling r=cpearce

This commit is contained in:
Sotaro Ikeda 2015-04-29 08:36:49 -07:00
Родитель 0edbeb71c8
Коммит 505cd512eb
1 изменённых файлов: 10 добавлений и 1 удалений

Просмотреть файл

@ -143,10 +143,19 @@ MediaOmxCommonDecoder::ResumeStateMachine()
mRequestedSeekTarget = SeekTarget(timeUsecs, mRequestedSeekTarget = SeekTarget(timeUsecs,
SeekTarget::Accurate, SeekTarget::Accurate,
MediaDecoderEventVisibility::Suppressed); MediaDecoderEventVisibility::Suppressed);
// Call Seek of MediaDecoderStateMachine to suppress seek events.
RefPtr<nsRunnable> event =
NS_NewRunnableMethodWithArg<SeekTarget>(
GetStateMachine(),
&MediaDecoderStateMachine::Seek,
mRequestedSeekTarget);
GetStateMachine()->TaskQueue()->Dispatch(event);
mRequestedSeekTarget.Reset();
mNextState = mPlayState; mNextState = mPlayState;
ChangeState(PLAY_STATE_LOADING); ChangeState(PLAY_STATE_LOADING);
// exit dormant state // exit dormant state
RefPtr<nsRunnable> event = event =
NS_NewRunnableMethodWithArg<bool>( NS_NewRunnableMethodWithArg<bool>(
GetStateMachine(), GetStateMachine(),
&MediaDecoderStateMachine::SetDormant, &MediaDecoderStateMachine::SetDormant,