summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2014-06-26 16:31:51 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2014-06-26 16:31:51 -0400
commitd76e0be9fd561cc80783d7011c05241461dfdaa2 (patch)
tree65a3d010176b5ab62cd9b17d969278d1bb95bdc1
parentc2583cae90f85c313b0ac645857cc463c504600b (diff)
device: Add pre-conditions
-rw-r--r--gst/gstdevice.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/gst/gstdevice.c b/gst/gstdevice.c
index 9982509cb..08404bb23 100644
--- a/gst/gstdevice.c
+++ b/gst/gstdevice.c
@@ -190,6 +190,8 @@ gst_device_create_element (GstDevice * device, const gchar * name)
{
GstDeviceClass *klass = GST_DEVICE_GET_CLASS (device);
+ g_return_val_if_fail (GST_IS_DEVICE (device), NULL);
+
if (klass->create_element)
return klass->create_element (device, name);
else
@@ -210,6 +212,8 @@ gst_device_create_element (GstDevice * device, const gchar * name)
GstCaps *
gst_device_get_caps (GstDevice * device)
{
+ g_return_val_if_fail (GST_IS_DEVICE (device), NULL);
+
if (device->priv->caps)
return gst_caps_ref (device->priv->caps);
else
@@ -229,6 +233,8 @@ gst_device_get_caps (GstDevice * device)
gchar *
gst_device_get_display_name (GstDevice * device)
{
+ g_return_val_if_fail (GST_IS_DEVICE (device), NULL);
+
return
g_strdup (device->priv->display_name ? device->priv->display_name : "");
}
@@ -248,6 +254,8 @@ gst_device_get_display_name (GstDevice * device)
gchar *
gst_device_get_device_class (GstDevice * device)
{
+ g_return_val_if_fail (GST_IS_DEVICE (device), NULL);
+
if (device->priv->device_class != NULL)
return g_strdup (device->priv->device_class);
else
@@ -276,6 +284,8 @@ gst_device_reconfigure_element (GstDevice * device, GstElement * element)
{
GstDeviceClass *klass = GST_DEVICE_GET_CLASS (device);
+ g_return_val_if_fail (GST_IS_DEVICE (device), FALSE);
+
if (klass->reconfigure_element)
return klass->reconfigure_element (device, element);
else
@@ -299,6 +309,8 @@ gst_device_has_classesv (GstDevice * device, gchar ** classes)
{
g_return_val_if_fail (GST_IS_DEVICE (device), FALSE);
+ if (!classes)
+ return TRUE;
for (; classes[0]; classes++) {
const gchar *found;
@@ -340,6 +352,11 @@ gst_device_has_classes (GstDevice * device, const gchar * classes)
gchar **classesv;
gboolean res;
+ g_return_val_if_fail (GST_IS_DEVICE (device), FALSE);
+
+ if (!classes)
+ return TRUE;
+
classesv = g_strsplit (classes, "/", 0);
res = gst_device_has_classesv (device, classesv);