gstreamer/subprojects/gst-plugins-good/meson_options.txt
Nirbheek Chauhan 11f6984bf5 soup: Link to libsoup in all cases on non-Linux
We have unsolvable issues on macOS because of this, and the feature
was added specifically for issues that occur on Linux distros since
they ship both libsoup 2.4 and 3.0.

Everyone else should just pick one and use it, since you cannot mix
the two in a single process anyway.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6156>
2024-02-21 09:27:59 +05:30

135 lines
9.3 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('amrnb', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Narrow-Band audio codec plugin')
option('amrwbdec', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Wide-Band audio decoder 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('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')
# soup plugin options
option('soup', type : 'feature', value : 'auto', description : 'libsoup HTTP client source/sink plugin')
option('soup-version', type : 'combo', value : 'auto', choices : ['auto', '2', '3'],
description: 'Force a specific libsoup version if linking to it (N/A for shared builds on Linux)')
# 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)')
option('ximagesrc-navigation', type : 'feature', value : 'auto', description : 'X11 ximagesrc plugin (Navigation 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.')