Bug 1300956. Part 6 - Implement SeekingState.
MozReview-Commit-ID: IrEOmTXlzuR
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -307,16 +307,28 @@ public:
}
State GetState() const override
{
return DECODER_STATE_DECODING;
}
};
+class MediaDecoderStateMachine::SeekingState
+ : public MediaDecoderStateMachine::StateObject
+{
+public:
+ explicit SeekingState(Master* aPtr) : StateObject(aPtr) {}
+
+ State GetState() const override
+ {
+ return DECODER_STATE_SEEKING;
+ }
+};
+
#define INIT_WATCHABLE(name, val) \
name(val, "MediaDecoderStateMachine::" #name)
#define INIT_MIRROR(name, val) \
name(mTaskQueue, val, "MediaDecoderStateMachine::" #name " (Mirror)")
#define INIT_CANONICAL(name, val) \
name(mTaskQueue, val, "MediaDecoderStateMachine::" #name " (Canonical)")
MediaDecoderStateMachine::MediaDecoderStateMachine(MediaDecoder* aDecoder,
@@ -1186,16 +1198,19 @@ MediaDecoderStateMachine::SetState(State
mStateObj = MakeUnique<DormantState>(this);
break;
case DECODER_STATE_DECODING_FIRSTFRAME:
mStateObj = MakeUnique<DecodingFirstFrameState>(this);
break;
case DECODER_STATE_DECODING:
mStateObj = MakeUnique<DecodingState>(this);
break;
+ case DECODER_STATE_SEEKING:
+ mStateObj = MakeUnique<SeekingState>(this);
+ break;
default:
mStateObj = nullptr;
break;
}
EnterState();
}