codecparsers: vc1: handle skipped pictures gracefully.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Wed, 5 Oct 2011 15:39:59 +0000 (17:39 +0200)
committerThibault Saunier <thibault.saunier@collabora.com>
Mon, 17 Oct 2011 11:17:39 +0000 (13:17 +0200)
gst-libs/gst/codecparsers/gstvc1parser.c

index 1725347..6a77409 100644 (file)
@@ -876,9 +876,6 @@ parse_frame_header_advanced (GstBitReader * br, GstVC1FrameHdr * framehdr,
 
   framehdr->ptype = get_unary (br, 0, 4);
 
-  if (framehdr->ptype == GST_VC1_PICTURE_TYPE_SKIPPED)
-    goto failed;
-
   if (advhdr->tfcntrflag) {
     READ_UINT8 (br, pic->tfcntr, 8);
     GST_DEBUG ("tfcntr %u", pic->tfcntr);
@@ -916,6 +913,9 @@ parse_frame_header_advanced (GstBitReader * br, GstVC1FrameHdr * framehdr,
     }
   }
 
+  if (framehdr->ptype == GST_VC1_PICTURE_TYPE_SKIPPED)
+    return GST_VC1_PARSER_OK;
+
   READ_UINT8 (br, pic->rndctrl, 1);
 
   if (advhdr->interlace) {