gst/gstcaps.c: Allow passing of NULL to gst_caps_union

Original commit message from CVS:
* gst/gstcaps.c:
Allow passing of NULL to gst_caps_union
This commit is contained in:
Thijs Vermeir 2008-07-21 23:02:40 +00:00
parent 39ab4627e2
commit 6f1ab17974
2 changed files with 16 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2008-07-22 Thijs Vermeir <thijsvermeir@gmail.com>
* gst/gstcaps.c:
Allow passing of NULL to gst_caps_union
2008-07-21 Thijs Vermeir <thijsvermeir@gmail.com>
* gst/gstghostpad.c:

View file

@ -1406,6 +1406,8 @@ gst_caps_subtract (const GstCaps * minuend, const GstCaps * subtrahend)
* Creates a new #GstCaps that contains all the formats that are in
* either @caps1 and @caps2.
*
* This function deals correctly with passing NULL for any of the caps.
*
* Returns: the new #GstCaps
*/
GstCaps *
@ -1414,6 +1416,15 @@ gst_caps_union (const GstCaps * caps1, const GstCaps * caps2)
GstCaps *dest1;
GstCaps *dest2;
if (!caps1 && !caps2)
return gst_caps_new_empty ();
if (!caps1 || gst_caps_is_empty (caps1))
return gst_caps_copy (caps2);
if (!caps2 || gst_caps_is_empty (caps2))
return gst_caps_copy (caps1);
if (gst_caps_is_any (caps1) || gst_caps_is_any (caps2))
return gst_caps_new_any ();