rendered paste bodyIndex: gst/gstminiobject.c
===================================================================
RCS file: /cvs/gstreamer/gstreamer/gst/gstminiobject.c,v
retrieving revision 1.31
diff -u -p -a -u -p -r1.31 gstminiobject.c
--- gst/gstminiobject.c 27 Jun 2007 11:43:04 -0000 1.31
+++ gst/gstminiobject.c 28 Nov 2007 09:28:17 -0000
@@ -183,9 +183,14 @@ gst_mini_object_copy (const GstMiniObjec
{
GstMiniObjectClass *mo_class;
+ g_return_val_if_fail (GST_IS_MINI_OBJECT (mini_object), NULL);
+
mo_class = GST_MINI_OBJECT_GET_CLASS (mini_object);
- return mo_class->copy (mini_object);
+ if (mo_class->copy)
+ return mo_class->copy (mini_object);
+ else
+ return NULL;
}
/**
@@ -204,6 +209,8 @@ gst_mini_object_copy (const GstMiniObjec
gboolean
gst_mini_object_is_writable (const GstMiniObject * mini_object)
{
+ g_return_val_if_fail (GST_IS_MINI_OBJECT (mini_object), FALSE);
+
return (GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) == 1) &&
((mini_object->flags & GST_MINI_OBJECT_FLAG_READONLY) == 0);
}
@@ -225,6 +232,8 @@ gst_mini_object_make_writable (GstMiniOb
{
GstMiniObject *ret;
+ g_return_val_if_fail (GST_IS_MINI_OBJECT (mini_object), NULL);
+
if (gst_mini_object_is_writable (mini_object)) {
ret = (GstMiniObject *) mini_object;
} else {
@@ -253,14 +262,12 @@ gst_mini_object_make_writable (GstMiniOb
GstMiniObject *
gst_mini_object_ref (GstMiniObject * mini_object)
{
- g_return_val_if_fail (mini_object != NULL, NULL);
+ g_return_val_if_fail (GST_IS_MINI_OBJECT (mini_object), NULL);
/* we cannot assert that the refcount > 0 since a bufferalloc
* function might resurect an object
g_return_val_if_fail (mini_object->refcount > 0, NULL);
*/
#ifdef DEBUG_REFCOUNT
- g_return_val_if_fail (GST_IS_MINI_OBJECT (mini_object), NULL);
-
GST_CAT_LOG (GST_CAT_REFCOUNTING, "%p ref %d->%d",
mini_object,
GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object),
@@ -300,11 +307,10 @@ gst_mini_object_free (GstMiniObject * mi
void
gst_mini_object_unref (GstMiniObject * mini_object)
{
- g_return_if_fail (mini_object != NULL);
+ g_return_if_fail (GST_IS_MINI_OBJECT (mini_object));
g_return_if_fail (mini_object->refcount > 0);
#ifdef DEBUG_REFCOUNT
- g_return_if_fail (GST_IS_MINI_OBJECT (mini_object));
GST_CAT_LOG (GST_CAT_REFCOUNTING, "%p unref %d->%d",
mini_object,
@@ -331,6 +337,10 @@ gst_mini_object_replace (GstMiniObject *
{
GstMiniObject *olddata_val;
+ g_return_if_fail (olddata != NULL);
+ g_return_if_fail (*olddata == NULL || GST_IS_MINI_OBJECT (*olddata));
+ g_return_if_fail (newdata == NULL || GST_IS_MINI_OBJECT (newdata));
+
#ifdef DEBUG_REFCOUNT
GST_CAT_LOG (GST_CAT_REFCOUNTING, "replace %p (%d) with %p (%d)",
*olddata, *olddata ? (*olddata)->refcount : 0,
@@ -505,14 +515,14 @@ param_mini_object_validate (GParamSpec *
{
GstParamSpecMiniObject *ospec = GST_PARAM_SPEC_MINI_OBJECT (pspec);
GstMiniObject *mini_object = value->data[0].v_pointer;
- guint changed = 0;
+ gboolean changed = FALSE;
if (mini_object
&& !g_value_type_compatible (G_OBJECT_TYPE (mini_object),
G_PARAM_SPEC_VALUE_TYPE (ospec))) {
gst_mini_object_unref (mini_object);
value->data[0].v_pointer = NULL;
- changed++;
+ changed = TRUE;
}
return changed;
@@ -546,6 +556,7 @@ gst_param_spec_mini_object_get_type (voi
param_mini_object_validate, /* value_validate */
param_mini_object_values_cmp, /* values_cmp */
};
+ /* FIXME 0.11: Should really be GstParamSpecMiniObject */
type = g_param_type_register_static ("GParamSpecMiniObject", &pspec_info);
}
@@ -578,3 +589,4 @@ gst_param_spec_mini_object (const char *
return G_PARAM_SPEC (ospec);
}
+