summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2011-10-05 17:39:59 +0200
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2011-10-06 09:14:52 +0200
commitb2dd845f9f89b6b9838dde52055b80d27598b3b6 (patch)
treeb61a0e56cd38cf0ed6384a5d7118a1124fb97bad
parentbc666c0e6868e78e8cdbe18334e0eb4501842ae6 (diff)
codecparsers: vc1: handle skipped pictures gracefully.
-rw-r--r--gst-libs/gst/codecparsers/gstvc1parser.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
index f39bd9697..0e31851fe 100644
--- a/gst-libs/gst/codecparsers/gstvc1parser.c
+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
@@ -872,9 +872,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);
@@ -912,6 +909,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) {