h265parse: Make caps writable before modifying them
authorSeungha Yang <pudding8757@gmail.com>
Fri, 6 Apr 2018 14:22:39 +0000 (23:22 +0900)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Thu, 12 Apr 2018 02:47:21 +0000 (22:47 -0400)
Fix following assertion failure
GStreamer-CRITICAL **: gst_structure_remove_field: assertion 'IS_MUTABLE (structure)' failed

https://bugzilla.gnome.org/show_bug.cgi?id=795032

gst/videoparsers/gsth265parse.c

index 46de66f514a46850c868112460facaf9dd7676ba..d68423e0f8f934fc2d99f41fd3bed5e2594f5b85 100644 (file)
@@ -2268,8 +2268,10 @@ gst_h265_parse_get_caps (GstBaseParse * parse, GstCaps * filter)
   }
 
   /* Try if we can put the downstream caps first */
-  remove_fields (peercaps, FALSE);
-  tmp = gst_caps_intersect_full (peercaps, res, GST_CAPS_INTERSECT_FIRST);
+  pcopy = gst_caps_copy (peercaps);
+  remove_fields (pcopy, FALSE);
+  tmp = gst_caps_intersect_full (pcopy, res, GST_CAPS_INTERSECT_FIRST);
+  gst_caps_unref (pcopy);
   if (!gst_caps_is_empty (tmp))
     res = gst_caps_merge (tmp, res);
   else