mpegvideoparse: tweak extension handling
authorMark Nauwelaerts <mnauw@users.sourceforge.net>
Sun, 10 Nov 2013 11:17:18 +0000 (12:17 +0100)
committerMark Nauwelaerts <mnauw@users.sourceforge.net>
Mon, 11 Nov 2013 12:36:02 +0000 (13:36 +0100)
gst/videoparsers/gstmpegvideoparse.c

index 1b2116fcecc54cbf4cf2dcec2d4c708b203524da..bff98f8c277b968ca15182443496983f8e363fb7 100644 (file)
@@ -501,9 +501,14 @@ gst_mpegv_parse_process_sc (GstMpegvParse * mpvparse,
       break;
     case GST_MPEG_VIDEO_PACKET_EXTENSION:
       GST_LOG_OBJECT (mpvparse, "startcode is VIDEO PACKET EXTENSION");
-      parse_packet_extension (mpvparse, info, off);
-      if (mpvparse->ext_count < G_N_ELEMENTS (mpvparse->ext_offsets))
-        mpvparse->ext_offsets[mpvparse->ext_count++] = off;
+      if (mpvparse->pic_offset >= 0) {
+        GST_LOG_OBJECT (mpvparse, "... considered PICTURE EXTENSION");
+        parse_packet_extension (mpvparse, info, off);
+      } else {
+        GST_LOG_OBJECT (mpvparse, "... considered SEQUENCE EXTENSION");
+        if (mpvparse->ext_count < G_N_ELEMENTS (mpvparse->ext_offsets))
+          mpvparse->ext_offsets[mpvparse->ext_count++] = off;
+      }
       checkconfig = FALSE;
       break;
     default: