Release 0.29.0 ============== This release requires FFmpeg 4.0 or newer. Features -------- Added ~~~~~ - ao/openal: Add better sample format and channel layout selection - ao/openal: Add support for direct channels output - cocoa-cb: initial implementation via opengl-cb API - context_drm_egl: Introduce 30bpp support (requires Mesa 18.0.0_rc4 or later) - osx: add some more menu bar items as suggested by Apples's HIG - vo_gpu: make screenshots use the GL renderer (#5498, #5240) - x11: support Shift+TAB as an input key bind (#5849) - ytdl_hook: support native dash demuxer, if present Changed ~~~~~~~ - ao_alsa, ao_pulse: reduce requested buffer size - audio: change format negotiation, remove channel remix fudging - client API: deprecate opengl-cb API and introduce a replacement API - demux: lower demuxer cache default sizes from 400MB/400MB to 50MB/150MB - osx: always deactivate the early opengl flush on macOS - scripting: change when/how player waits for scripts being loaded - vo_gpu: various improvements to HDR peak detection - vo_gpu: various improvements to HDR tone mapping - wayland_common: update to stable xdg-shell - ytdl_hook: parse youtube playlist urls to set start index if `--ytdl-raw-option=yes-playlist=` is specified Deprecated ~~~~~~~~~~ - af_lavrresample: deprecate this filter Removed ~~~~~~~ - build: drop support for SDL1 (only applied to ao_sdl) Options and Commands -------------------- Added ~~~~~ - add a number of --audio-resample-* options, which should from now on be used instead of --af-defaults=lavrresample: - ao/openal: --openal-direct-channels - command: add --osd-on-seek option defaulting to bar - command: add a change-list command (#5435) - options: add --http-proxy - options: add a builtin low-latency profile - vaapi: add option to select a non-default device path with --vaapi-device (#4320) - video: add option to reduce latency by 1 or 2 frames - vo_gpu: introduce --target-peak (#5521) Changed ~~~~~~~ - command: change cycle-value command behavior (#5772) - config: replace config dir lua-settings/ with dir script-opts/ - options: --lavfi-complex now requires uniquely named filter pads. - options: --ytdl is now always enabled, even for libmpv - options: make --deinterlace=yes always deinterlace (#5219) - options: slightly improve filter help output for lavfi bridge - vo: rename --vo=opengl-cb to --vo=libmpv Deprecated ~~~~~~~~~~ - encoding: deprecate a bunch of obscure options (--ovoffset, --oaoffset, --ovfirst, --oafirst) - options: deprecate --vf-defaults and --af-defaults - osx: --gpu-context=cocoa with --gpu-api=opengl is now deprecated in favour of --vo=libmpv Removed ~~~~~~~ - command: remove an old compatibility hack that allowed CLI aliases to be set as property, deprecated in 0.26.0 - input: remove legacy command handling for MPlayer commands that were deprecated in 2013 - options: drop --opensles-sample-rate, as --audio-samplerate should be used if desired - options: drop deprecated --videotoolbox-format, --ff-aid, --ff-vid, --ff-sid, --ad-spdif-dtshd, --softvol options - options: remove --video-stereo-mode - options: remove deprecated ao/vo auto profiles - options: remove the following encoding options: --ocopyts (now the default, old timestamp handling is gone), --oneverdrop (now default), --oharddup (you need to use --vf=fps=VALUE), --ofps, --oautofps, --omaxfps Fixes and Minor Enhancements ---------------------------- - HIDRemote: fix volume buttons on macOS 10.13 (#5721) - TOOLS/autoload: Fix broken "disabled" option - TOOLS/autoload: be more robust with slow directory listings (#5618) - ao_sdl: fix default buffer size - build: add static libraries to libmpv.pc - build: bump waf to 2.0.9 (fixes Python 3.7 compatibility) - build: manually add standard library search paths for linking (#5791) - common: round all integer times to milliseconds - demux, player: fix playback of sparse video streams (w/ still images) - demux: support for some kinds of timed metadata (e.g. ICY) - demux_mkv: add V_AV1 identifier for AV1 - demux_mkv: support Meridian Lossless Packing in Matroska (#5923) - display additional metadata tags during video playback - drm_atomic: Fix memory leaks in drm_atomic_create - enable cache for FUSE filesystems on OpenBSD and FreeBSD - gpu: prefer 16bit floating point FBO formats to 16bit integer ones - hwdec_vaegl: Fix VAAPI EGL interop used with gpu-context=drm - input.conf: use exact value for [ binding, which does the inverse of ] - input: add a keybinding to toggle hardware decoding - input: minor additions to default key bindings (#973) - osc: fix accidentally skipping files when seeking with slider - player: fix strange behavior on edition switching - player: fix track autoselection of external files yet again - terminal-unix: stop trying to read when terminal disappears (#5842) - video: actually wait for last frame being rendered on EOF - video: fix --video-rotate in some cases - video: fix crash with vdpau when reinitializing rendering (#5447) - vo_gpu: fix anamorphic screenshots (#5619) - vo_vdpau: fix resizing and rotation problems This listing is not complete. Check DOCS/client-api-changes.rst for a history of changes to the client API, and DOCS/interface-changes.rst for a history of changes to other user-visible interfaces. A complete changelog can be seen by running `git log v0.28.2..v0.29.0` in the git repository or by visiting either https://github.com/mpv-player/mpv/compare/v0.28.2...v0.29.0 or https://git.srsfckn.biz/mpv/log/?qt=range&q=v0.28.2..v0.29.0