Bug 1238343 - Update MDSM::mIsAudioPrerolling/mIsVideoPrerolling when playback rate changes. r=cpearce.
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -2763,16 +2763,23 @@ MediaDecoderStateMachine::LogicalPlaybac
if (mLogicalPlaybackRate == 0) {
// This case is handled in MediaDecoder by pausing playback.
return;
}
mPlaybackRate = mLogicalPlaybackRate;
mMediaSink->SetPlaybackRate(mPlaybackRate);
+ if (mIsAudioPrerolling && DonePrerollingAudio()) {
+ StopPrerollingAudio();
+ }
+ if (mIsVideoPrerolling && DonePrerollingVideo()) {
+ StopPrerollingVideo();
+ }
+
ScheduleStateMachine();
}
void MediaDecoderStateMachine::PreservesPitchChanged()
{
MOZ_ASSERT(OnTaskQueue());
mMediaSink->SetPreservesPitch(mPreservesPitch);
}