Bug 1311594 - Release decoders when MDSM has decoded all audio/video frames. draft
authorJW Wang <jwwang@mozilla.com>
Tue, 11 Oct 2016 17:30:25 +0800
changeset 427305 3b16139e143a35a35faca2dd2a2a6f9c7035bf34
parent 427289 998ad5a74da80fe63664a8dcf30d8f269ffe4e65
child 534427 f1998d03e91494476f3c54d0ea1350aa5177b4f3
push id32974
push userjwwang@mozilla.com
push dateThu, 20 Oct 2016 03:59:56 +0000
bugs1311594
milestone52.0a1
Bug 1311594 - Release decoders when MDSM has decoded all audio/video frames. MozReview-Commit-ID: LoFgTYebYaj
dom/media/MediaDecoderStateMachine.cpp
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -886,16 +886,19 @@ private:
 class MediaDecoderStateMachine::CompletedState
   : public MediaDecoderStateMachine::StateObject
 {
 public:
   explicit CompletedState(Master* aPtr) : StateObject(aPtr) {}
 
   void Enter()
   {
+    // We've decoded all samples. We don't need decoders anymore.
+    Reader()->ReleaseResources();
+
     mMaster->ScheduleStateMachine();
   }
 
   void Exit() override
   {
     mSentPlaybackEndedEvent = false;
   }