diff options
-rw-r--r-- | gst/vaapi/gstcompat.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gst/vaapi/gstcompat.h b/gst/vaapi/gstcompat.h index c953783f..17bd3e6e 100644 --- a/gst/vaapi/gstcompat.h +++ b/gst/vaapi/gstcompat.h @@ -25,4 +25,27 @@ #include "gst/vaapi/sysdeps.h" +#if !GST_CHECK_VERSION (1,5,0) +static inline GstBuffer * +gst_buffer_copy_deep (const GstBuffer * buffer) +{ + GstBuffer *copy; + + g_return_val_if_fail (buffer != NULL, NULL); + + copy = gst_buffer_new (); + + if (!gst_buffer_copy_into (copy, (GstBuffer *) buffer, + GST_BUFFER_COPY_ALL | GST_BUFFER_COPY_DEEP, 0, -1)) + gst_buffer_replace (©, NULL); + +#if GST_CHECK_VERSION (1,4,0) + if (copy) + GST_BUFFER_FLAG_UNSET (copy, GST_BUFFER_FLAG_TAG_MEMORY); +#endif + + return copy; +} +#endif + #endif /* GST_COMPAT_H */ |