New Update mpv player Updates Thread

lokamoka820

Level 57
Verified
Top Poster
Well-known
Homepage: mpv.io

mpv is a free (as in freedom) media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.

mpv player 0.39.0 Stable
Sep 23, 2024
Key highlights:
  • A new select.lua script, allowing users to easily choose files from playlists, tracks, chapters, output devices, and more.
  • A native replacement for autoload.lua has been implemented. See --autocreate-playlist in the manual.
  • NVIDIA RTX and Intel VSR scaling are now supported via the d3d11va filter.
  • Media controls are now supported on Windows.
  • Track selection has been improved, especially for multi-component languages like fr-CA.
  • A new fifth page has been added to stats.lua, displaying track information.
  • Compatibility with dmabuf-wayland has been significantly enhanced.
  • Multi-touch support has been introduced.
Features:
New:
  • vf_d3d11vpp: add support for Intel VSR and NVIDIA RTX scaling modes
  • demux: add --autocreate-playlist
  • audio: add pitch-shifting feature
  • win32: add Media Control support
  • various: allow changing GPU API options at runtime
  • vo_gpu_next: support --gamma-factor
  • vf_vapoursynth: upgrade to VapourSynth API v4
  • select.lua: add this script
  • console.lua: implement a command parser to complete more things
  • demux_mkv: demux Block Additional Mappings
  • cocoa-cb: add support for macOS color space transformation (EDR/HDR)
  • powershell-completion: add PowerShell command line completion
  • input: implement VO dragging deadzone
  • win32: support multitouch
  • wayland_common: support multitouch
  • demux/packet: add support for ITU T.35 metadata in Matroska
  • demux: support VVC Matroska demux
  • terminal-win: support mouse input events
  • x11_common: detect wm support for _NET_WM_STATE_SKIP_TASKBAR
Changed:
  • loadfile: improve the format of terminal track information
  • options: add secondary-{sid,sub-delay} to watch_later_options
  • input: map Num 5 to distinct value when numlock is off
  • input.conf: make Alt+BS reset panscan
  • msg: don't use bold colors and instead use bright ones
Options and Commands:
Added:
  • sub: add ass-video-aspect-override option
  • input/keycodes: add KP_ADD/SUBTRACT/MULTIPLY/DIVIDE keycodes
  • demux_playlist: use --directory-filter-types for --autocreate-playlist
  • options: add --{video,audio,image}-exts
  • player: don't decrement --ab-loop-count=N and add remaining-ab-loops
  • player: don't decrement --loop-file=N and add remaining-file-loops
  • sub: add (sub/osd)-border-style; renaming sub options
  • input.conf: add zoom, pan, scale and rotate keybinds for numpad
  • wayland: add a --wayland-present option
  • mac/menu: add option to disable default shortcuts
  • stats.lua: display file tags
  • osc.lua: add option to use display fps for update interval
  • osc.lua: add option to make rendering smoother
  • opengl: add --egl-output-format, --egl-config-id
  • vf_vapoursynth: add parameter to pass arbitrary string to script
  • options: add --osd-playlist-entry
  • {osc,stats}.lua: add 'auto' value to vidscale option
  • input/cmd: add nonrepeatable prefix
  • player: add option-info/<name>/expects-file
  • command: add dolby-vision-profile and dolby-vision-level to track-list
  • scripting: add mp.input.select()
  • command: add normalize-path command
  • OSC: implemented user configurable colors
  • ao_wasapi: add --wasapi-exclusive-buffer option
  • stats.lua: add option to disable scale with video size
  • stats.lua: add option to control plot border width
  • player/command: add track-list/N/decoder
  • sd_ass: add sub-vsfilter-bidi-compat to enable vsfilter bidi compat
  • {x11,w32}_common: implement --show-in-taskbar option
