Bug 1154896: Part2. Ignore kVTDecodeInfo_FrameDropped flag. r=rillian
authorJean-Yves Avenard <jyavenard@mozilla.com>
Wed, 06 May 2015 09:58:09 +1000
changeset 273870 43dd0a4dcfa819d10084c1e31d566a41f0cff4b1
parent 273869 d9c414e61a09df49f0bf7b4bbe4d0f907ec818a9
child 273871 5898ca2888e5ab265958c377c7731ce643d8c634
push id863
push userraliiev@mozilla.com
push dateMon, 03 Aug 2015 13:22:43 +0000
treeherdermozilla-release@f6321b14228d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrillian
bugs1154896
milestone40.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1154896: Part2. Ignore kVTDecodeInfo_FrameDropped flag. r=rillian It appears that on some machine, all video frames are marked with kVTDecodeInfo_FrameDropped even when valid. We just can't rely on it.
dom/media/fmp4/apple/AppleVTDecoder.cpp
--- a/dom/media/fmp4/apple/AppleVTDecoder.cpp
+++ b/dom/media/fmp4/apple/AppleVTDecoder.cpp
@@ -163,18 +163,17 @@ PlatformCallback(void* decompressionOutp
     static_cast<AppleVTDecoder::AppleFrameRef*>(sourceFrameRefCon));
 
   // Validate our arguments.
   if (status != noErr || !image) {
     NS_WARNING("VideoToolbox decoder returned no data");
     return;
   }
   if (flags & kVTDecodeInfo_FrameDropped) {
-    NS_WARNING("  ...frame dropped...");
-    return;
+    NS_WARNING("  ...frame tagged as dropped...");
   }
   MOZ_ASSERT(CFGetTypeID(image) == CVPixelBufferGetTypeID(),
     "VideoToolbox returned an unexpected image type");
 
   // Forward the data back to an object method which can access
   // the correct MP4Reader callback.
   decoder->OutputFrame(image, frameRef);
 }