diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2014-06-20 14:47:57 +0300 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2014-10-11 14:57:13 +0200 |
commit | 9807d58b01cca8b71e5fe2908bafb0a3e80b7059 (patch) | |
tree | 0cc052ba73e37db34325d96a64d3344dc4d5e93f /ext/wayland/Makefile.am | |
parent | b8927d848c725326373521cca10a323a7debbb59 (diff) | |
download | gstreamer-plugins-bad-9807d58b01cca8b71e5fe2908bafb0a3e80b7059.tar.gz |
waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release
This also removes the GstWlMeta and adds a wrapper class for wl_buffer
which is saved in the GstBuffer qdata instead of being a GstMeta.
The motivation behind this is mainly to allow attaching wl_buffers on
GstBuffers that have not been allocated inside the GstWaylandBufferPool,
so that if for example an upstream element is sending us a buffer
from a different pool, which however does not need to be copied
to a buffer from our pool because it may be a hardware buffer
(hello dmabuf!), we can create a wl_buffer directly from it and first,
attach it on it so that we don't have to re-create a wl_buffer every
time the same GstBuffer arrives and second, force the whole mechanism
for keeping the buffer out of the pool until there is a wl_buffer::release
on that foreign GstBuffer.
Diffstat (limited to 'ext/wayland/Makefile.am')
-rw-r--r-- | ext/wayland/Makefile.am | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/wayland/Makefile.am b/ext/wayland/Makefile.am index 58c1e99e1..73aae2cd4 100644 --- a/ext/wayland/Makefile.am +++ b/ext/wayland/Makefile.am @@ -3,6 +3,7 @@ plugin_LTLIBRARIES = libgstwaylandsink.la libgstwaylandsink_la_SOURCES = \ gstwaylandsink.c \ waylandpool.c \ + wlbuffer.c \ wldisplay.c \ wlwindow.c \ wlvideoformat.c \ @@ -21,6 +22,7 @@ libgstwaylandsink_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) noinst_HEADERS = \ gstwaylandsink.h \ waylandpool.h \ + wlbuffer.h \ wldisplay.h \ wlwindow.h \ wlvideoformat.h \ @@ -39,6 +41,8 @@ gstwaylandsink.c: scaler-client-protocol.h waylandpool.c: scaler-client-protocol.h +wlbuffer.c: scaler-client-protocol.h + wldisplay.c: scaler-client-protocol.h wlwindow.c: scaler-client-protocol.h |