Bug 1300956. Part 6 - Implement SeekingState. draft
authorJW Wang <jwwang@mozilla.com>
Tue, 06 Sep 2016 11:20:12 +0800
changeset 411525 c615a4e5fadf579fba4fa2bec415a8adb4888577
parent 411524 8eed1251dbbc32fbb0a9c15b12fb6bd25ec553d8
child 411526 84bf99504f82ce4d2d3df96c977a8d6e8ed9c040
push id28915
push userjwwang@mozilla.com
push dateThu, 08 Sep 2016 07:23:46 +0000
bugs1300956
milestone51.0a1
Bug 1300956. Part 6 - Implement SeekingState. MozReview-Commit-ID: IrEOmTXlzuR
dom/media/MediaDecoderStateMachine.cpp
--- 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();
 }