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:34:51 +0000 (15:34 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=711721

gst/videoparsers/gstmpegvideoparse.c

index 79387f3..1b2116f 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 {