Add gst_event_replace() (#327001)
authorTim-Philipp Müller <tim@centricular.net>
Fri, 20 Jan 2006 11:46:03 +0000 (11:46 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Fri, 20 Jan 2006 11:46:03 +0000 (11:46 +0000)
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstevent.h:
Add gst_event_replace() (#327001)

ChangeLog
docs/gst/gstreamer-sections.txt
gst/gstevent.h

index f73475e..e13480e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * docs/gst/gstreamer-sections.txt:
+       * gst/gstevent.h:
+         Add gst_event_replace() (#327001)
+
 2006-01-20  Wim Taymans  <wim@fluendo.com>
 
        * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
index 943aaeb..da295fa 100644 (file)
@@ -613,10 +613,11 @@ gst_event_parse_qos
 gst_event_parse_seek
 gst_event_parse_tag
 gst_event_ref
+gst_event_unref
+gst_event_replace
 gst_event_type_get_flags
 gst_event_type_get_name
 gst_event_type_to_quark
-gst_event_unref
 <SUBSECTION Standard>
 GstEventClass
 GST_EVENT
index bca8bed..0ec1d83 100644 (file)
@@ -206,6 +206,24 @@ typedef struct _GstEventClass GstEventClass;
 #define GST_EVENT_IS_SERIALIZED(ev)    !!(GST_EVENT_TYPE (ev) & GST_EVENT_TYPE_SERIALIZED)
 
 /**
+ * gst_event_replace:
+ * @old_event: pointer to a pointer to a #GstEvent to be replaced.
+ * @new_event: pointer to a #GstEvent that will replace the event pointed to 
+ *        by @old_event.
+ *
+ * Modifies a pointer to a #GstEvent to point to a different #GstEvent. The
+ * modification is done atomically (so this is useful for ensuring thread safety
+ * in some cases), and the reference counts are updated appropriately (the old 
+ * event is unreffed, the new one is reffed).
+ *
+ * Either @new_event or the #GstEvent pointed to by @old_event may be NULL.
+ *
+ * Since: 0.10.3
+ */
+#define                gst_event_replace(old_event,new_event) \
+    gst_mini_object_replace ((GstMiniObject **)(old_event), GST_MINI_OBJECT (new_event))
+
+/**
  * GstSeekType:
  * @GST_SEEK_TYPE_NONE: no change in position is required
  * @GST_SEEK_TYPE_CUR: change relative to current position