Changed:
  • sub: merge vsfilter-aspect and vsfilter-blur-compat options
  • input.conf: swap the positions of values for ctrl+h binding
  • video/csputils: remove space from choice option for chroma loc
  • input.conf: add KP_DIVIDE/KP_MULTIPLY key bindings
  • external_files: allow specifying --cover-art-whitelist filenames
  • x11_common: handle runtime keepaspect/keepaspect-window change
  • video/out/gpu/context: convert --gpu-api to object settings list
  • playlist: let playlist-next go to first item if player is idle
  • playlist: let playlist-prev go to last item in playlist
  • options: remove deprecated auto choice for --mute
  • player/command: alias playback-time to time-pos
  • input.conf: change 'u' binding to cycle between 'force' and default
  • options: make sub-ass-override default to 'scale'
  • sd_ass: only set sub-scale for 'scale', 'force' or 'strip'
  • player/command: mark sub-text-ass as deprecated
  • player/command: add sub-text/ass-full sub-property
  • player/command: move sub-text-ass to a sub-property
Removed:
  • command: remove deprecated packet-*-bitrate properties
  • console.lua: remove the scale script-opt
  • osc.lua: remove scaleforcedwindow
Fixes and Minor Enhancements:
  • wayland: fix vertical resizing
  • stats.lua: don't use ASS tags when use_ass is false
  • video/out/wayland_common: set key state only on keyboard_enter keys
  • input: add MP_KEY_STATE_SET_ONLY
  • vo_gpu: use fallback colorspace for Dolby Vision
  • video/out/wayland_common: don't pass mouse inputs on resizing edges
  • hwdec_vulkan: allow using multiple decoding family queues
  • hwdec_vulkan: update to new libavutil queue family API
  • drm_prime: fix use of formats with modifiers
  • build: bump minimum Windows version to 10
  • input/ipc-win: support fd:// for --input-ipc-client
  • player/command: fix --force-window=yes acting like immediate
  • sd_ass: fix margin y scale with font size
  • sd_ass: fix sub scale with window when use_margins is enabled
  • loadfile,select.lua: print bitrates of tracks
  • wayland: avoid potential floating point errors while scaling
  • vo_dmabuf_wayland: don't use -ve margins in window size calculation
  • ytdl_hook.lua: allow changing try_ytdl_first during runtime
  • wayland: fix missed int -> double conversion for cursor scaling
  • player/loadfile: enable streams in order of types when loading file
  • misc/natural_sort: avoid implementation-defined behavior in comparison
  • demux: allow refresh seek for non-video streams
  • demux_edl: fix infinite loop on empty EDL files
  • d3d11: return minimum bitdepth for display output and swapchain
  • stats.lua: add page 5 for currently selected tracks information
  • autoload.lua: fix options update
  • input: prevent MBTN_LEFT conflict with VO dragging
  • TOOLS/autoload.lua: fix directory_mode and ext options
  • player/video: fix incorrect VO frame duration and frame drops
  • x11: correct position coordinates if mpv was launched with --fs
  • vo_vaapi: fix use-after-free when quitting
  • vo_vaapi: fix use-after-free of current frame
  • playloop: don't loop when seeking to the end of cover art while paused
  • build: dynamically generate mpv.desktop file protocols
  • wayland: use wl->callback_surface for idle inhibitor creation
  • wayland: cap xdg_wm_base at 4 if wm_capabilities aren't supported
  • {options,player}: fix stream leaks
  • console.lua: increase margins from the bottom-left corner
  • external_files: detect language tags with hyphens
  • player/loadfile: match language and subcodes
  • player: normalize paths for resuming playback
  • demux_mkv: fix image detection
  • demux_mkv: make V_QUICKTIME codec detection generic
  • osd: show left arrow when playing backwards
  • wayland: set wl->scaling if there is no wl->current_output yet
  • sub/osd: fix rounding when rescaling bitmap subtitle rects
  • zsh-completion: complete --gpu-context
  • stats.lua: show osd-dimensions property
  • sub/lavc_conv: don't override style of converted teletext pages
  • mac: make display-names unique to allow specific selection
  • vo_dmabuf_wayland: use wl_fixed_from_int when setting viewport source
  • vo_dmabuf_wayland: fix scaling for subsurface positioning
  • demux: also read "CUESHEET" tag from stream metadata
  • stats.lua: filter input bindings by typing them
  • vo_{tct,sixel,kitty}: implement mouse support
  • terminal-unix: ignore unhandled mouse CSI sequences
  • terminal-unix: support mouse escape codes
  • sd_ass: fix margins for all styles when overriding PlayResX
  • stats.lua: inherit OSD styles
  • options: fix runtime update of teletext-page
  • ytdl_hook: add some more yt-dlp tags
  • vulkan: don't tolerate suboptimal swapchain configurations
  • vd_lavc: add Vulkan hardware decoding to autoprobe
  • sub/osd: add log if osd rendering takes too long time
  • vo_gpu_next: allow setting antiring value for cscale
  • f_auto_filters: don't set interlaced-only for userdeint
  • vo_dmabuf_wayland: reject formats not supported by the GPU
  • ytdl_hook: make path and json available to other scripts
 
