mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 07:16:55 +00:00
67bb17e4fa
[wl_shell] is officially [deprecated], so provide support for the
XDG-shell protocol should be provided by all desktop-like compositors.
(In case they don't, we can of course fall back to wl_shell).
Note that the [XML spec] is provided by the `wayland-protocols`
git repository, which is provided by the Wayland project.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/897
[wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
[deprecated]: 698dde1958
[XML spec]: https://github.com/wayland-project/wayland-protocols/blob/master/stable/xdg-shell/xdg-shell.xml
48 lines
1.8 KiB
Meson
48 lines
1.8 KiB
Meson
wl_sources = [
|
|
'gstwaylandsink.c',
|
|
'wlshmallocator.c',
|
|
'wlbuffer.c',
|
|
'wldisplay.c',
|
|
'wlwindow.c',
|
|
'wlvideoformat.c',
|
|
'wllinuxdmabuf.c'
|
|
]
|
|
|
|
if use_wayland
|
|
protocols_datadir = wl_protocol_dep.get_pkgconfig_variable('pkgdatadir')
|
|
|
|
protocol_defs = [
|
|
['/stable/viewporter/viewporter.xml', 'viewporter-protocol.c', 'viewporter-client-protocol.h'],
|
|
['/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml',
|
|
'linux-dmabuf-unstable-v1-protocol.c', 'linux-dmabuf-unstable-v1-client-protocol.h'],
|
|
['/unstable/fullscreen-shell/fullscreen-shell-unstable-v1.xml',
|
|
'fullscreen-shell-unstable-v1-protocol.c', 'fullscreen-shell-unstable-v1-client-protocol.h'],
|
|
['/stable/xdg-shell/xdg-shell.xml', 'xdg-shell-protocol.c', 'xdg-shell-client-protocol.h'],
|
|
]
|
|
protocols_files = []
|
|
|
|
foreach protodef: protocol_defs
|
|
xmlfile = protocols_datadir + protodef.get(0)
|
|
|
|
protocols_files += [custom_target(protodef.get(1),
|
|
output : protodef.get(1),
|
|
input : xmlfile,
|
|
command : [wl_scanner, 'code', '@INPUT@', '@OUTPUT@'])]
|
|
|
|
protocols_files += [custom_target(protodef.get(2),
|
|
output : protodef.get(2),
|
|
input : xmlfile,
|
|
command : [wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'])]
|
|
endforeach
|
|
|
|
gstwaylandsink = library('gstwaylandsink',
|
|
wl_sources + protocols_files,
|
|
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
|
|
include_directories : [configinc],
|
|
dependencies : [gst_dep, gstvideo_dep, gstwayland_dep, gstallocators_dep,
|
|
wl_client_dep, wl_protocol_dep, libdrm_dep],
|
|
install : true,
|
|
install_dir : plugins_install_dir,
|
|
)
|
|
pkgconfig.generate(gstwaylandsink, install_dir : plugins_pkgconfig_install_dir)
|
|
endif
|