From: Wim Taymans Date: Mon, 12 Mar 2012 17:02:27 +0000 (+0100) Subject: caps: small cleanups X-Git-Tag: RELEASE-0.11.3~45 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4bbc3b6f0469cc27e2f6e476d0c6a987a28ac41a;p=platform%2Fupstream%2Fgstreamer.git caps: small cleanups --- diff --git a/gst/gstcaps.c b/gst/gstcaps.c index b3c9da5..c2e0dd1 100644 --- a/gst/gstcaps.c +++ b/gst/gstcaps.c @@ -606,29 +606,30 @@ gst_caps_remove_structure (GstCaps * caps, guint idx) GstCaps * gst_caps_merge_structure (GstCaps * caps, GstStructure * structure) { + GstStructure *structure1; + int i; + gboolean unique = TRUE; + g_return_val_if_fail (GST_IS_CAPS (caps), NULL); - if (G_LIKELY (structure)) { - GstStructure *structure1; - int i; - gboolean unique = TRUE; - - /* check each structure */ - for (i = GST_CAPS_LEN (caps) - 1; i >= 0; i--) { - structure1 = gst_caps_get_structure_unchecked (caps, i); - /* if structure is a subset of structure1, then skip it */ - if (gst_structure_is_subset (structure, structure1)) { - unique = FALSE; - break; - } - } - if (unique) { - caps = gst_caps_make_writable (caps); - gst_caps_append_structure_unchecked (caps, structure); - } else { - gst_structure_free (structure); + if (G_UNLIKELY (structure == NULL)) + return caps; + + /* check each structure */ + for (i = GST_CAPS_LEN (caps) - 1; i >= 0; i--) { + structure1 = gst_caps_get_structure_unchecked (caps, i); + /* if structure is a subset of structure1, then skip it */ + if (gst_structure_is_subset (structure, structure1)) { + unique = FALSE; + break; } } + if (unique) { + caps = gst_caps_make_writable (caps); + gst_caps_append_structure_unchecked (caps, structure); + } else { + gst_structure_free (structure); + } return caps; }