summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>2015-09-23 16:02:46 +0200
committerVíctor Manuel Jáquez Leal <victorx.jaquez@intel.com>2015-09-23 17:09:19 +0200
commitd1db1e01f7fe939986f43070b497906ab67155cf (patch)
treea058b71fe3127aa176e9d7626cd8d96dc9affc79
parentab0a58a647e0c9fd3393ac28812f96d4d3eb9ae4 (diff)
downloadgst-vaapi-d1db1e01f7fe939986f43070b497906ab67155cf.tar.gz
gstcompat: add gst_buffer_copy_deep() if gst < 1.5
gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should add an implementation if gstreamer-vaapi is linked to previous versions. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
-rw-r--r--gst/vaapi/gstcompat.h23
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 (&copy, 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 */