h264parse: Wait until SPS/PPS before outputting any data
authorIlya Smelykh <ilya.smelykh@gmail.com>
Fri, 7 Jun 2013 10:10:08 +0000 (12:10 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 7 Jun 2013 10:10:08 +0000 (12:10 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=646327

gst/videoparsers/gsth264parse.c

index 6da80f2..2d4e711 100644 (file)
@@ -882,7 +882,15 @@ gst_h264_parse_handle_frame (GstBaseParse * parse,
       }
     }
 
-    gst_h264_parse_process_nal (h264parse, &nalu);
+    if (nalu.type == GST_H264_NAL_SPS || 
+        nalu.type == GST_H264_NAL_PPS ||
+        (h264parse->have_sps && h264parse->have_pps)) {
+      gst_h264_parse_process_nal (h264parse, &nalu);
+    } else {
+      GST_WARNING_OBJECT (h264parse, "no SPS/PPS yet, nal Type: %d, Size: %u will be dropped", nalu.type, nalu.size);
+      *skipsize = nalu.size;
+      goto skip;
+    }
 
     if (nonext)
       break;