discoverer: Clean up more fields to decide if parent/child streams are equivalent
authorSebastian Dröge <sebastian@centricular.com>
Thu, 18 May 2017 10:24:19 +0000 (13:24 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 29 May 2017 07:55:01 +0000 (10:55 +0300)
https://bugzilla.gnome.org/show_bug.cgi?id=782780

gst-libs/gst/pbutils/gstdiscoverer.c

index 5d742a66c21eb151164aaf97828e26e04d25438a..af35fba5c7d916e645fd3c3679ea22d1efc04e21 100644 (file)
@@ -1055,7 +1055,6 @@ static gboolean
 child_is_same_stream (const GstCaps * _parent, const GstCaps * child)
 {
   GstCaps *parent;
-  guint i, size;
   gboolean res;
 
   if (_parent == child)
@@ -1065,17 +1064,7 @@ child_is_same_stream (const GstCaps * _parent, const GstCaps * child)
   if (!child)
     return FALSE;
 
-  parent = gst_caps_copy (_parent);
-  size = gst_caps_get_size (parent);
-
-  for (i = 0; i < size; i++) {
-    gst_structure_remove_field (gst_caps_get_structure (parent, i), "parsed");
-    gst_structure_remove_field (gst_caps_get_structure (parent, i), "framed");
-    gst_structure_remove_field (gst_caps_get_structure (parent, i),
-        "stream-format");
-    gst_structure_remove_field (gst_caps_get_structure (parent, i),
-        "alignment");
-  }
+  parent = copy_and_clean_caps (_parent);
   res = gst_caps_can_intersect (parent, child);
   gst_caps_unref (parent);
   return res;