Added gst_event_copy
authorWim Taymans <wim.taymans@gmail.com>
Sat, 23 Feb 2002 13:57:09 +0000 (13:57 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Sat, 23 Feb 2002 13:57:09 +0000 (13:57 +0000)
Original commit message from CVS:
Added gst_event_copy

gst/gstevent.c
gst/gstevent.h

index 338e769a22e83d8980c8ca9842ec2719ddd23797..35a878e801a0446c6db5d50a8b42c32ae249ef70 100644 (file)
@@ -83,6 +83,30 @@ gst_event_new (GstEventType type)
   return event;
 }
 
+/**
+ * gst_event_copy:
+ * @event: The event to copy
+ *
+ * Copy the event
+ *
+ * Returns: A copy of the event.
+ */
+GstEvent*
+gst_event_copy (GstEvent *event)
+{
+  GstEvent *copy;
+
+  g_mutex_lock (_gst_event_chunk_lock);
+  copy = g_mem_chunk_alloc (_gst_event_chunk);
+  g_mutex_unlock (_gst_event_chunk_lock);
+
+  memcpy (copy, event, sizeof (GstEvent));
+  
+  /* FIXME copy/ref additional fields */
+
+  return copy;
+}
+
 /**
  * gst_event_free:
  * @event: The event to free
index fad2978ab535bc4f73dab71e023df42776de3077..4c3d72d2e6dc374ba0cca4322ddaae80754e9366 100644 (file)
@@ -99,7 +99,8 @@ struct _GstEvent {
 void           _gst_event_initialize   (void);
        
 GstEvent*      gst_event_new           (GstEventType type);
-void           gst_event_free          (GstEvent* event);
+GstEvent*      gst_event_copy          (GstEvent *event);
+void           gst_event_free          (GstEvent *event);
 
 /* seek events */
 GstEvent*      gst_event_new_seek      (GstSeekType type, gint64 offset, gboolean flush);