h265parse: Update caps when receive VPS/SPS/PPS
authorduhui.lee <duhui.lee@lge.com>
Mon, 20 Jan 2014 06:21:42 +0000 (15:21 +0900)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 20 Jan 2014 09:05:18 +0000 (10:05 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=722240

gst/videoparsers/gsth265parse.c

index 95ca928..d2e828d 100644 (file)
@@ -1828,10 +1828,13 @@ gst_h265_parse_set_caps (GstBaseParse * parse, GstCaps * caps)
   }
 
   if (format == h265parse->format && align == h265parse->align) {
-    gst_base_parse_set_passthrough (parse, TRUE);
+    /* do not set CAPS and passthrough mode if VPS/SPS/PPS have not been parsed */
+    if (h265parse->have_vps && h265parse->have_sps && h265parse->have_pps) {
+      gst_base_parse_set_passthrough (parse, TRUE);
 
-    /* we did parse codec-data and might supplement src caps */
-    gst_h265_parse_update_src_caps (h265parse, caps);
+      /* we did parse codec-data and might supplement src caps */
+      gst_h265_parse_update_src_caps (h265parse, caps);
+    }
   } else if (format == GST_H265_PARSE_FORMAT_HVC1
       || format == GST_H265_PARSE_FORMAT_HEV1) {
     /* if input != output, and input is hevc, must split before anything else */