mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 03:52:22 +02:00
87aba146ed
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>
119 lines
8.9 KiB
Meson
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')
|