[Pkg-gstreamer-commits] [gstreamer-vaapi] 21/176: libs: add more GstBuffer compat glue for GStreamer 0.10.
Vincent Cheng
vcheng at moszumanska.debian.org
Tue Jun 3 08:09:24 UTC 2014
This is an automated email from the git hooks/post-receive script.
vcheng pushed a commit to branch upstream
in repository gstreamer-vaapi.
commit e9e988fc71afd0add1da46270ce49dc824176838
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date: Wed Nov 27 16:25:59 2013 +0100
libs: add more GstBuffer compat glue for GStreamer 0.10.
Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
notify function.
---
gst-libs/gst/vaapi/gstcompat.h | 36 ++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/gst-libs/gst/vaapi/gstcompat.h b/gst-libs/gst/vaapi/gstcompat.h
index f139739..efb5c56 100644
--- a/gst-libs/gst/vaapi/gstcompat.h
+++ b/gst-libs/gst/vaapi/gstcompat.h
@@ -107,6 +107,9 @@ typedef struct {
#undef gst_buffer_new_wrapped_full
#define gst_buffer_new_wrapped_full(flags, data, maxsize, ofs, size, ud, udd) \
gst_compat_buffer_new_wrapped_full(flags, data, maxsize, ofs, size, ud, udd)
+#undef gst_buffer_new_allocate
+#define gst_buffer_new_allocate(allocator, size, params) \
+ gst_compat_buffer_new_allocate((allocator), (size), (params))
#undef gst_buffer_get_size
#define gst_buffer_get_size(buffer) gst_compat_buffer_get_size(buffer)
#undef gst_buffer_map
@@ -116,6 +119,9 @@ typedef struct {
#undef gst_buffer_extract
#define gst_buffer_extract(buffer, offset, dest, size) \
gst_compat_buffer_extract(buffer, offset, dest, size)
+#undef gst_buffer_fill
+#define gst_buffer_fill(buffer, offset, src, size) \
+ gst_compat_buffer_fill((buffer), (offset), (src), (size))
#undef gst_buffer_copy_into
#define gst_buffer_copy_into(dest, src, flags, offset, size) \
gst_compat_buffer_copy_into(dest, src, flags, offset, size)
@@ -128,8 +134,6 @@ gst_compat_buffer_new_wrapped_full(GstMemoryFlags flags, gpointer data,
GstBuffer *buffer;
/* XXX: unsupported */
- g_return_val_if_fail(user_data == NULL, NULL);
- g_return_val_if_fail(notify == NULL, NULL);
g_return_val_if_fail(maxsize >= size, NULL);
buffer = gst_buffer_new();
@@ -138,9 +142,23 @@ gst_compat_buffer_new_wrapped_full(GstMemoryFlags flags, gpointer data,
GST_BUFFER_DATA(buffer) = data + offset;
GST_BUFFER_SIZE(buffer) = size;
+
+ if (notify)
+ gst_mini_object_weak_ref(GST_MINI_OBJECT_CAST(buffer),
+ (GstMiniObjectWeakNotify)notify, user_data);
return buffer;
}
+static inline GstBuffer *
+gst_compat_buffer_new_allocate(gpointer allocator, gsize size, gpointer params)
+{
+ /* XXX: unsupported */
+ g_return_val_if_fail(allocator == NULL, NULL);
+ g_return_val_if_fail(params == NULL, NULL);
+
+ return gst_buffer_new_and_alloc(size);
+}
+
static inline gsize
gst_compat_buffer_get_size(GstBuffer *buffer)
{
@@ -175,6 +193,20 @@ gst_compat_buffer_extract(GstBuffer *buffer, gsize offset, gpointer dest,
return esize;
}
+static inline gsize
+gst_compat_buffer_fill(GstBuffer *buffer, gsize offset, gconstpointer src,
+ gsize size)
+{
+ gsize fsize;
+
+ if (!buffer || !src || offset >= GST_BUFFER_SIZE(buffer))
+ return 0;
+
+ fsize = MIN(size, GST_BUFFER_SIZE(buffer) - offset);
+ memcpy(GST_BUFFER_DATA(buffer) + offset, src, fsize);
+ return fsize;
+}
+
static inline void
gst_compat_buffer_copy_into(GstBuffer *dest, GstBuffer *src,
GstBufferCopyFlags flags, gsize offset, gsize size)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gstreamer/gstreamer-vaapi.git
More information about the Pkg-gstreamer-commits
mailing list