Bug 1245959 - Check video frame has non-zero dimensions before sending image to compositor. r?nical draft
authorJamie Nicol <jnicol@mozilla.com>
Mon, 19 Sep 2016 14:41:36 +0100
changeset 415423 7ba4791da0afef1d0a382eaf8ffdd31b26898320
parent 415422 b268ff72101e8ac7423e27a3482dd494f7bcf2c2
child 531604 e4c0cb4f8d773cffc2200b04729b0aa6c68e641d
push id29866
push userbmo:jnicol@mozilla.com
push dateTue, 20 Sep 2016 09:24:28 +0000
reviewersnical
bugs1245959
milestone52.0a1
Bug 1245959 - Check video frame has non-zero dimensions before sending image to compositor. r?nical MozReview-Commit-ID: 6PlWqE6is7Z
dom/media/mediasink/VideoSink.cpp
--- a/dom/media/mediasink/VideoSink.cpp
+++ b/dom/media/mediasink/VideoSink.cpp
@@ -350,17 +350,18 @@ VideoSink::RenderVideoFrames(int32_t aMa
   AutoTArray<ImageContainer::NonOwningImage,16> images;
   TimeStamp lastFrameTime;
   MediaSink::PlaybackParams params = mAudioSink->GetPlaybackParams();
   for (uint32_t i = 0; i < frames.Length(); ++i) {
     VideoData* frame = frames[i]->As<VideoData>();
 
     frame->mSentToCompositor = true;
 
-    if (!frame->mImage || !frame->mImage->IsValid()) {
+    if (!frame->mImage || !frame->mImage->IsValid() ||
+        !frame->mImage->GetSize().width || !frame->mImage->GetSize().height) {
       continue;
     }
 
     int64_t frameTime = frame->mTime;
     if (frameTime < 0) {
       // Frame times before the start time are invalid; drop such frames
       continue;
     }