Bug 1246536: [webm] Only use discard padding information on last packet. r?kinetik draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Tue, 15 Mar 2016 18:03:30 +1100
changeset 340384 12b8726a6a953a56758eb290539a2e9e8a11d335
parent 340383 c5d6121a3f374108991fe5a508bbbce446099f64
child 516182 cafc724b16a2579591b7cbc2cb2ecd03e4d1e8b3
push id12958
push userbmo:jyavenard@mozilla.com
push dateTue, 15 Mar 2016 07:03:55 +0000
reviewerskinetik
bugs1246536
milestone48.0a1
Bug 1246536: [webm] Only use discard padding information on last packet. r?kinetik MozReview-Commit-ID: 3MYm25HfX0N
dom/media/webm/WebMDemuxer.cpp
--- a/dom/media/webm/WebMDemuxer.cpp
+++ b/dom/media/webm/WebMDemuxer.cpp
@@ -577,17 +577,17 @@ WebMDemuxer::GetNextPacket(TrackInfo::Tr
     WEBM_DEBUG("push sample tstamp: %ld next_tstamp: %ld length: %ld kf: %d",
                tstamp, next_tstamp, length, isKeyframe);
     RefPtr<MediaRawData> sample = new MediaRawData(data, length);
     sample->mTimecode = tstamp;
     sample->mTime = tstamp;
     sample->mDuration = next_tstamp - tstamp;
     sample->mOffset = holder->Offset();
     sample->mKeyframe = isKeyframe;
-    if (discardPadding) {
+    if (discardPadding && i == count - 1) {
       uint8_t c[8];
       BigEndian::writeInt64(&c[0], discardPadding);
       sample->mExtraData = new MediaByteBuffer;
       sample->mExtraData->AppendElements(&c[0], 8);
     }
     aSamples->Push(sample);
   }
   return true;