Thanks for the detailed update on mpv player 0.39.0. The new features like NVIDIA RTX and Intel VSR scaling support, native replacement for autoload.lua, and multi-touch support are very exciting. Also, the fixes and minor enhancements will definitely improve the user experience. Looking forward to trying out the latest version.
 
v0.40.0
We are excited to announce the release of mpv 0.40.0.

Key highlights:
  • Console: Enhanced autocompletion and visual styling
  • OSC: New selection menu accessible by right-clicking common buttons
  • HDR is now natively supported when using direct rendering (DRM),
    as well as dmabuf-wayland on Linux
  • Native clipboard access for scripts via new clipboard property
  • New command menu, with common actions easily accessible
  • Enhanced select.lua with new selection options for watch history, editions, DVD/Blu-Ray titles
  • New positioning.lua script script for cursor-centric zooming and drag to pan
  • Better stream support for Blu-ray, DVD and CDDA
  • Track selection improvements and better metadata display
  • Added osd-box / sub-box / box profiles to easily enable box styled OSD/OSC
  • Windows support in umpv helper script
This release requires FFmpeg 6.1 or newer and libplacebo 6.338.2 or newer.
 
v0.42.0
We are excited to announce the release of mpv 0.42.0.

Key highlights:​

  • libcurl based network backend with HTTP/2, HTTP/3 and connection reuse
  • DVD-Video, Blu-ray HDMV and BD-J menu navigation
  • DVD-Audio playback
  • Direct playback of .iso images of DVD-Video, DVD-Audio and Blu-ray discs
  • Dolby Vision Profile 7 enhancement layer support in gpu-next
  • MPEG-TS programs and HLS variants are exposed as editions
  • DSD-over-PCM (DoP) passthrough with --audio-spdif=dsd
  • Support for SRV3 (YouTube) subtitles via subrandr library
  • Context menu populated from the new menu.conf, bound to right click
  • floating OSC layout with Fluent icons (--script-opts=osc-layout=floating)
  • API that allows integration between the OSC and (third-party) thumbnailer scripts
  • Wayland session management
  • Wayland color management through the protocol instead of the Vulkan API
  • scRGB output with --target-trc=scrgb
  • Improved HDR colorspace signalling on DRM (Linux)
  • D3D11 render API backend for libmpv
  • Reworked terminal video outputs (sixel, kitty and tct)
  • AMD Frame Rate Conversion filter (--vf=amf_frc)
  • Rewritten display-sync audio drift compensation
  • --tls-verify is enabled by default
This release requires FFmpeg 6.1 or newer and libplacebo 7.387.0 or newer.

Note that the release binary assets are our CI builds. These builds are reasonably useful. The Windows full builds (*-w64-mingw32-full.zip) are bigger and aim to provide the complete experience.

Features​

