sample: Add gst_sample_copy()
authorWonchul Lee <chul0812@gmail.com>
Tue, 20 Aug 2013 08:15:41 +0000 (17:15 +0900)
committerSebastian Dröge <slomo@circular-chaos.org>
Wed, 21 Aug 2013 06:51:34 +0000 (08:51 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=706454

gst/gstsample.h

index 379690c..d05ff1e 100644 (file)
@@ -96,6 +96,28 @@ gst_sample_unref (GstSample * sample)
   gst_mini_object_unref (GST_MINI_OBJECT_CAST (sample));
 }
 
+/* copy sample */
+/**
+ * gst_sample_copy:
+ * @buf: a #GstSample.
+ *
+ * Create a copy of the given sample. This will also make a newly allocated
+ * copy of the data the source sample contains.
+ *
+ * Returns: (transfer full): a new copy of @buf.
+ *
+ * Since: 1.2
+ */
+#ifdef _FOOL_GTK_DOC_
+G_INLINE_FUNC GstSample * gst_sample_copy (const GstSample * buf);
+#endif
+
+static inline GstSample *
+gst_sample_copy (const GstSample * buf)
+{
+  return GST_SAMPLE_CAST (gst_mini_object_copy (GST_MINI_OBJECT_CONST_CAST (buf)));
+}
+
 /**
  * gst_value_set_sample:
  * @v: a #GValue to receive the data