2011-11-02 09:02:11 +00:00
|
|
|
plugin_LTLIBRARIES = libgstwaylandsink.la
|
|
|
|
|
2016-09-20 17:28:29 +00:00
|
|
|
BUILT_SOURCES = viewporter-protocol.c viewporter-client-protocol.h
|
|
|
|
|
2014-03-11 11:05:56 +00:00
|
|
|
libgstwaylandsink_la_SOURCES = \
|
|
|
|
gstwaylandsink.c \
|
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-06-23 13:40:02 +00:00
|
|
|
wlshmallocator.c \
|
2014-06-20 11:47:57 +00:00
|
|
|
wlbuffer.c \
|
2014-03-11 11:05:56 +00:00
|
|
|
wldisplay.c \
|
|
|
|
wlwindow.c \
|
2016-09-17 13:12:44 +00:00
|
|
|
wlvideoformat.c
|
|
|
|
|
|
|
|
nodist_libgstwaylandsink_la_SOURCES = viewporter-protocol.c
|
2014-03-11 11:05:56 +00:00
|
|
|
|
2011-11-02 09:02:11 +00:00
|
|
|
libgstwaylandsink_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
|
2014-02-14 15:08:56 +00:00
|
|
|
$(WAYLAND_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
|
|
|
|
libgstwaylandsink_la_LIBADD = \
|
|
|
|
$(GST_PLUGINS_BASE_LIBS) \
|
|
|
|
-lgstvideo-$(GST_API_VERSION) \
|
2015-08-29 20:29:17 +00:00
|
|
|
-lgstallocators-$(GST_API_VERSION) \
|
2014-02-14 15:08:56 +00:00
|
|
|
$(WAYLAND_LIBS) \
|
|
|
|
$(top_builddir)/gst-libs/gst/wayland/libgstwayland-$(GST_API_VERSION).la
|
2011-11-02 09:02:11 +00:00
|
|
|
libgstwaylandsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
2012-10-24 10:16:39 +00:00
|
|
|
libgstwaylandsink_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
|
2011-11-02 09:02:11 +00:00
|
|
|
|
2014-03-11 11:05:56 +00:00
|
|
|
noinst_HEADERS = \
|
|
|
|
gstwaylandsink.h \
|
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-06-23 13:40:02 +00:00
|
|
|
wlshmallocator.h \
|
2014-06-20 11:47:57 +00:00
|
|
|
wlbuffer.h \
|
2014-03-11 11:05:56 +00:00
|
|
|
wldisplay.h \
|
|
|
|
wlwindow.h \
|
2016-09-17 13:12:44 +00:00
|
|
|
wlvideoformat.h
|
2014-03-11 11:05:56 +00:00
|
|
|
|
2016-09-20 17:28:29 +00:00
|
|
|
CLEANFILES = $(BUILT_SOURCES)
|
2014-06-20 11:47:57 +00:00
|
|
|
|
2016-06-14 23:34:35 +00:00
|
|
|
.SECONDEXPANSION:
|
2014-05-20 16:03:39 +00:00
|
|
|
|
2016-06-14 23:34:35 +00:00
|
|
|
define protostability
|
|
|
|
$(if $(findstring unstable,$1),unstable,stable)
|
|
|
|
endef
|
|
|
|
|
|
|
|
define protoname
|
|
|
|
$(shell echo $1 | sed 's/\([a-z\-]\+\)-[a-z]\+-v[0-9]\+/\1/')
|
|
|
|
endef
|
|
|
|
|
|
|
|
%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
|
|
|
|
$(AM_V_GEN)$(wayland_scanner) code < $< > $@
|
|
|
|
|
|
|
|
%-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
|
|
|
|
$(AM_V_GEN)$(wayland_scanner) client-header < $< > $@
|