summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2011-10-05 17:39:59 +0200
committerThibault Saunier <thibault.saunier@collabora.com>2011-10-17 13:17:39 +0200
commitb23f7eb38d8fc407e054a91229468d1667eeb5b1 (patch)
treede452da005db77ef7bf3bc927476cfc3cc8bac4f
parentce71fdae1b2259bed05a79d50a1e2e888e085d77 (diff)
downloadgstreamer-plugins-bad-b23f7eb38d8fc407e054a91229468d1667eeb5b1.tar.gz
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 172534796..6a7740946 100644
--- a/gst-libs/gst/codecparsers/gstvc1parser.c
+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
@@ -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) {