mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-14 20:36:32 +00:00
515fd66289
The qt5 and qt6 plugins will now correctly error out if you enable the option, and you can also now explicitly ensure that wayland, x11, eglfs support is actually functional by enabling the options. It was too easy to build non-functional support for these. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4776>
127 lines
8.7 KiB
Meson
127 lines
8.7 KiB
Meson
# Feature options for plugins without external deps
|
|
option('alpha', type : 'feature', value : 'auto')
|
|
option('apetag', type : 'feature', value : 'auto')
|
|
option('audiofx', type : 'feature', value : 'auto')
|
|
option('audioparsers', type : 'feature', value : 'auto')
|
|
option('auparse', type : 'feature', value : 'auto')
|
|
option('autodetect', type : 'feature', value : 'auto')
|
|
option('avi', type : 'feature', value : 'auto')
|
|
option('cutter', type : 'feature', value : 'auto')
|
|
option('debugutils', type : 'feature', value : 'auto')
|
|
option('deinterlace', type : 'feature', value : 'auto')
|
|
option('dtmf', type : 'feature', value : 'auto')
|
|
option('effectv', type : 'feature', value : 'auto')
|
|
option('equalizer', type : 'feature', value : 'auto')
|
|
option('flv', type : 'feature', value : 'auto')
|
|
option('flx', type : 'feature', value : 'auto')
|
|
option('goom', type : 'feature', value : 'auto')
|
|
option('goom2k1', type : 'feature', value : 'auto')
|
|
option('icydemux', type : 'feature', value : 'auto')
|
|
option('id3demux', type : 'feature', value : 'auto')
|
|
option('imagefreeze', type : 'feature', value : 'auto')
|
|
option('interleave', type : 'feature', value : 'auto')
|
|
option('isomp4', type : 'feature', value : 'auto')
|
|
option('law', type : 'feature', value : 'auto')
|
|
option('level', type : 'feature', value : 'auto')
|
|
option('matroska', type : 'feature', value : 'auto')
|
|
option('monoscope', type : 'feature', value : 'auto')
|
|
option('multifile', type : 'feature', value : 'auto')
|
|
option('multipart', type : 'feature', value : 'auto')
|
|
option('replaygain', type : 'feature', value : 'auto')
|
|
option('rtp', type : 'feature', value : 'auto')
|
|
option('rtpmanager', type : 'feature', value : 'auto')
|
|
option('rtsp', type : 'feature', value : 'auto')
|
|
option('shapewipe', type : 'feature', value : 'auto')
|
|
option('smpte', type : 'feature', value : 'auto')
|
|
option('spectrum', type : 'feature', value : 'auto')
|
|
option('udp', type : 'feature', value : 'auto')
|
|
option('videobox', type : 'feature', value : 'auto')
|
|
option('videocrop', type : 'feature', value : 'auto')
|
|
option('videofilter', type : 'feature', value : 'auto')
|
|
option('videomixer', type : 'feature', value : 'auto')
|
|
option('wavenc', type : 'feature', value : 'auto')
|
|
option('wavparse', type : 'feature', value : 'auto')
|
|
option('xingmux', type : 'feature', value : 'auto')
|
|
option('y4m', type : 'feature', value : 'auto')
|
|
|
|
# Feature options for plugins with external deps
|
|
option('adaptivedemux2', type : 'feature', value : 'auto', description : '2nd generation adaptive demuxer plugin')
|
|
option('aalib', type : 'feature', value : 'auto', description : 'aalib text console video sink plugin')
|
|
option('bz2', type : 'feature', value : 'auto', description : 'libbz2 support in the matroska plugin')
|
|
option('cairo', type : 'feature', value : 'auto', description : 'Cairo overlay plugin')
|
|
option('directsound', type : 'feature', value : 'auto', description : 'Directsound audio source/sink plugin')
|
|
option('dv', type : 'feature', value : 'auto', description : 'Digital video decoder and demuxer plugin')
|
|
option('dv1394', type : 'feature', value : 'auto', description : 'Digital IEEE1394 interface video source plugin')
|
|
option('flac', type : 'feature', value : 'auto', description : 'FLAC audio codec plugin')
|
|
option('gdk-pixbuf', type : 'feature', value : 'auto', description : 'gdk-pixbuf image decoder, overlay, and sink plugin')
|
|
option('gtk3', type : 'feature', value : 'auto', description : 'GTK+ video sink plugin')
|
|
option('jack', type : 'feature', value : 'auto', description : 'JACK audio source/sink plugin')
|
|
option('jpeg', type : 'feature', value : 'auto', description : 'JPEG image codec plugin')
|
|
option('lame', type : 'feature', value : 'auto', description : 'LAME mp3 audio encoder plugin')
|
|
option('libcaca', type : 'feature', value : 'auto', description : 'libcaca text console video sink plugin')
|
|
option('mpg123', type : 'feature', value : 'auto', description : 'mpg123 mp3 audio decoder plugin')
|
|
option('oss', type : 'feature', value : 'auto', description : 'OSS audio source/sink plugin')
|
|
option('oss4', type : 'feature', value : 'auto', description : 'OSSv4 audio source/sink plugin')
|
|
option('osxaudio', type : 'feature', value : 'auto', description : 'macOS/iOS CoreAudio source/sink plugin')
|
|
option('osxvideo', type : 'feature', value : 'auto', description : 'macOS Cocoa video sink plugin')
|
|
option('png', type : 'feature', value : 'auto', description : 'PNG image codec plugin')
|
|
option('pulse', type : 'feature', value : 'auto', description : 'Pulseaudio audio source/sink plugin')
|
|
option('shout2', type : 'feature', value : 'auto', description : 'Shout-casting network sink plugin based on libshout2')
|
|
option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin')
|
|
option('speex', type : 'feature', value : 'auto', description : 'Speex audio codec plugin')
|
|
option('taglib', type : 'feature', value : 'auto', description : 'Tag-writing plugin based on taglib')
|
|
option('twolame', type : 'feature', value : 'auto', description : 'twolame mp2 audio encoder plugin')
|
|
option('vpx', type : 'feature', value : 'auto', description : 'VP8 and VP9 video codec plugin')
|
|
option('waveform', type : 'feature', value : 'auto', description : 'Windows waveform audio sink plugin')
|
|
option('wavpack', type : 'feature', value : 'auto', description : 'Wavpack audio codec plugin')
|
|
|
|
# HLS plugin options
|
|
option('hls-crypto', type : 'combo', value : 'auto', choices : ['auto', 'nettle', 'libgcrypt', 'openssl'],
|
|
description: 'Crypto library to use for HLS plugin')
|
|
|
|
# rpicamsrc plugin options
|
|
option('rpicamsrc', type : 'feature', value : 'auto', description : 'Raspberry Pi camera module plugin')
|
|
option('rpi-header-dir', type : 'string', value : '/opt/vc/include', description : 'Directory where VideoCore/MMAL headers and bcm_host.h can be found')
|
|
option('rpi-lib-dir', type : 'string', value : '/opt/vc/lib', description : 'Directory where VideoCore/MMAL libraries can be found')
|
|
|
|
# Qt plugin options
|
|
option('qt-method', type: 'combo', value: 'auto', choices: ['auto', 'pkg-config', 'qmake'],
|
|
description: 'Method to use to find Qt')
|
|
option('qt-egl', type: 'feature', value: 'auto', description: 'EGLFS support in the Qt plugins')
|
|
option('qt-wayland', type: 'feature', value: 'auto', description: 'Wayland support in the Qt plugins')
|
|
option('qt-x11', type: 'feature', value: 'auto', description: 'Wayland support in the Qt plugins')
|
|
option('qt5', type : 'feature', value : 'auto', yield : true, description : 'Qt5 QML video sink plugin')
|
|
option('qt6', type : 'feature', value : 'auto', yield : true, description : 'Qt6 QML video sink plugin')
|
|
|
|
# ximagesrc plugin options
|
|
option('ximagesrc', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin')
|
|
option('ximagesrc-xshm', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XSHM support)')
|
|
option('ximagesrc-xfixes', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XFixes support)')
|
|
option('ximagesrc-xdamage', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (XDamage support)')
|
|
|
|
# v4l2 plugin options
|
|
option('v4l2', type : 'feature', value : 'auto', description : 'Build video4linux2 source/sink plugin')
|
|
option('v4l2-probe', type : 'boolean', value : true, description : 'Probe v4l2 devices when the v4l2 plugin is loaded')
|
|
option('v4l2-libv4l2', type : 'feature', value : 'auto', description : 'Use libv4l2 for some obscure format conversions')
|
|
option('v4l2-gudev', type : 'feature', value : 'auto', description : 'Use libgudev for probing v4l2 devices')
|
|
|
|
# Common feature options
|
|
option('examples', type : 'feature', value : 'auto', yield : true)
|
|
option('tests', type : 'feature', value : 'auto', yield : true)
|
|
option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)')
|
|
option('orc', type : 'feature', value : 'auto', yield : true)
|
|
option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true,
|
|
description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)')
|
|
option('glib-asserts', type : 'feature', value : 'enabled', yield : true,
|
|
description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)')
|
|
option('glib-checks', type : 'feature', value : 'enabled', yield : true,
|
|
description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)')
|
|
option('asm', type : 'feature', value : 'auto', yield : true)
|
|
|
|
# Common options
|
|
option('package-name', type : 'string', yield : true,
|
|
description : 'package name to use in plugins')
|
|
option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
|
|
description : 'package origin URL to use in plugins')
|
|
option('doc', type : 'feature', value : 'auto', yield: true,
|
|
description: 'Enable documentation.')
|