mpegvideoparse: check for same TSN only for interlaced streams (fixes unit test)
authorMatej Knopp <matej.knopp@gmail.com>
Sat, 9 Nov 2013 12:32:21 +0000 (13:32 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Sat, 9 Nov 2013 14:36:06 +0000 (15:36 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=711721

gst/videoparsers/gstmpegvideoparse.c

index 79387f353272c4afc970ea68483096f86c659c17..1b2116fcecc54cbf4cf2dcec2d4c708b203524da 100644 (file)
@@ -544,7 +544,9 @@ gst_mpegv_parse_process_sc (GstMpegvParse * mpvparse,
     /* if terminating packet is a picture, we need to check if it has same TSN as the picture that is being
        terminated. If it does, we need to keep those together, as these packets are two fields of the same
        frame */
-    if (packet->type == GST_MPEG_VIDEO_PACKET_PICTURE) {
+    if (packet->type == GST_MPEG_VIDEO_PACKET_PICTURE
+        && (mpvparse->config_flags & FLAG_SEQUENCE_EXT)
+        && !mpvparse->sequenceext.progressive) {
       if (info->size - off < 2) {       /* we need at least two bytes to read the TSN */
         ret = FALSE;
       } else {