Original commit message from CVS:
Add helper function to set GstObject pointers with proper ref/unref
sequence.
}
}
+/**
+ * gst_object_swap:
+ * @oldobj: pointer to place of old GstObject
+ * @newobj: new GstObject
+ *
+ * Unrefs the object pointer to by oldobj, refs the newobj and
+ * puts the newobj in *oldobj.
+ */
+void
+gst_object_swap (GstObject **oldobj, GstObject *newobj)
+{
+ if (*oldobj != newobj) {
+ if (newobj)
+ gst_object_ref (newobj);
+ if (*oldobj)
+ gst_object_unref (*oldobj);
+
+ *oldobj = newobj;
+ }
+}
+
/**
* gst_object_destroy:
* @object: GstObject to destroy
GstObject * gst_object_ref (GstObject *object);
void gst_object_unref (GstObject *object);
void gst_object_sink (GstObject *object);
+
+void gst_object_swap (GstObject **oldobj, GstObject *newobj);
/* destroying an object */
void gst_object_destroy (GstObject *object);