Bug 1276572: [webm] Fix MediaRawDataQueue::PushFront. r?jwwang draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Mon, 30 May 2016 19:17:03 +1000
changeset 372732 891c5b46b2f8f44d3a25681e9abccd8d40753517
parent 372695 340c2fe3ef4f55173d1aac20d381ac70e6802fc0
child 522239 6950e568a588d446b5eab257191b41602ba2033c
push id19588
push userbmo:jyavenard@mozilla.com
push dateMon, 30 May 2016 09:17:52 +0000
reviewersjwwang
bugs1276572
milestone49.0a1
Bug 1276572: [webm] Fix MediaRawDataQueue::PushFront. r?jwwang We want to add MediaRawDataQueue aOther at the front, not at the back. MozReview-Commit-ID: 9icTWzRqS4u
dom/media/webm/WebMDemuxer.h
--- a/dom/media/webm/WebMDemuxer.h
+++ b/dom/media/webm/WebMDemuxer.h
@@ -37,26 +37,32 @@ class MediaRawDataQueue {
   }
 
   void PushFront(already_AddRefed<MediaRawData>&& aItem) {
     mQueue.push_front(Move(aItem));
   }
 
   void PushFront(MediaRawDataQueue&& aOther) {
     while (!aOther.mQueue.empty()) {
-      Push(aOther.PopFront());
+      PushFront(aOther.Pop());
     }
   }
 
   already_AddRefed<MediaRawData> PopFront() {
     RefPtr<MediaRawData> result = mQueue.front().forget();
     mQueue.pop_front();
     return result.forget();
   }
 
+  already_AddRefed<MediaRawData> Pop() {
+    RefPtr<MediaRawData> result = mQueue.back().forget();
+    mQueue.pop_back();
+    return result.forget();
+  }
+
   void Reset() {
     while (!mQueue.empty()) {
       mQueue.pop_front();
     }
   }
 
   MediaRawDataQueue& operator=(const MediaRawDataQueue& aOther) {
     mQueue = aOther.mQueue;