Bug 1254311: [mp4] Ignore empty raw sample. r=cpearce draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Tue, 08 Mar 2016 21:48:38 +1100
changeset 338091 afab86bc6f54c0d4c494b5de9459c477cd5f4a0a
parent 337578 ccbf8bd399dc58837a8400046376ff03b2912fae
child 515713 11e2e5a3c047d3e844bcfd7835c62ff6a966664b
push id12417
push userbmo:jyavenard@mozilla.com
push dateTue, 08 Mar 2016 11:22:41 +0000
reviewerscpearce
bugs1254311
milestone47.0a1
Bug 1254311: [mp4] Ignore empty raw sample. r=cpearce Some decoders (wmf) will return an error if fed an empty sample. MozReview-Commit-ID: 2FF0cy41zYV
dom/media/fmp4/MP4Demuxer.cpp
--- a/dom/media/fmp4/MP4Demuxer.cpp
+++ b/dom/media/fmp4/MP4Demuxer.cpp
@@ -297,16 +297,19 @@ MP4TrackDemuxer::GetSamples(int32_t aNum
 
   if (mQueuedSample) {
     samples->mSamples.AppendElement(mQueuedSample);
     mQueuedSample = nullptr;
     aNumSamples--;
   }
   RefPtr<MediaRawData> sample;
   while (aNumSamples && (sample = mIterator->GetNext())) {
+    if (!sample->Size()) {
+      continue;
+    }
     samples->mSamples.AppendElement(sample);
     aNumSamples--;
   }
 
   if (samples->mSamples.IsEmpty()) {
     return SamplesPromise::CreateAndReject(DemuxerFailureReason::END_OF_STREAM, __func__);
   } else {
     UpdateSamples(samples->mSamples);