New​

  • sub: add subrandr renderer support
  • video/filter/vf_amf: add AMD Frame Rate Conversion filter
  • mac/common: add support for transparent rendering
  • context_menu.lua: implement key hints
  • menu.conf: add this file
  • select.lua: populate the context menu
  • input.conf: add context menu bindings
  • vo_gpu_next: add scRGB support
  • video/out/opengl/context_wayland: export preferred colorspace
  • vo_dmabuf_wayland: add BT.2100 mapping
  • wayland_common: add scRGB support
  • mpv-osd-symbols: add some Fluent UI System Icons to mpv font
  • osc.lua: add floating layout
  • vo_gpu_next: add stereo osd support
  • demux_lavf: add support for programs
  • demux_timeline: add support for programs
  • vo_gpu: initial support for tunable parameters
  • vo_gpu: add support for DEFINE and ENUM parameters
  • osc: define and add support for "preview" api
  • demux/packet: add support for SMPTE 2094-50 metadata
  • vo_gpu: support parameters in RPN expressions
  • demux_playlist: add support for 'strm' playlist
  • wayland: implement session management
  • demux/packet: add support for LCEVC ITU-T35 payloads
  • demux_lavf: add support for stream groups
  • video: merge the tiles of grid heif and avif images
  • stream_curl: add libcurl-based stream backend
  • demux_lavf: route nested HTTP opens through the curl backend
  • stream_curl: use for ftp/ftps
  • video/out/x11_common: add --focus-on support in X11
  • hwdec_d3d11va: support 4:4:4 and high bit depth zero-copy formats
  • demux_mkv: support demuxing native VC-1 streams
  • stream_curl: add support for Icecast metadata
  • f_enhancement_pair: add filter to match frames of separate video tracks
  • vo_gpu_next: upload/map EL frame
  • demux_lavf: add support for splitting EL track from in-band
  • demux_mkv: add support for splitting EL track from in-band
  • stream_env: add new stream to read from environment variables
  • audio/filter: implement lavfi-tempo leveraging lavfi's atempo/ascale
  • sd_lavc: add support for DVD sub highlight
  • stream_dvdnav: implement DVD menu navigation
  • stream_bluray: implement HDMV menu navigation
  • demux_disc: add a synthetic "Disc Menu" edition
  • stream_bluray: add BD-J menu support
  • stream_dvdnav: add support for still frames
  • stream_bluray: add support for still frames
  • stream_dvda: add DVD-Audio playback support
  • stream_dvda: expose DVD-Audio still images as a cover-art video track
  • stream: auto-detect .iso DVD-Video, DVD-Audio and Blu-ray images
  • vo_{gpu,gpu_next}/vulkan: enable extensions required for vf_fruc_vulkan
  • audio/format: add raw DSD sample format
  • ao_wasapi: add DSD-over-PCM (DoP) output support
  • audio: add DSD-over-PCM pass-through
  • mp_image: read stereo 3D layout from AV_FRAME_DATA_STEREO3D
  • demux_lavf: read the stereo 3D mode from the stream side data
  • video/out: add a swapchain for terminal VOs
  • vo_{sixel,tct,kitty}: present frames through the terminal swapchain
  • stream_aes_ctr: add aes-ctr:// protocol
  • libmpv: add D3D11 render API backend
  • vo_drm: add support for RGB565
  • mp_image: support linear light XYZ

Changed​

  • wayland: bump libwayland minimum version to 1.22
  • wayland: bump wayland-protocols minimum version to 1.38
  • common/msg: allow only SGR sequence in terminal output
  • video/out/vulkan/context_wayland: implement color_depth
  • vo_gpu_next: undo dither-depth=auto meaning 8bpc for SDR when undetected
  • common/playlist: store normalized playlist filenames
  • player/loadfile: never autoselect tracks with wrong PID
  • context_drm_egl: use target_csp to signal HDR
  • vo_gpu_next: set color directly using Wayland protocol
  • wayland_common: set luminances
  • meson: bump minimum libdrm version to 2.4.114
  • vd_lavc: remove Vulkan hwdec from auto-safe selection
  • player/video: rewrite display-sync audio drift compensation
  • player/command: hide dependent tracks
  • input/dnd: move built-in drag and drop handling to mpv client
  • video/decode: enable APV hwdec by default
  • input.conf: bind right click to context menu
  • stream_curl: require libcurl 7.88.0
  • vo_gpu_next: follow reference white system setting
  • vo: prefer dmabuf_wayland over other fallback VOs
  • vo_gpu_next: make subtitles / osd also follow system reference white
  • f_decoder_wrapper: prefer bitstream stereo 3D layout over container tag
  • vulkan: bump minimum required Vulkan headers to 1.4.309
  • meson: prefer LuaJIT over PUC Lua
  • meson: bump min libplacebo version to v7.387.0

Removed​

  • options.lua: stop searching in lua-settings
  • context_angle: remove the D3D9 renderer

Options and Commands​

Added​

  • player/command: add subrandr-version property
  • command: add libplacebo-version property
  • command: add the default-menu property
  • stats.lua: add track_info_selected_only script option
  • command: add track-list/N/demux-duration property
  • mp.input: allow async completions
  • command: let playlist-play-index current preserve file-local-options
  • mp.input: allow clients to override console.lua script-opts
  • player/loadfile: add on_loaded hook
  • osc.lua: add audioonlyscreen script option
  • osc.lua: add dynamic_margins, sub-margin, osd-margin, osc-icon_style options
  • command: add update-clipboard command
  • player/command: add env property
  • player/command: add default-value/choices arg fields to command-list
  • vo_gpu_next: add image-subs-hdr-peak=video-dynamic/video-static
  • context_menu.lua: set user-data/mpv/context-menu/open
  • command: allow metadata to be set manually
  • player/{lua,javascript}: add mp.utils.terminal_display_width function
  • osc.lua: add option to configure skip_forward/backward buttons
  • osc.lua: make window control buttons action customizable
  • context_menu.lua: add background_alpha script-opt
  • sub: add sub-lines property
  • osc.lua: add box width option for box and slimbox layouts
  • demux_{lavf,timeline}: add --flatten-editions
  • input: add --input-builtin-drag-and-drop option
  • command: add dropped-file property
  • demux: add --demuxer-hysteresis-bytes
  • stream_curl: add --curl-enabled option
  • select.lua: add keep-open argument to select bindings
  • vf_format: add vf=format=enhancement-layer option
  • options: add secondary-sub-scale
  • options: add --playlist-inherit-options option
  • command: add colorspace and luminance arguments to overlay-add
  • options: add disc-menu option
  • player/command: add disc-menu-active property
  • player/command: add discnav command and bind default keys
  • osc.lua: make wheel commands on the seekbar configurable
  • stream_bluray: add --bluray-key-file
  • stream_bluray: add --bluray-min-title-length
  • stream_bluray: add --bluray-region and --bluray-uo-restriction
  • player/command: add commentary track flag support in commands
  • player/command: add more disc navigation actions
  • player/command: make property playlist/N/title writable
  • lua: utils.format_json: add optional pretty argument
  • vo_gpu_next: use pl_color_map_params.tone_constants
  • vo_gpu_next: expose mastering_clip and film_strength color_map params

Changed​

  • player/command: refactor loadfile and loadlist commands to use flags
  • f_auto_filters: rework --deinterlace=auto option
  • player: make effective image_display_duration playback_speed aware
  • builtin.conf: enable antiringing in high quality profile
  • vf_d3d11vpp: rename ivctc to ivtc
  • player/command: apply expand-properties modifier also for string lists
  • video/out/win_state: don't move window when force-window-position=no
  • options: target-gamut now accepts custom CIE xy primaries
  • options: allow selecting workspace using --geometry without specifying size
  • player/screenshot: validate strftime format string
  • input/cmd: use _name for command name in mpv_command_node
  • demux_playlist: only autocreate on regular file
  • ytdl_hook.lua: default to all_formats=yes
  • etc/builtin.conf: change gui mode to idle=yes
  • options: make player-operation-mode readable as a property
  • options: enable tls-verify by default
  • demux_lavf: change demuxer-lavf-{probesize,buffersize} to OPT_BYTE_SIZE
  • player/command: make track-list/N/ff-index optional
  • input/ipc-win: allow Windows handles for --input-ipc-client
  • vd_lavc: derive hwdec surface pool size from VO requirements
  • stream_bluray: use 1-based angle, same as in DVD
  • stream_curl: use the Content-Disposition file name as the filename
  • ytdl_hook: pass a default format again
  • vf_format: make stereo-in=mono override the source mode
  • m_property: sort the property list and resolve names once
  • stream_dvdnav: set the VM language registers from --alang and --slang

Deprecated​

  • vf_format: deprecate --vf=format=sig-peak
  • mp.input: deprecate log_error()
  • vo: officially deprecate vo_vaapi

Removed​

  • console.lua: remove selected_color and selected_back_color
  • console.lua: remove undocumented dont_bind_up_down option
  • osc.lua: use window title for window controls from mpv core
  • command: remove the deprecated time-start property
  • lua: remove the deprecated error field from end-file

