gstreamer/ext/wayland
George Kiagiadakis d7bddb0c51 waylandsink: replace the custom buffer pool with an allocator
This reduces the complexity of having a custom buffer pool, as
we don't really need it. We only need the custom allocation part.
And since the wl_buffer is no longer saved in a GstMeta, we can
create it and add it on the buffers in the sink's render()
function, which removes the reference cycle caused by the pool
holding a reference to the display and also allows more generic
scenarios (the allocator being used in another pool, or buffers
being allocated without a pool [if anything stupid does that]).

This commit also simplifies the propose_allocation() function,
which doesn't really need to do all these complicated checks,
since there is always a correct buffer pool available, created
in set_caps().

The other side effect of this commit is that a new wl_shm_pool
is now created for every GstMemory, which means that we use
as much shm memory as we actually need and no more. Previously,
the created wl_shm_pool would allocate space for 15 buffers, no
matter if they were being used or not.
2014-10-11 14:57:13 +02:00
..
.gitignore waylandsink: Build bindings for the unstable wl_scaler spec 2014-06-17 13:51:24 +02:00
gstwaylandsink.c waylandsink: replace the custom buffer pool with an allocator 2014-10-11 14:57:13 +02:00
gstwaylandsink.h waylandsink: improve the way the video size is passed to wlwindow and also improve the code for window creation 2014-06-17 13:51:29 +02:00
Makefile.am waylandsink: replace the custom buffer pool with an allocator 2014-10-11 14:57:13 +02:00
scaler.xml waylandsink: Update wl_scaler to version 2 2014-06-17 13:51:26 +02:00
wlbuffer.c waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release 2014-10-11 14:57:13 +02:00
wlbuffer.h waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release 2014-10-11 14:57:13 +02:00
wldisplay.c waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release 2014-10-11 14:57:13 +02:00
wldisplay.h waylandsink: rework the mechanism for keeping buffers out of the pool until wl_buffer::release 2014-10-11 14:57:13 +02:00
wlshmallocator.c waylandsink: replace the custom buffer pool with an allocator 2014-10-11 14:57:13 +02:00
wlshmallocator.h waylandsink: replace the custom buffer pool with an allocator 2014-10-11 14:57:13 +02:00
wlvideoformat.c waylandsink: remove unused functions 2014-06-17 13:51:26 +02:00
wlvideoformat.h waylandsink: add G_BEGIN/END_DECLS on all headers for consistency 2014-06-17 13:51:27 +02:00
wlwindow.c waylandsink/wlwindow: do not commit a resize when it happens due to a video info change 2014-06-17 13:51:30 +02:00
wlwindow.h waylandsink: improve the way the video size is passed to wlwindow and also improve the code for window creation 2014-06-17 13:51:29 +02:00