gstvalue: add internal _can_compare_unchecked()
authorTim-Philipp Müller <tim@centricular.com>
Thu, 19 Jun 2014 07:05:40 +0000 (08:05 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Thu, 19 Jun 2014 07:40:15 +0000 (08:40 +0100)
gst/gstvalue.c

index 7a8f6476dc081726d02c7e6d42c4be0c33e7a8b4..880e8b823a4465ad337c5966ea7974b8f994c32d 100644 (file)
@@ -4421,6 +4421,15 @@ gst_value_get_compare_func (const GValue * value1)
   return NULL;
 }
 
+static inline gboolean
+gst_value_can_compare_unchecked (const GValue * value1, const GValue * value2)
+{
+  if (G_VALUE_TYPE (value1) != G_VALUE_TYPE (value2))
+    return FALSE;
+
+  return gst_value_get_compare_func (value1) != NULL;
+}
+
 /**
  * gst_value_can_compare:
  * @value1: a value to compare
@@ -4436,10 +4445,7 @@ gst_value_can_compare (const GValue * value1, const GValue * value2)
   g_return_val_if_fail (G_IS_VALUE (value1), FALSE);
   g_return_val_if_fail (G_IS_VALUE (value2), FALSE);
 
-  if (G_VALUE_TYPE (value1) != G_VALUE_TYPE (value2))
-    return FALSE;
-
-  return gst_value_get_compare_func (value1) != NULL;
+  return gst_value_can_compare_unchecked (value1, value2);
 }
 
 static gboolean
@@ -4776,7 +4782,7 @@ gst_value_can_intersect (const GValue * value1, const GValue * value2)
       return TRUE;
   }
 
-  return gst_value_can_compare (value1, value2);
+  return gst_value_can_compare_unchecked (value1, value2);
 }
 
 /**
@@ -4967,7 +4973,7 @@ gst_value_can_subtract (const GValue * minuend, const GValue * subtrahend)
       return TRUE;
   }
 
-  return gst_value_can_compare (minuend, subtrahend);
+  return gst_value_can_compare_unchecked (minuend, subtrahend);
 }
 
 /* gst_value_register_subtract_func: (skip)