diff --git a/gst/gstsample.h b/gst/gstsample.h index 379690c054..d05ff1eb05 100644 --- a/gst/gstsample.h +++ b/gst/gstsample.h @@ -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