0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 03:52:22 +02:00
mpv/meson_options.txt
Thomas Weißschuh 87aba146ed ao_pipewire: Add PipeWire audio backend
The AO provides a way for mpv to directly submit audio to the PipeWire
audio server.
Doing this directly instead of going through the various compatibility
layers provided by PipeWire has the following advantages:

* It reduces complexity of going through the compatibility layers
* It allows a richer integration between mpv and PipeWire
  (for example for metadata)
* Some users report issues with the compatibility layers that to not
  occur with the native AO

For now the AO is ordered after all the other relevant AOs, so it will
most probably not be picked up by default.
This is for the following reasons:

* Currently it is not possible to detect if the PipeWire daemon that mpv
  connects to is actually driving the system audio.
  (https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1835)
* It gives the AO time to stabilize before it is used by everyone.

Based-on-patch-by: Oschowa <oschowa@web.de>
Based-on-patch-by: Andreas Kempf <aakempf@gmail.com>
Helped-by: Ivan <etircopyhdot@gmail.com>
2022-01-17 11:43:02 -08:00

119 lines
8.9 KiB
Meson

# booleans
option('gpl', type: 'boolean', value: true, description: 'GPL (version 2 or later) build')
option('cplayer', type: 'boolean', value: true, description: 'mpv CLI player')
option('libmpv', type: 'boolean', value: false, description: 'libmpv library')
option('build-date', type: 'boolean', value: true, description: 'whether to include binary compile time')
option('tests', type: 'boolean', value: false, description: 'unit tests (development only)')
# Reminder: normally always built, but enabled by MPV_LEAK_REPORT.
# Building it can be disabled only by defining NDEBUG through CFLAGS.
option('ta-leak-report', type: 'boolean', value: false, description: 'enable ta leak report by default (development only)')
# misc features
option('cdda', type: 'feature', value: 'disabled', description: 'cdda support (libcdio)')
option('cplugins', type: 'feature', value: 'auto', description: 'C plugins')
option('dvbin', type: 'feature', value: 'disabled', description: 'DVB input module')
option('dvdnav', type: 'feature', value: 'auto', description: 'dvdnav support')
option('iconv', type: 'feature', value: 'auto', description: 'iconv')
option('javascript', type: 'feature', value: 'auto', description: 'Javascript (MuJS backend)')
option('lcms2', type: 'feature', value: 'auto', description: 'LCMS2 support')
option('libarchive', type: 'feature', value: 'auto', description: 'libarchive wrapper for reading zip files and more')
option('libavdevice', type: 'feature', value: 'auto', description: 'libavdevice')
option('libbluray', type: 'feature', value: 'auto', description: 'Bluray support')
option('lua',
type: 'combo',
choices: ['lua', 'lua52', 'lua5.2', 'lua-5.2', 'luajit', 'lua51',
'lua5.1', 'lua-5.1', 'auto', 'enabled', 'disabled'],
value: 'auto',
description: 'Lua'
)
option('pthread-debug', type: 'feature', value: 'disabled', description: 'pthread runtime debugging wrappers')
option('rubberband', type: 'feature', value: 'auto', description: 'librubberband support')
option('sdl2', type: 'feature', value: 'disabled', description: 'SDL2')
option('sdl2-gamepad', type: 'feature', value: 'auto', description: 'SDL2 gamepad input')
option('stdatomic', type: 'feature', value: 'auto', description: 'C11 stdatomic.h')
option('uchardet', type: 'feature', value: 'auto', description: 'uchardet support')
option('uwp', type: 'feature', value: 'disabled', description: 'Universal Windows Platform')
option('vapoursynth', type: 'feature', value: 'auto', description: 'VapourSynth filter bridge')
option('vector', type: 'feature', value: 'auto', description: 'GCC vector instructions')
option('win32-internal-pthreads', type: 'feature', value: 'auto', description: 'internal pthread wrapper for win32 (Vista+)')
option('zimg', type: 'feature', value: 'auto', description: 'libzimg support (high quality software scaler)')
option('zlib', type: 'feature', value: 'auto', description: 'zlib')
# audio output features
option('alsa', type: 'feature', value: 'auto', description: 'ALSA audio output')
option('audiounit', type: 'feature', value: 'auto', description: 'AudioUnit output for iOS')
option('coreaudio', type: 'feature', value: 'auto', description: 'CoreAudio audio output')
option('jack', type: 'feature', value: 'auto', description: 'JACK audio output')
option('openal', type: 'feature', value: 'disabled', description: 'OpenAL audio output')
option('opensles', type: 'feature', value: 'auto', description: 'OpenSL ES audio output')
option('oss-audio', type: 'feature', value: 'auto', description: 'OSSv4 audio output')
option('pipewire', type: 'feature', value: 'auto', description: 'PipeWire audio output')
option('pulse', type: 'feature', value: 'auto', description: 'PulseAudio audio output')
option('sdl2-audio', type: 'feature', value: 'auto', description: 'SDL2 audio output')
option('wasapi', type: 'feature', value: 'auto', description: 'WASAPI audio output')
# video output features
option('caca', type: 'feature', value: 'auto', description: 'CACA')
option('cocoa', type: 'feature', value: 'auto', description: 'Cocoa')
option('d3d11', type: 'feature', value: 'auto', description: 'Direct3D 11 video output')
option('direct3d', type: 'feature', value: 'auto', description: 'Direct3D support')
option('drm', type: 'feature', value: 'auto', description: 'DRM')
option('egl', type: 'feature', value: 'auto', description: 'EGL 1.4')
option('egl-android', type: 'feature', value: 'auto', description: 'Android EGL support')
option('egl-angle', type: 'feature', value: 'auto', description: 'OpenGL ANGLE headers')
option('egl-angle-lib', type: 'feature', value: 'auto', description: 'OpenGL Win32 ANGLE library')
option('egl-angle-win32', type: 'feature', value: 'auto', description: 'OpenGL Win32 ANGLE Backend')
option('egl-drm', type: 'feature', value: 'auto', description: 'OpenGL DRM EGL Backend')
option('egl-wayland', type: 'feature', value: 'auto', description: 'OpenGL Wayland Backend')
option('egl-x11', type: 'feature', value: 'auto', description: 'OpenGL X11 EGL Backend')
option('gbm', type: 'feature', value: 'auto', description: 'GBM')
option('gl', type: 'feature', value: 'enabled', description: 'OpenGL context support')
option('gl-cocoa', type: 'feature', value: 'auto', description: 'gl-cocoa')
option('gl-dxinterop', type: 'feature', value: 'auto', description: 'OpenGL/DirectX Interop Backend')
option('gl-win32', type: 'feature', value: 'auto', description: 'OpenGL Win32 Backend')
option('gl-x11', type: 'feature', value: 'disabled', description: 'OpenGL X11/GLX (deprecated/legacy)')
option('jpeg', type: 'feature', value: 'auto', description: 'JPEG support')
option('libplacebo', type: 'feature', value: 'auto', description: 'libplacebo support')
option('rpi', type: 'feature', value: 'disabled', description: 'Raspberry Pi support')
option('sdl2-video', type: 'feature', value: 'auto', description: 'SDL2 video output')
option('shaderc', type: 'feature', value: 'auto', description: 'libshaderc SPIR-V compiler')
option('sixel', type: 'feature', value:'auto', description: 'Sixel')
option('spirv-cross', type: 'feature', value: 'auto', description: 'SPIRV-Cross SPIR-V shader converter')
option('plain-gl', type: 'feature', value: 'auto', description: 'OpenGL without platform-specific code (e.g. for libmpv)')
option('vdpau', type: 'feature', value: 'auto', description: 'VDPAU acceleration')
option('vdpau-gl-x11', type: 'feature', value: 'auto', description: 'VDPAU with OpenGl/X11')
option('vaapi', type: 'feature', value: 'auto', description: 'VAAPI acceleration')
option('vaapi-drm', type: 'feature', value: 'auto', description: 'VAAPI (DRM/EGL support)')
option('vaapi-wayland', type: 'feature', value: 'auto', description: 'VAAPI (Wayland support)')
option('vaapi-x11', type: 'feature', value: 'auto', description: 'VAAPI (X11 support)')
option('vaapi-x-egl', type: 'feature', value: 'auto', description: 'VAAPI EGL on X11')
option('vulkan', type: 'feature', value: 'auto', description: 'Vulkan context support')
option('wayland', type: 'feature', value: 'auto', description: 'Wayland')
option('x11', type: 'feature', value: 'auto', description: 'X11')
option('xv', type: 'feature', value: 'auto', description: 'Xv video output')
# hwaccel features
option('cuda-hwaccel', type: 'feature', value: 'auto', description: 'CUDA acceleration')
option('cuda-interop', type: 'feature', value: 'auto', description: 'CUDA with graphics interop')
option('d3d-hwaccel', type: 'feature', value: 'auto', description: 'D3D11VA hwaccel')
option('d3d9-hwaccel', type: 'feature', value: 'auto', description: 'DXVA2 hwaccel')
option('gl-dxinterop-d3d9', type: 'feature', value: 'auto', description: 'OpenGL/DirectX Interop Backend DXVA2 interop')
option('ios-gl', type: 'feature', value: 'auto', description: 'iOS OpenGL ES hardware decoding interop support')
option('rpi-mmal', type: 'feature', value: 'auto', description: 'Raspberry Pi MMAL hwaccel')
option('videotoolbox-gl', type: 'feature', value: 'auto', description: 'Videotoolbox with OpenGL')
# macOS features
option('macos-10-11-features', type: 'feature', value: 'auto', description: 'macOS 10.11 SDK Features')
option('macos-10-12-2-features', type: 'feature', value: 'auto', description: 'macOS 10.12.2 SDK Features')
option('macos-10-14-features', type: 'feature', value: 'auto', description: 'macOS 10.14 SDK Features')
option('macos-cocoa-cb', type: 'feature', value: 'auto', description: 'macOS libmpv backend')
option('macos-media-player', type: 'feature', value: 'auto', description: 'macOS Media Player support')
option('macos-touchbar', type: 'feature', value: 'auto', description: 'macOS Touch Bar support')
option('swift-build', type: 'feature', value: 'auto', description: 'macOS Swift build tools')
option('swift-flags', type: 'string', description: 'Optional Swift compiler flags')
# manpages
option('html-build', type: 'feature', value: 'disabled', description: 'html manual generation')
option('manpage-build', type: 'feature', value: 'auto', description: 'manpage generation')
option('pdf-build', type: 'feature', value: 'disabled', description: 'pdf manual generation')