Fixes and Minor Enhancements​

  • mac/{remote,touchbar}: remove manual 1 second rate limit of position property
  • screenshot: correctly detect hardware frame
  • sub/draw_bmp: fix rgba alpha blending
  • console.lua: implement horizontal scroll
  • demux_playlist: add base paths when adding playlist entries
  • demux_playlist: expand tilde placeholders in playlist files
  • command: set the language of added tracks from the filename
  • command: remember the language when reloading tracks
  • vo_gpu{,_next}: fix overriding scaling parameters for inherited kernels
  • player/command: fix repeatable frame stepping with the seek argument
  • d3d11: support --d3d11-output-format fully for gpu-next
  • wayland: handle all outputs disappearing without segfaulting
  • select.lua: sort the track submenu
  • vf_d3d11vpp: fix deinterlacing
  • vf_d3d11vpp: set output format for NVIDIA RTX Video HDR
  • {demux,player}: expose original and commentary track flags
  • screenshot: percent decode filename if it's a URI
  • input.conf: bind Ctrl+r to reload the current file
  • osc.lua: make top/bottom bar show independently on mouse proximity
  • auto_profiles.lua: evaluate conditional profiles on on_loaded hook
  • command: avoid crashing the player with mmap
  • w32_common: refactor window resizing
  • video/vaapi: mark nvidia-vaapi-driver as emulated driver
  • mac/window: fix white lines around screen with non-native fullscreen
  • osc.lua: show window controls in idle
  • Meson: add appropriate install_tag to each target
  • video/out/x11_common: fix BadAtom error when getting atom name
  • player/screenshot: support %s date format on all platforms
  • input/ipc-unix: don't delete file for abstract sockets
  • osdep/io: make getenv case insensitive on windows
  • player/external_files: use natural sort for comparing filenames
  • player/external_files: fix --cover-art-whitelist priority
  • menu.conf: add OSC layout selection
  • vo_gpu_next: fix image subtitle hdr peak
  • ytdl_hook.lua: set the title in metadata
  • msg: sanitize term title and block C1 controls and DEL
  • w32_common: support initial --fs and --window-maximized
  • vf_vapoursynth: update for VapourSynth R74
  • sub/dec_sub: de-duplicate overlapping sub lines
  • select.lua: add select-secondary-subtitle-line
  • demux: enrich edition titles with codec/resolution/bitrate info
  • demux_{lavf,timeline}: consider audio only HLS when selecting edition
  • demux_lavf: map comment to stream title
  • vo_gpu_next: fix upload synchronization
  • ra_gl: fix memory leak
  • demux/packet_pool: incrementally free old packets on pop
  • wayland: force redraw on every configure when in toplevel resize state
  • vo_gpu_next: always cache frames in paused state and never interpolate
  • stream/cookies: allow reading cookies not only from a local file
  • demux_libarchive: apply --directory-filter-types to files in archives
  • demux_cue: fix audio file lookup inside subdirectory
  • ytdl_hook.lua: map ass/srt subtitles
  • ao_pipewire: avoid deadlock when starting thread loop
  • sub/sd_ass: subtitle timing rounding errors
  • meson: consider only 'v0.*' tags when computing the version
  • demux_timeline: fix Twitch VOD timestamps being offset by ~60 seconds
  • player: fix cover-art-files overriding embedded video tracks
  • subprocess-posix: use clone when available
  • demux_mkv: don't apply AVI b-frame delay compensation to VfW tracks
  • ytdl_hook: use native http-proxy option instead of lavf option
  • ytdl_hook: defer loading until the formats become available
  • video/d3d: exclude HEVC on known crashing Intel drivers
  • video/d3d: exclude VP9 on known broken Intel drivers
  • {select,console}.lua: release memory of menu items after menu closing
  • vf_d3d11vpp: enable NVIDIA RTX Video only for SDR input
  • options: store audio/sub delay in doubles instead of floats
  • osxbundle: fix a wrong vulkan search path
  • vo_gpu_next: ignore reference white for screenshots
  • ao_pipewire: treat init timeout as failure instead of success
  • console.lua: speed up filtering of selectable items
  • demux: interrupt blocking reads whose result would be discarded
  • ad_spdif: recreate spdif muxer on reset
  • osdep/w32_register: add a DVD-Audio AutoPlay handler
  • vo_gpu_next: keep hwdec frames mapped while the queue holds them
  • stream_file: don't report a size for pipes and sockets
  • osdep/path-win: expand ~~exe_dir/ on portable mode
  • demux_lavf: read HLS and DASH manifests through the stream
  • stream_slice: don't read past the end of the slice
  • meson: respect -Dvapoursynth=disabled for vapoursynth-script
  • osdep/win32/smtc: fix hang on exit before the window is created
  • demux_mkv: fall back to the first cluster for seeks before the index
  • hwdec_drmprime_overlay: make the framebuffer the whole frame
  • stream/network: accept ICY headers without a space after the colon
  • context_drm_egl: handle set_color() with a NULL hint
  • context_drm_egl: keep allow_modeset until the color commit is submitted
  • osdep/io: restore umask-based file creation permissions
  • wayland: use configure bounds in window geometry
  • vo_drm: fix hang when routine wakeups fill VT pipe
  • terminal: serialize terminal output between the status line and the VOs
  • vo_{sixel,kitty}: draw the video into a frame the size of the canvas
  • terminal: redraw the terminal VOs when the terminal is resized
  • terminal-win: ask the terminal for its cell size under ConPTY
  • sws_utils,zimg: keep the scalers across frames with dynamic HDR metadata
  • bash-completion: complete aliases and list actions like their target
  • osdep/language-win: advance through preferred UI languages
  • demux_playlist: resolve relative entries against the url after redirects
  • vo_gpu: opengl: support GL_EXT_framebuffer_object
  • vo_gpu: opengl: use R8/RG8 formats on GLES 2.0 and GL 2.1
  • d3d11/context: resize buffers when DXGI leaves exclusive fullscreen
  • vo_gpu_next: only re-upload OSD textures when they change
  • vo_gpu: decode XYZ into the tagged primaries
  • ytdl_hook: default cookies without a Domain to the host of origin
  • osdep/win32/smtc: fix crash at exit when another thread owned the MTA
  • win32/smtc: allow toggling at runtime
  • mac/input: only filter repeated key down events
  • mac/menu: set the window menu of the NSApp for default menu items
  • ytdl_hook: map vp09 codec strings to vp9
  • stream_lavf: mark rtsp:// URLs as network streams
  • stream_lavf: open rtp:// URLs with the lavf rtp demuxer
  • stream_bluray: set the player language settings from --alang and --slang
  • stream_bluray: use the disc's chapter names when it has them
  • demux_disc: fix the DVD subtitle palette conversion
  • ytdl_hook: skip subtitles that need a yt-dlp downloader
  • ao_pipewire: advertise unknown layouts as AUX channels
  • ao_pulse: map unknown layouts onto the sink's channel positions
  • ao_wasapi: request unknown layouts as DirectOut
  • ao_openal: fix the 6.1 channel order
  • ao_alsa: map the top side and bottom channel positions
  • command: fix infinite recursion with a list property in term-status-msg
  • sub/sd_ass: deduplicate packets without file position by content hash
  • misc/path_utils: normalize win32 paths with GetFullPathNameW()
  • options/parse_commandline: glob only arguments with wildcards on win32
  • player: show the first frame at its time when audio already plays
  • player: fall back to the next track when a decoder fails to initialize
  • vo_dmabuf_wayland: ignore rotations that aren't multiples of 90
  • stats.lua: fix keybind display searching
  • wayland: scale initial window size hint
  • ao_alsa: avoid possible playback freeze on xrun
  • demux_mkv: use block timestamps as PTS for codecs that don't reorder
  • player: preserve lavfi-complex when reinitializing VO
  • context_drm_egl: allow fallback to GBM surface with implicit modifiers
  • player/video: refresh just loaded images on filter changes
  • ao_coreaudio_chmap: prioritise preferred stereo layout over default
  • ao_coreaudio: reload ao on device change
  • player/video: don't wait for the last frame's duration with --untimed
  • subprocess-posix: fix deadlock on large stdin writes
  • ipc-unix: create IPC sockets with CLOEXEC
  • input/ipc-unix: keep listening after transient accept() errors
 
v0.42.0

An avalanche of changelogs 🫨
I have been using MPV for a couple of years, but I have always used the development build. I have been using my customized setup with a popular third-party UI, scripts, shaders and even a couple of my vibecoded scripts that I needed for some functions that are not available in MPV by default.
MPV is a total beast. It can play anything with ease.
My config:
 

Join the discussion

Write your reply below. You'll create a free account or log in before it's posted.

Recently browsing

Members who viewed this thread in the last 5 minutes

Back
Top