option('gst_play_tests', type: 'boolean', value: false, description: 'Enable GstPlay tests that need network access') # Feature options for plugins without external deps option('accurip', type : 'feature', value : 'auto') option('adpcmdec', type : 'feature', value : 'auto') option('adpcmenc', type : 'feature', value : 'auto') option('aiff', type : 'feature', value : 'auto') option('analyticsoverlay', type:'feature', value : 'auto') option('asfmux', type : 'feature', value : 'auto') option('audiobuffersplit', type : 'feature', value : 'auto') option('audiofxbad', type : 'feature', value : 'auto') option('audiolatency', type : 'feature', value : 'auto') option('audiomixmatrix', type : 'feature', value : 'auto') option('audiovisualizers', type : 'feature', value : 'auto') option('autoconvert', type : 'feature', value : 'auto') option('bayer', type : 'feature', value : 'auto') option('camerabin2', type : 'feature', value : 'auto') option('codec2json', type : 'feature', value : 'auto') option('codecalpha', type : 'feature', value : 'auto') option('codectimestamper', type : 'feature', value : 'auto') option('coloreffects', type : 'feature', value : 'auto') option('debugutils', type : 'feature', value : 'auto') option('dvbsubenc', type : 'feature', value : 'auto') option('dvbsuboverlay', type : 'feature', value : 'auto') option('dvdspu', type : 'feature', value : 'auto') option('faceoverlay', type : 'feature', value : 'auto') option('festival', type : 'feature', value : 'auto') option('fieldanalysis', type : 'feature', value : 'auto') option('freeverb', type : 'feature', value : 'auto') option('frei0r', type : 'feature', value : 'auto') option('gaudieffects', type : 'feature', value : 'auto') option('gdp', type : 'feature', value : 'auto') option('geometrictransform', type : 'feature', value : 'auto') option('id3tag', type : 'feature', value : 'auto') option('insertbin', type : 'feature', value : 'auto') option('inter', type : 'feature', value : 'auto') option('interlace', type : 'feature', value : 'auto') option('ivfparse', type : 'feature', value : 'auto') option('ivtc', type : 'feature', value : 'auto') option('jp2kdecimator', type : 'feature', value : 'auto') option('jpegformat', type : 'feature', value : 'auto') option('librfb', type : 'feature', value : 'auto') option('midi', type : 'feature', value : 'auto') option('mpegdemux', type : 'feature', value : 'auto') option('mpegpsmux', type : 'feature', value : 'auto') option('mpegtsdemux', type : 'feature', value : 'auto') option('mpegtsmux', type : 'feature', value : 'auto') option('mse', type : 'feature', value : 'auto') option('mxf', type : 'feature', value : 'auto') option('netsim', type : 'feature', value : 'auto') option('onvif', type : 'feature', value : 'auto') option('pcapparse', type : 'feature', value : 'auto') option('pnm', type : 'feature', value : 'auto') option('proxy', type : 'feature', value : 'auto') option('rawparse', type : 'feature', value : 'auto') option('removesilence', type : 'feature', value : 'auto') option('rist', type : 'feature', value : 'auto') option('rtmp2', type : 'feature', value : 'auto') option('rtp', type : 'feature', value : 'auto') option('sdp', type : 'feature', value : 'auto') option('segmentclip', type : 'feature', value : 'auto') option('siren', type : 'feature', value : 'auto') option('smooth', type : 'feature', value : 'auto') option('speed', type : 'feature', value : 'auto') option('subenc', type : 'feature', value : 'auto') option('switchbin', type : 'feature', value : 'auto') option('timecode', type : 'feature', value : 'auto') option('unixfd', type : 'feature', value : 'auto') option('videofilters', type : 'feature', value : 'auto') option('videoframe_audiolevel', type : 'feature', value : 'auto') option('videoparsers', type : 'feature', value : 'auto') option('videosignal', type : 'feature', value : 'auto') option('vmnc', type : 'feature', value : 'auto') option('y4m', type : 'feature', value : 'auto') # Feature options for libraries that need external deps option('opencv', type : 'feature', value : 'auto', description : 'OpenCV computer vision library support') # Feature options for optional deps in plugins option('drm', type : 'feature', value : 'auto', description: 'libdrm support in the GstVA library') option('udev', type : 'feature', value : 'auto', description: 'gudev support in the new VA-API plugin') option('wayland', type : 'feature', value : 'auto', description : 'Wayland plugin/library, support in the Vulkan plugin') option('x11', type : 'feature', value : 'auto', description : 'X11 support in Vulkan, GL and rfb plugins') # Feature options for plugins that need external deps option('aes', type : 'feature', value : 'auto', description : 'AES encryption/decryption plugin') option('aja', type : 'feature', value : 'auto', description : 'AJA audio/video source/sink plugin') option('aom', type : 'feature', value : 'auto', description : 'AOM AV1 video codec plugin') option('avtp', type : 'feature', value : 'auto', description : 'Audio/Video Transport Protocol (AVTP) plugin') option('amfcodec', type : 'feature', value : 'auto', description : 'AMD AMF codec plugin') option('androidmedia', type : 'feature', value : 'auto', description : 'Video capture and codec plugins for Android') option('applemedia', type : 'feature', value : 'auto', description : 'Video capture and codec access plugins for macOS and iOS') option('asio', type : 'feature', value : 'auto', description : 'Steinberg Audio Streaming Input Output (ASIO) plugin') option('assrender', type : 'feature', value : 'auto', description : 'ASS/SSA subtitle renderer plugin') option('bluez', type : 'feature', value : 'auto', description : 'Bluetooth audio A2DP/AVDTP sink, AVDTP source plugin') option('bs2b', type : 'feature', value : 'auto', description : 'Bauer stereophonic-to-binaural audio plugin') option('bz2', type : 'feature', value : 'auto', description : 'bz2 stream encoder and decoder plugin') option('chromaprint', type : 'feature', value : 'auto', description : 'Chromaprint fingerprint audio plugin') option('closedcaption', type : 'feature', value : 'auto', description : 'Closed caption extractor, decoder, and overlay plugin') option('colormanagement', type : 'feature', value : 'auto', description : 'Color management correction plugin') option('curl', type : 'feature', value : 'auto', description : 'cURL network source and sink plugin') option('curl-ssh2', type : 'feature', value : 'auto', description : 'cURL network source and sink plugin libssh2 support') option('d3dvideosink', type : 'feature', value : 'auto', description : 'Direct3D video sink plugin') option('d3d11', type : 'feature', value : 'auto', description : 'Direct3D11 plugin') option('d3d12', type : 'feature', value : 'auto', description : 'Direct3D12 plugin') option('dash', type : 'feature', value : 'auto', description : 'DASH demuxer plugin') option('dc1394', type : 'feature', value : 'auto', description : 'libdc1394 IIDC camera source plugin') option('decklink', type : 'feature', value : 'auto', description : 'DeckLink audio/video source/sink plugin') option('directfb', type : 'feature', value : 'auto', description : 'DirectFB video sink plugin') option('directsound', type : 'feature', value : 'auto', description : 'Directsound audio source plugin') option('directshow', type : 'feature', value : 'auto', description : 'Directshow audio/video plugins') option('dtls', type : 'feature', value : 'auto', description : 'DTLS encoder and decoder plugin') option('dts', type : 'feature', value : 'auto', description : 'DTS audio decoder plugin (GPL - only built if gpl option is also enabled!)') option('dvb', type : 'feature', value : 'auto', description : 'DVB video bin and source plugin') option('dwrite', type : 'feature', value : 'auto', description : 'DirectWrite plugin') option('faac', type : 'feature', value : 'auto', description : 'Free AAC audio encoder plugin') option('faad', type : 'feature', value : 'auto', description : 'Free AAC audio decoder plugin (GPL - only built if gpl option is also enabled!)') option('fbdev', type : 'feature', value : 'auto', description : 'Framebuffer video sink plugin') option('fdkaac', type : 'feature', value : 'auto', description : 'Fraunhofer AAC audio codec plugin') option('flite', type : 'feature', value : 'auto', description : 'Flite speech synthesizer source plugin') option('fluidsynth', type : 'feature', value : 'auto', description : 'Fluidsynth MIDI decoder plugin') option('gl', type : 'feature', value : 'auto', description : 'GStreamer OpenGL integration support (used by various plugins)') option('gme', type : 'feature', value : 'auto', description : 'libgme gaming console music file decoder plugin') option('gs', type : 'feature', value : 'auto', description : 'Google Cloud Storage source and sink plugin') option('gsm', type : 'feature', value : 'auto', description : 'GSM encoder/decoder plugin') option('gtk3', type : 'feature', value : 'auto', description : 'GTK+ video sink plugin') option('ipcpipeline', type : 'feature', value : 'auto', description : 'Inter-process communication plugin') option('iqa', type : 'feature', value : 'auto', description : 'Image quality assessment plugin (AGPL - only built if gpl option is also enabled!)') option('kms', type : 'feature', value : 'auto', description : 'KMS video sink plugin') option('ladspa', type : 'feature', value : 'auto', description : 'LADSPA plugin bridge') option('ladspa-rdf', type : 'feature', value : 'auto', description : 'LADSPA plugin bridge RDF support') option('lc3', type : 'feature', value : 'auto', description : 'LC3 (Bluetooth) LE audio codec plugin') option('ldac', type : 'feature', value : 'auto', description : 'LDAC bluetooth audio codec plugin') option('libde265', type : 'feature', value : 'auto', description : 'HEVC/H.265 video decoder plugin') option('openaptx', type : 'feature', value : 'auto', description : 'Open Source implementation of Audio Processing Technology codec (aptX) plugin') option('lv2', type : 'feature', value : 'auto', description : 'LV2 audio plugin bridge') option('mediafoundation', type : 'feature', value : 'auto', description : 'Microsoft Media Foundation plugin') option('microdns', type : 'feature', value : 'auto', description : 'libmicrodns-based device provider') option('modplug', type : 'feature', value : 'auto', description : 'ModPlug audio decoder plugin') option('mpeg2enc', type : 'feature', value : 'auto', description : 'mpeg2enc video encoder plugin (GPL - only built if gpl option is also enabled!)') option('mplex', type : 'feature', value : 'auto', description : 'mplex audio/video multiplexer plugin (GPL - only built if gpl option is also enabled!)') option('msdk', type : 'feature', value : 'auto', description : 'Intel Media SDK video encoder/decoder plugin') option('musepack', type : 'feature', value : 'auto', description : 'libmpcdec Musepack decoder plugin') option('neon', type : 'feature', value : 'auto', description : 'NEON HTTP source plugin') option('nvcomp', type : 'feature', value : 'auto', description : 'NVIDIA nvCOMP compression/decompression plugin') option('nvcodec', type : 'feature', value : 'auto', description : 'NVIDIA GPU codec plugin') option('onnx', type : 'feature', value : 'auto', description : 'ONNX neural network plugin') option('openal', type : 'feature', value : 'auto', description : 'OpenAL plugin') option('openexr', type : 'feature', value : 'auto', description : 'OpenEXR plugin') option('openh264', type : 'feature', value : 'auto', description : 'H.264 video codec plugin') option('openjpeg', type : 'feature', value : 'auto', description : 'JPEG2000 image codec plugin') option('openmpt', type : 'feature', value : 'auto', description : 'OpenMPT module music library plugin') option('openni2', type : 'feature', value : 'auto', description : 'OpenNI2 library plugin') option('opensles', type : 'feature', value : 'auto', description : 'OpenSL ES audio source/sink plugin') option('opus', type : 'feature', value : 'auto', description : 'OPUS audio parser plugin') option('qroverlay', type : 'feature', value : 'auto', description : 'Element to set random data on a qroverlay') option('qsv', type : 'feature', value : 'auto', description : 'Intel Quick Sync Video plugin') option('qt6d3d11', type : 'feature', value : 'auto', description : 'Qt6 Direct3D11 plugin') option('resindvd', type : 'feature', value : 'auto', description : 'Resin DVD playback plugin (GPL - only built if gpl option is also enabled!)') option('rsvg', type : 'feature', value : 'auto', description : 'SVG overlayer and image decoder plugin') option('rtmp', type : 'feature', value : 'auto', description : 'RTMP video network source and sink plugin') option('sbc', type : 'feature', value : 'auto', description : 'SBC bluetooth audio codec plugin') option('sctp', type : 'feature', value : 'auto', description : 'SCTP plugin') option('shm', type : 'feature', value : 'auto', description : 'Shared memory source/sink plugin') option('smoothstreaming', type : 'feature', value : 'auto', description : 'Microsoft Smooth Streaming demuxer plugin') option('sndfile', type : 'feature', value : 'auto', description : 'libsndfile plugin') option('soundtouch', type : 'feature', value : 'auto', description : 'Audio pitch controller & BPM detection plugin') option('spandsp', type : 'feature', value : 'auto', description : 'Packet loss concealment audio plugin') option('srt', type : 'feature', value : 'auto', description : 'Secure, Reliable, Transport client/server network source/sink plugin') option('srtp', type : 'feature', value : 'auto', description : 'Secure RTP codec plugin') option('svtav1', type : 'feature', value : 'auto', description : 'Scalable Video Technology for AV1 plugin') option('svthevcenc', type : 'feature', value : 'auto', description : 'Scalable Video Technology for HEVC encoder plugin') option('svtjpegxs', type : 'feature', value : 'auto', description : 'Scalable Video Technology for JPEG-XS plugin') option('teletext', type : 'feature', value : 'auto', description : 'Teletext plugin') option('tinyalsa', type : 'feature', value : 'auto', description : 'TinyALSA plugin') option('transcode', type : 'feature', value : 'auto', description : 'Transcode plugin') option('ttml', type : 'feature', value : 'auto', description : 'TTML subtitle parser and renderer plugin') option('uvch264', type : 'feature', value : 'auto', description : 'UVC compliant H.264 camera source plugin') option('va', type : 'feature', value : 'auto', description: 'VA-API new plugin') option('voaacenc', type : 'feature', value : 'auto', description : 'AAC audio encoder plugin') option('voamrwbenc', type : 'feature', value : 'auto', description : 'AMR-WB audio encoder plugin') option('wasapi', type : 'feature', value : 'auto', description : 'Windows Audio Session API source/sink plugin') option('wasapi2', type : 'feature', value : 'auto', description : 'Windows Audio Session API source/sink plugin with WinRT API') option('webview2', type : 'feature', value : 'auto', description : 'WebView2 plugin') option('webp', type : 'feature', value : 'auto', description : 'WebP image codec plugin') option('webrtc', type : 'feature', value : 'auto', yield: true, description : 'WebRTC audio/video network bin plugin') option('webrtcdsp', type : 'feature', value : 'auto', description : 'Plugin with various audio filters provided by the WebRTC audio processing library') option('wildmidi', type : 'feature', value : 'auto', description : 'WildMidi midi soft synth plugin') option('wic', type : 'feature', value : 'auto', description : 'Windows Imaging Component plugin') option('win32ipc', type : 'feature', value : 'auto', description : 'Windows IPC plugin') option('winks', type : 'feature', value : 'auto', description : 'Windows Kernel Streaming video source plugin') option('winscreencap', type : 'feature', value : 'auto', description : 'Windows Screen Capture video source plugin') option('x265', type : 'feature', value : 'auto', description : 'HEVC/H.265 video encoder plugin (GPL - only built if gpl option is also enabled!)') option('zbar', type : 'feature', value : 'auto', description : 'Barcode image scanner plugin using zbar library') option('zxing', type : 'feature', value : 'auto', description : 'Barcode image scanner plugin using zxing-cpp library') option('wpe', type : 'feature', value : 'auto', description : 'WPE Web browser plugin') option( 'wpe_api', type: 'combo', value: 'auto', choices: ['auto', '1.0', '1.1', '2.0'], description: 'WPE WebKit API to target (1.0 = soup2, 1.1/2.0 = soup3)' ) option('magicleap', type : 'feature', value : 'auto', description : 'Magic Leap platform support') option('v4l2codecs', type : 'feature', value : 'auto', description : 'Video4Linux Stateless CODECs support') option('uvcgadget', type : 'feature', value : 'auto', description : 'uvc video gadget plugin') option('isac', type : 'feature', value : 'auto', description : 'iSAC plugin') # AJA plugin options option('aja-include-dir', type : 'string', value : '', description : 'Directory where AJA NTV2 headers are located') option('aja-lib-dir', type : 'string', value : '', description : 'Directory where AJA NTV2 library is located') # CUDA library options option('cuda-nvmm', type : 'feature', value : 'auto', description : 'Enable NVMM support in cuda library') option('cuda-nvmm-include-path', type : 'string', value : '', description : 'Include path for NVMM support in cuda library') # D3D11/D3D12 HLSL library options option('d3d-hlsl-precompile', type : 'feature', value : 'auto', description : 'Enable buildtime HLSL compile for d3d11/d3d12 library/plugin') # D3D11 plugin options option('d3d11-math', type : 'feature', value : 'auto', description : 'Enable DirectX SIMD Math support') option('d3d11-hlsl-precompile', type : 'feature', value : 'auto', description : 'Enable buildtime HLSL compile for d3d11 library/plugin') option('d3d11-wgc', type : 'feature', value : 'auto', description : 'Windows Graphics Capture API support in d3d11 plugin') # D3D12 plugin options option('d3d12-wgc', type : 'feature', value : 'auto', description : 'Windows Graphics Capture API support in d3d12 plugin') # HLS plugin options option('hls', type : 'feature', value : 'auto', description : 'HTTP Live Streaming plugin') option('hls-crypto', type : 'combo', value : 'auto', choices : ['auto', 'nettle', 'libgcrypt', 'openssl'], description: 'Crypto library to use for HLS plugin') # SCTP plugin options option('sctp-internal-usrsctp', type: 'feature', value : 'enabled', description: 'Whether to use the bundled usrsctp library or the system one') # MSDK plugin options option('mfx_api', type : 'combo', choices : ['MSDK', 'oneVPL', 'auto'], value : 'auto', description : 'Select MFX API to build against') # nvCOMP plugin options option('nvcomp-sdk-path', type: 'string', value : '', description : 'nvCOMP SDK root directory') # QSV plugin options option('mfx-modules-dir', type: 'string', value : '', description : 'libmfx runtime module dir, linux only') # Vulkan integration library and plugin options option('vulkan', type: 'feature', value: 'auto', description: 'Vulkan integration library and video sink plugin') option('vulkan-video', type: 'feature', value: 'auto', description: 'Whether to use Vulkan Video Extensions for encoding/decoding') option('vulkan-windowing', type : 'array', choices : ['x11', 'wayland', 'auto'], value : ['auto'], description : 'A comma separated list of Vulkan windowing systems to enable. Non-Linux platforms are auto-detected.') # License-related feature options option('gpl', type: 'feature', value: 'disabled', yield: true, description: 'Allow build plugins that have (A)GPL-licensed dependencies') # Common feature options option('examples', type : 'feature', value : 'auto', yield : true) option('tools', type : 'feature', value : 'auto', yield : true) option('tests', type : 'feature', value : 'auto', yield : true) option('introspection', type : 'feature', value : 'auto', yield : true, description : 'Generate gobject-introspection bindings') option('nls', type : 'feature', value : 'auto', yield: true, description : 'Enable native language support (translations)') option('orc', type : 'feature', value : 'auto', yield : true) option('extra-checks', type : 'feature', value : 'enabled', yield : true, description : 'Enable extra runtime checks') # 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.') option('glib_debug', type : 'feature', value : 'auto', yield : true, description : 'Enable GLib debug infrastructure (see docs/macros.txt)') option('glib_assert', type : 'boolean', value : true, yield : true, description : 'Enable GLib assertion (see docs/macros.txt)', deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'}, ) option('glib_checks', type : 'boolean', value : true, yield : true, description : 'Enable GLib checks such as API guards (see docs/macros.txt)', deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'}, ) # Deprecated, kept for backward compat 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)', deprecated: 'glib_debug') option('glib-asserts', type : 'feature', value : 'enabled', yield : true, description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)', deprecated: 'glib_assert') 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)', deprecated: 'glib_checks')