Bug 1346498 part 7 - connect the VideoDecodeMode canonical-mirror pair; r?jwwang
MozReview-Commit-ID: bpbcfwkgyt
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -2542,16 +2542,17 @@ ShutdownState::Enter()
master->mNextPlayState.DisconnectIfConnected();
master->mVolume.DisconnectIfConnected();
master->mPreservesPitch.DisconnectIfConnected();
master->mSameOriginMedia.DisconnectIfConnected();
master->mMediaPrincipalHandle.DisconnectIfConnected();
master->mPlaybackBytesPerSecond.DisconnectIfConnected();
master->mPlaybackRateReliable.DisconnectIfConnected();
master->mDecoderPosition.DisconnectIfConnected();
+ master->mVideoDecodeMode.DisconnectIfConnected();
master->mDuration.DisconnectAll();
master->mIsShutdown.DisconnectAll();
master->mNextFrameStatus.DisconnectAll();
master->mCurrentPosition.DisconnectAll();
master->mPlaybackOffset.DisconnectAll();
master->mIsAudioDataAudible.DisconnectAll();
@@ -2679,16 +2680,17 @@ MediaDecoderStateMachine::Initialization
&MediaDecoderStateMachine::RecomputeDuration);
mWatchManager.Watch(mExplicitDuration,
&MediaDecoderStateMachine::RecomputeDuration);
mWatchManager.Watch(mObservedDuration,
&MediaDecoderStateMachine::RecomputeDuration);
mWatchManager.Watch(mPlayState, &MediaDecoderStateMachine::PlayStateChanged);
if (MediaPrefs::MDSMSuspendBackgroundVideoEnabled()) {
+ mVideoDecodeMode.Connect(aDecoder->CanonicalVideoDecodeMode());
mWatchManager.Watch(mVideoDecodeMode,
&MediaDecoderStateMachine::VideoDecodeModeChanged);
}
MOZ_ASSERT(!mStateObj);
auto* s = new DecodeMetadataState(this);
mStateObj.reset(s);
s->Enter();