d5d5aa91a2
It is quite similar to the remoting plugin. It just exports the frames via pipewire instead of the builtin GStreamer pipeline. It implements the same virtual output API. Virtual outputs can be created by adding 'pipewire-output' sections to weston.ini. The generated frames can be accessed with any pipewire client. e.g. with GStreamer: gst-launch-1.0 pipewiresrc ! video/x-raw,format=BGRx ! ... Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
31 lines
880 B
Meson
31 lines
880 B
Meson
if get_option('pipewire')
|
|
user_hint = 'If you rather not build this, set "pipewire=false".'
|
|
|
|
if not get_option('backend-drm')
|
|
error('Attempting to build the pipewire plugin without the required DRM backend. ' + user_hint)
|
|
endif
|
|
|
|
depnames = [
|
|
'libpipewire-0.2', 'libspa-0.1'
|
|
]
|
|
deps_pipewire = [ dep_libweston ]
|
|
foreach depname : depnames
|
|
dep = dependency(depname, required: false)
|
|
if not dep.found()
|
|
error('Pipewire plugin requires @0@ which was not found. '.format(depname) + user_hint)
|
|
endif
|
|
deps_pipewire += dep
|
|
endforeach
|
|
|
|
plugin_pipewire = shared_library(
|
|
'pipewire-plugin',
|
|
'pipewire-plugin.c',
|
|
include_directories: include_directories('..', '../shared'),
|
|
dependencies: deps_pipewire,
|
|
name_prefix: '',
|
|
install: true,
|
|
install_dir: dir_module_libweston
|
|
)
|
|
env_modmap += 'pipewire-plugin.so=@0@;'.format(plugin_pipewire.full_path())
|
|
endif
|