SHA256
1
0
forked from pool/mpv

- Update to version 0.38.0+git20240706.00f43e0916fa:

* wayland: fix missed int -> double conversion for cursor scaling
  * stats.lua: active key bindings: identify prefix nonrepeatable
  * console.lua: restore the order of items after clearing the input line
  * console.lua: minor tweaks
  * console.lua: remove the scale script-opt
  * player/loadfile: enable streams in order of types when loading file
  * demux: avoid seeking video streams for refresh seek
  * demux: don't log if track isn't refreshed
  * video/out/gpu/context: convert --gpu-api to object settings list
  * video/out/gpu/context: simplify --gpu-context's check_unknown_entry
  * ytdl_hook: strip quotes from cookie values
  * input/cmd: move m_option_type_cycle_dir to m_option.c
  * player/lua: restore original lua allocator before close
  * wayland: add a --wayland-present option
  * stats.lua: fix codec-profile position for audio
  * misc/natural_sort: avoid implementation-defined behavior in comparison
  * fuzzers: wait for file start event before idle
  * filters/f_lavfi: fix null dereference on empty graph
  * demux_playlist: don't add base path to self-expanding protocols
  * test/paths: add tests for mp_basename and mp_dirname
  * test/paths: use helper functions for result testing
  * bstr: change memcpy to memmove to allow aliased copies
  * fuzzer_set_property: fix setting audio-files list
  * mac/menu: add option to disable default shortcuts
  * m_option: parse the timestamp as unsigned value
  * various: add more format specifiers checks
  * playlist: let playlist-next go to first item if player is idle
  * playlist: let playlist-prev go to last item in playlist
  * options: remove some options with .deprecation_message
  * options: remove various OPT_REMOVED usage
  * options: remove some deprecated OPT_REPLACED option mapping
  * fuzzer_load: seal the input fd after writing the data
  * console.lua: assume non-ASCII characters span 2 cells for truncation
  * console.lua: let libass clip lines in select mode
  * console.lua: subtract --osd-margin-x in the max width calculation
  * fuzzer_set_property: destroy mpv also on error
  * meson: add fuzzers alias for all fuzzer targets
  * player/playloop: fix null dereference if filter_root does not exist
  * loadfile: update the format of terminal track information
  * DOCS/input: document undocumented track-list sub-properties
  * m_option: add a way for aliases to use sub option prefix
  * fuzzer_set_property: don't run mpv if set property failed
  * fuzzer_load_{config_file,input_conf}: take into account file size limit
  * m_option: ignore excessive elements only for obj_settings_list
  * player/command: limit user-data name splits to 100
  * m_config_frontend: disallow profile=default in config files
  * misc/random: set constant seed for fuzzing
  * fuzzers: disallow include command in more principal way
  * ad_{lavc,spdif}: initialize channel layout
  * options: add secondary-{sid,sub-delay} to watch_later_options
  * fuzzer_load: disallow include option in config files
  * input/keycodes: validate parsed value to avoid overflow
  * m_option: do float multiplication to avoid integer overflow
  * common: validate parsed unicode codepoints value
  * m_options: fix obj settings list leak on error
  * vo_gpu: optimize pass_info_reset
  * demux: allow refresh seek for non-video streams
  * av_log: sort library version print and add missing libavdevice
  * ad_spdif: fix lavf version check
  * various: remove no longer needed availability checks
  * misc/uuid: remove no longer needed vendored implementation
  * various: remove av channel layout check
  * ci/openbsd: bump to 7.5 and remove libplacebo subproject
  * meson: increase FFmpeg minimum required version to 6.1
  * select.lua: consider --sub-delay for the subtitle line selector
  * select.lua: don't use sub-start to preselect subtitle lines
  * vo_tct: clear backbuffer on reconfig
  * options: remove deprecated auto choice for --mute
  * player/command: alias playback-time to time-pos
  * test/libmpv_test: fix some stray tabs
  * ao_pipewire: fix some stray tabs
  * test/libmpv_encode: avoid mktemp warning
  * osc.lua: don't use legacy argument for seeking
  * ao_avfoundation: guard features only available on macOS 11.3 and 12
  * cocoa-cb: guard color spaces that are only available on 10.15.4 upwards
  * mac/compat: fix broken CGColorSpace declaration on SDK 11 only
  * mac/event: remove swift 5.6 language feature that is mandatory with 6.0
  * mac/compat: add withLock fallback for xcode older than 14
  * mac/log: properly guard logger usage behind platform version check
  * bash-completion: remove hashbang
  * fuzzers: enable edl, file and lavf protocols
  * m_options: limit list entries to 100
  * m_options: fix mark_del leak on error
  * fuzzer_set_property: force untimed and pause state
  * demux_edl: fix infinite loop on empty EDL files
  * fuzzers: disable some targets as we hit out of space errors
  * osc.lua: add script message to show up the OSC
  * stream: don't exit on first iteration if there is no match
  * ad_spdif: add an assert for lavf_ctx
  * editorconfig: punish tab usage
  * osc.lua: replace tabs with spaces
  * fuzzers/meson: set link language to cpp
  * demux_lavf: fix null derefence of stream variable
  * d3d11: return minimum bitdepth for display output and swapchain
  * demux_lavf: add format hack entry for jpeg metadata frames
  * demux_lavf: fix null derefence in io_open callback
  * stats.lua: align 100% correctly on page 2
  * vf_vapoursynth: upgrade to VapourSynth API v4
  * demux_lavf: drop jpeg frames that are at a nonzero pos
  * Revert "demux_lavf: pass jpg filenames to ffmpeg for probing"
  * input: map Num 5 to distinct value when numlock is off
  * input.conf: make Alt+BS reset panscan
  * console.lua: don't enable the console-input input section
  * osc.lua: fix timetotal and timems settings
  * stats.lua: display file tags
  * input: don't resolve double clicks on the active mouse section
  * lua: don't pass nil as the second argument of mp.get_property_number
  * DOCS/interface-changes: fix formatting
  * TOOLS/gen-interface-changes.py: sort interface changes by file content
  * DOCS/contribute.md: require interface change begin with type
  * stats.lua: remove print_perfdata_passes
  * stats.lua: add page 5 for currently selected tracks information
  * stats.lua: make the append function increment index only on newline
  * sub: update codec info
  * osc.lua: add option to use display fps for update interval
  * osc.lua: unify observe_property style
  * osc.lua: add option to make rendering smoother
  * opengl: add --egl-output-format
  * opengl: add --egl-config-id
  * vf_vapoursynth: add parameter to pass arbitrary string to script
  * options: add --osd-playlist-entry
  * DOCS/compile-windows.md: improve Windows build documentation
  * console.lua: prettify unselected track log messages
  * select.lua: support extracting ytdl_hook subtitles
  * select.lua: hide the hour when it's 0
  * select.lua: seek to the currect subtitle line when paused without video
  * select.lua: preselect the correct sub line with duration >= 100 minutes
  * loadfile: improve the format of terminal track information
  * ci/mingw: install wine optionally
  * ci/mingw: use Ubuntu 24.04
  * ci/msys2: compact build script
  * ci/msys2: re-enable 32-bit builds
  * ci/mingw: don't run test on 32-bit binary
  * hwdec_vaapi: suppress comparision warning
  * wayland_common: properly handle modifiers for keyboard enter keys
  * meson: add -fno-trapping-math to default flags
  * meson: add -fno-signed-zeros to default flags
  * ci/mingw: enable javascript support
  * osc.lua: fix user configurable colors
  * ra_d3d11: make cache header constant size regardless of the build
  * ao_wasapi: don't limit the scope of execution context
  * w32_common: stop IME initialization timer after first try
  * default.js: handle canceled key bindings
  * defaults.lua: handle canceled key bindings
  * command: add canceled state to key-binding client message
  * input: mark a command as canceled if it is explicitly dropped
  * bstr: use memchr and memrchr for bstrchr and bstrrchr
  * terminal-win: use proper NTAPI callback for FLS
  * DOCS/compile-windows.md: update Windows compilation documentation
  * common: clang supports __builtin_clz also in non-GNU modes
  * parse_commandline: fix incorrect win32 check
  * misc/thread_tools: fix incorrect win32 check
  * ao_pcm: fix incorrect win32 check
  * player/main: concat string at compile time
  * sub/sd_ass: rewrite is_animated()
  * meson: clear flags used for build
  * {x11_common,context_x11egl}: suppress Wundef warning
  * ao_pipewire: fix access to undefined byte order definitions
  * osdep/endian: add missing byte order defines
  * ao_coreaudio_chmap: fix shadowed variable
  * stream_cdda: suppress Wundef warning
  * fuzzers/common: add prototype for LLVMFuzzerTestOneInput
  * input: fix grammar errors and typo
  * input: only begin VO dragging if the section allows
  * autoload.lua: always accept current file as a valid file
  * autoload.lua: match also image extension
  * autoload.lua: cosmetic changes
  * autoload.lua: fix options update
  * sub: avoid unneeded calls to is_animated
  * input: reset doubleclick timer when dragging begins
  * input: un-hardcode VO dragging
  * input: prevent MBTN_LEFT conflict with VO dragging
  * input: implement VO dragging deadzone
  * input: fix mouse position equality check
  * input: begin VO dragging when moving mouse while left button is down
  * DOCS/man/options.rst: remove DVD menu reference for --input-cursor
  * test/meson: remove unneded sources
  * ci/mingw: resolve pkgconfig deprecation warning in meson
  * ci/mingw: run meson tests
  * ci/mingw: add exe_wrapper to cross file
  * ci/mingw: support encode mode
  * ci/mingw: use ninja for cmake builds
  * test/paths: skip normalize tests if pathcch library is not available
  * test_utils: don't use subprocess for diffing test results
  * test/libmpv_encode: print logs also during initialize
  * test/libmpv_encode: don't use mpv internals for test
  * player/playloop: remove now unused get_percent_pos()
  * win32: quantize taskbar playback position into uint8 range
  * Revert "d3d11: calc vsync interval on real stats, not just last interval"
  * TOOLS/autoload.lua: fix directory_mode and ext options
  * osd: don't use get_percent_pos function
  * command: simplify printing floats as integers
  * README: link to discussions
  * osc.lua: fix lint warnings
  * TOOLS/test-hooks.lua: fix lint warning
  * TOOLS/status-line.lua: fix lint warnings
  * TOOLS/osd-test.lua: fix lint warning
  * TOOLS/observe-all.lua: fix lint warning
  * TOOLS/nan-test.lua: fix lint warnings
  * TOOLS/cycle-deinterlace-pullup.lua: fix lint warnings
  * TOOLS/command-test.lua: fix lint warnings
  * TOOLS/autoload.lua: fix lint warnings
  * TOOLS/autodeint.lua: fix lint warnings
  * TOOLS/autocrop.lua: fix lint warnings
  * TOOLS/ao-null-reload.lua: fix lint warnings
  * ytdl_hook.lua: fix lint warnings
  * console.lua: fix lint warnings
  * mpv.desktop: fix capitalization error
  * mpv.desktop: add Arabic translation
  * TOOLS/gen-interface-changes: wrap long lines to 80 col
  * input.conf: change 'u' binding to cycle between 'force' and default
  * options: make sub-ass-override default to 'scale'
  * options: move sub-ass-override 'scale' above 'force'
  * sd_ass: only set sub-scale for 'scale', 'force' or 'strip'
  * DOCS/input: clarify the difference between audio-pts and time-pos
  * player: replace get_current_time with get_playback_time in some spots
  * player/playloop: force get_playback_time to be at least 0
  * player: put speed adjustment back into playing_audio_pts
  * player/video: fix incorrect VO frame duration and frame drops
  * x11: correct position coordinates if mpv was launched with --fs
  * vo_vaapi: remove redundant function call
  * vo_vaapi: fix use-after-free when quitting
  * vo_vaapi: fix use-after-free of current frame
  * console.lua: fix crash with set ;<Tab>
  * console.lua: fix crash if no completions exist
  * Revert "ao_pipewire: add EOF handling"
  * Revert "ao_pipewire: wait for draining finishes before restart ao"
  * playloop: don't loop when seeking to the end of cover art while paused
  * ao_pipewire: wait for draining finishes before restart ao
  * ao_pipewire: add EOF handling
  * ao_avfoundation: use blocking ao_read_data
  * ao_avfoundation: add EOF handling
  * ao: add ao_stop_streaming
  * ao: add eof, pad_silence, and blocking arguments for ao_read_data
  * ao_coreaudio: set ao->device_buffer base on hardware latency
  * osxbundle: refactor Information Property List
  * wayland_common: ignore unknown key states
  * wayland_common: handle pressed keys in keyboard_enter event
  * DOCS/man: replace legacy option syntax usage
  * Revert "fuzzers/load: clear old temp files if they exist"
  * ad_spdif: check return value of av_parser_parse2
  * ad_spdif: check for AC3 if parser fails to detect profile
  * ad_spdif: set codec params
  * stream_lavf: don't add ffmpeg bluray or dvd protocols
  * build: dynamically generate mpv.desktop file protocols
  * stream: implement get_protocols method for stream_lavf
  * av_common: parent mp_get_lavf_demuxer contents to the list
  * wayland: use wl->callback_surface for idle inhibitor creation
  * fuzzers/load: clear old temp files if they exist
  * DOCS/man/console.rst: remove extraneous words
  * mp_image: remove unneeded PL_HAVE_LIBDOVI check
  * fuzzers: always return 0
  * DOCS/options: --sub-scale-by-window doesn't affect ASS subtitles
  * ci/lint: only allow specific characters in subjects
  * ci/lint: allow the first word after : to be an option with --
  * ci/lint: only allow space instead of \s or \s+
  * workflows/comment: more newline fixes to make formatting work
  * workflows/comment: add missing escape fix
  * ci/mac: silence unnecessary reinstall warnings
  * select.lua: allow ffmpeg to print errors if it fails
  * osc.lua: handle osd-scale-by-window runtime update
  * stats.lua: handle osd-scale-by-window runtime update
  * {stats,osc}.lua: respect --osd-scale-by-window by default
  * stats.lua: add add auto value to vidscale option
  * osc.lua: add auto value to vidscale option
  * DOCS/man/options.rst: recommend --osd-scale-by-window for UI scale
  * meson: limit concurrent link jobs to 16
  * ao: don't call driver->set_paused after reset
  * osdep/path-win: fix leak of portable_path
  * osdep/io: fix leak of environment strings on win32
  * DOCS/interface-changes.rst: document loadfile breaking change
  * DOCS/man/input.rst: document breaking change of loadfile index argument
  * DOCS/man: note that default autoprobe order is unrealiable
  * DOCS/compatibility.rst: add requirement when changing default values
  * DOCS/compatibility.rst: add provision for dealing with severe breakages
  * DOCS/compatibility.rst: require more details about breaking changes
  * DOCS/compatibility.rst: fix formatting
  * ci: save cache also on failures
  * playloop: don't redraw without subs on quit
  * workflows/cleanup_caches: minor cosmetic changes
  * workflows/comment: refactor comment workflow to not use github-script
  * console.lua: fix completing change-list ao/vo/gpu-context remove
  * input: prioritize builtin bindings matching longer key sequences
  * console.lua: fix the max log lines calculation
  * stats.lua: prevent freeze in certain cases with vidscale=no
  * console.lua: use all available lines for selection
  * select.lua: strip trailing zeros from FPS values
  * select.lua: handle sub-start being earlier than ffmpeg's timestamps
  * select.lua: don't needlessly initialize default_item
  * select.lua: preselect the previous sub line without a current line
  * select.lua: fix preselecting the current subtitle line
  * console.lua: add nonrepeatable prefix to command_prefixes
  * input/cmd: add nonrepeatable prefix
  * ad_spdif: add missing codec_desc initialization
  * ci/cleanup_caches: group by cache prefixes too
  * ci: clear old caches to avoid master branch cache trashing
  * msg: clear status line only if needed
  * msg: split mp_msg_flush_status_line into private and public variant
  * msg: check target stream before printing
  * ci: don't pin Ubuntu version where it doesn't matter
  * ci/mingw: clean installed packages
  * ci/mingw: use meson for libass build
  * ci/mingw: remove non-existent cmake option
  * wayland: also log version numbers with protocol interface names
  * ci/win32: override link args only for the target that needs them
  * ci/win32: add Vulkan-Loader
  * meson: assume vkCreateDisplayPlaneSurfaceKHR is available when internal
  * ci/win32: build shaderc
  * ci/win32: use ccache
  * ci/win32: enable all available projects from meson's wrapdb
  * ci/win32: add spirv-cross
  * ci/win32: add shaderc
  * ci/win32: remove Strawberry Perl from path
  * github/issue_template: ask for possible sample files on feature request
  * github/issue_template: rework system info section and provide commands
  * github/issue_template: move mpv information into its own section
  * github/issue_template: add information on how to create backtraces
  * github/issue_template: mention (nightly) builds and packages for testing
  * github/issue_template: reword file upload instruction
  * github/issue_template: reword log file instructions
  * github/issue_template: be more specific about performance-related issues
  * github/issue_template: add checkboxes as instruction check
  * github/issue_template: rework issue templates with github forms
  * github/issue_template: mention github Discussions for questions
  * wayland: cap xdg_wm_base at 4 if wm_capabilities aren't supported
  * Revert "player: do not exit when a seek gets queued"
  * stream: remove directory playlist hint
  * stream: check file descriptor passed to fd:// or fdclose://
  * various: add missing checks for directory streams
  * {options,player}: fix stream leaks
  * stream: disallow reading or writing to directories
  * fuzzer: add dedicated fuzzers for each demuxer
  * fuzzer_load: use memfd_create instead of real file
  * fuzzer_load: merge file and config load into one file
  * fuzzers: don't build binaries for disabled protocols
  * av_common: fix integer overflow when adjusting timebase
  * select.lua: strip brackets in select-subtitle-line
  * select.lua: add this script
  * console.lua: close when pressing enter with input.select
  * console.lua: fix ctrl+f and ctrl+b keybindings
  * console.lua: don't crash when scrolling without matches
  * console.lua: truncate lines longer than the maximum width
  * console.lua: don't convert integers for mp.input to string
  * input: fix builtin sequence bindings
  * console.lua: implement a command parser to complete more things
  * player: add option-info/<name>/expects-file
  * osc.lua: remove scaleforcedwindow
  * autocrop.lua: fix some lint warnings
  * ytdl_hook.lua: fix some lint warnings
  * stats.lua: fix some lint warnings
  * osc.lua: fix some lint warnings
  * options.lua: fix some lint warnings
  * defaults.lua: fix some lint warnings
  * console.lua: fix some lint warnings
  * auto_profiles.lua: fix some lint warnings
  * test-hooks.lua: fix variable shadowing warning
  * status-line.lua: fix unused variable warning
  * skip-logo.lua: fix some lint warnings
  * pause-when-minimize.lua: fix unused variable warning
  * ontop-playback.lua: fix unused variable warning
  * observe-all.lua: fix some lint warnings
  * cycle-deinterlace-pullup.lua: fix unused variable warnings
  * command-test.lua: fix some lint warnings
  * autoload.lua: fix some lint warnings
  * autodeint.lua: fix some lint warnings
  * audio-hotplug-test.lua: fix some lint warnings
  * acompressor.lua: break long lines
  * github/workflows: add lua linting
  * Revert "stream: don't try to read from all-sparse/no-data files"
  * vf_vapoursynth: pass image properties from input
  * vf_vapoursynth: fix _ChromaLocation
  * hwdec_cuda_vk: add missing io.h include
  * audio: report EOF also for untimed AO mode
  * console.lua: increase margins from the bottom-left corner
  * vo_gpu_next: check if existing cache file has correct size
  * test: test mp_guess_lang_from_filename with [] and ()
  * meson: add link flags also to cpp
  * audio: change bps format to int64_t
  * fuzzers: set network-timeout to 1 second
  * command: add dolby-vision-profile and dolby-vision-level to track-list
  * demux_mkv: inject AV_PKT_DATA_DOVI_CONF to demuxed packets
  * demux_mkv: demux Block Additional Mappings
  * test: test mp_guess_lang_from_filename()
  * misc/language: move mp_guess_lang_from_filename() here
  * external_files: detect language tags with hyphens
  * external_files: rename variables in guess_lang_from_filename()
  * lcms: check for null arg in gl_parse_3dlut_size
  * misc/language: store string length instead of null terminator
  * player/loadfile: match language and subcodes
  * Revert "misc: add language-matching utilities"
  * Revert "loadfile: use mp_match_lang_single"
  * Revert "loadfile: compute audio lang for sub selection when using lavfi-complex"
  * fuzzer_loadfile_direct: exclude paths also for file://
  * demux_edl: make protocol comparison case insensitive
  * fuzzer_set_property: fix for other types than string
  * dmabuf: fix warnings on 320-bit build
  * filter/vf_gpu_vulkan: fix Vulkan handle type
  * player/client: fix typo in description of MPV_ERROR_UNINITIALIZED
  * fuzzers: add fuzzer for config parsers
  * Revert "ao: in ao_play_data, wakeup core for untimed AO as well"
  * ao: in ao_play_data, wakeup core for untimed AO as well
  * af_scaletempo: optimize overlap search
  * af_scaletempo: use taxicab distance for offset search
  * af_scaletempo: don't use a window for offset search
  * af_scaletempo: use Hann function for overlap window
  * af_scaletempo: add comment to overlap calculation
  * js: fix defaults.js
  * scripting: add mp.input.select()
  * drm_prime: remove off by one when allocating new ref counter
  * drm_prime: fix issue detected by valgrind
  * stream: don't try to read from all-sparse/no-data files
  * various: fix comma style
  * various: fix indentation
  * various: fix tabs in code
  * various: fix trailing whitespace
  * hwdec_cuda: reduce nesting in check functions
  * hwdec_cuda: avoid gpu wakeup by deferring cuInit
  * msg: print all messages to one stream
  * player/main: select msg output stream early
  * github/workflows: link MSVC artifacts in comments
  * ci: add Windows native build
  * test: mark libmpv as expected fail if OSC is not available
  * test/libmpv_encode: minor adjustments for win32 build fix
  * win32: add WinMain
  * player/configfiles: fix utime.h include for Windows SDK
  * stream_file: declare structures available only in Windows DDK
  * osdep/mpv.rc: fix encoding of MPVCOPYRIGHT
  * common: define some bits for Windows SDK
  * ao_wasapi_utils: define missing GUIDs for C
  * ao_wasapi_changenotify: fix IsEqualPropertyKey for C
  * various: remove unused sys/time.h include
  * osdep/compiler: clang also recognizes those attributes
  * osdep/main-fn-win: add struct typedef for compatibility
  * osdep/semaphore: don't include files if they are not used
  * win32: fix platform checks
  * io_utils: use mp_mkostemps instead of mkstemp
  * osdep/dirent: add implementation for Windows SDK build
  * ao_wasapi: fix include order
  * various: move strings.h inclusion to common.h
  * various: move unistd.h inclusion to common.h
  * meson: add defines for Windows build to avoid warnings
  * meson: remove Windows subsystem version, it is 6.0 by default
  * command: add normalize-path command
  * DOCS/lua: fix some argument names
  * DOCS/input: move escape-ass documentation
  * misc/path_utils: normalize win32 paths
  * player: normalize paths for resuming playback
  * cocoa-cb: add support for macOS color space transformation (EDR/HDR)
  * github/workflows: add swift linting
  * test: fflush between printf and abort
  * powershell-completion: add PowerShell command line completion
  * DOCS/input: document sub-seek 0
  * docs: mention Cache section in sub-seek
  * command: return lavfi filters in option-info/[av]f/choices
  * osc: remove trailing space
  * demux_mkv: fix image detection
  * demux: keep track of ts information per stream type
  * win32: fix maximize state with --border=no
  * sd_ass: don't log if subtitles have unknown duration
  * ci/lint: use long commit hash
  * demux_mkv: make V_QUICKTIME codec detection generic
  * osd: show left arrow when playing backwards
  * tools: add narrow left arrow glyph for OSD
  * osc: show left arrow when paused while playing backwards
  * f_lavfi: reject filters with too many in/outs
  * f_decoder_wrapper: clear decoder info on deinit
  * ci/mingw: update dependency versions
  * OSC: implemented user configurable colors
  * win32: make context menu items accessible from the window menu
  * win32: move context menu init/uninit to GUI thread
  * wayland: set wl->scaling if there is no wl->current_output yet
  * sub/osd: fix rounding when rescaling bitmap subtitle rects
  * win32: support multitouch
  * options: add --native-touch option
  * wayland_common: support multitouch
  * input: add MP_TOUCH_RELEASE_ALL
  * input: add --input-touch-emulate-mouse option
  * command: add touch-pos property
  * input: add multitouch support functions
  * sd_lavc: reduce unnecessary error log on probing nonexistent codecs
  * sd_lavc: fix null dereference on error
  * wayland: log if cursor shape support is missing
  * DOCS: fix spelling of environment and corresponding/corresponds
  * demux/packet: add support for ITU T.35 metadata in Matroska
  * demux: support VVC Matroska demux
  * mac: properly handle regular expressions without force unwrap
  * mac: code cleanup and consistency changes, fix linting issues
  * mac/helper: make wakeup callback declaration consistent
  * mac/touchbar: use KVO block API instead of old obj-c instance method
  * TOOLS/lua/autoload: make ignore_patterns more generic
  * TOOLS/lua/autoload: allow multiple ignore_patterns
  * TOOLS/lua/autoload: add ignore_pattern option
  * w32_common: fix show-in-taskbar toggling after explorer is restarted
  * zsh-completion: complete --gpu-context
  * ci: add fuzzers build test
  * fuzzers: add new fuzzer targets
  * 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
  * sd_ass: allow get_text to return more than 500 bytes
  * stats.lua: show osd-dimensions property
  * sub/lavc_conv: don't override style of converted teletext pages
  * sub/lavc_conv: don't strip ASS style header
  * DOCS/vf: update vf_gpu options
  * vf_gpu: vulkan and egl implementations
  * af_scaletempo2: migrate to internals to talloc
  * af_scaletempo2: remove redundant buffer zeroing
  * ao_wasapi: fix player core lockup when avoiding premature buffer fills
  * Revert "ao_wasapi: address premature buffer fills in exclusive mode"
  * m_config_core: fix forced option notification with m_config_cache
  * mac/input: add support for dead key reporting
  * mac: make display-names unique to allow specific selection
  * dec_sub: fix locking for sub_ass_get_extradata
  * test: make libmpv_test abort if an error is logged
  * vo_dmabuf_wayland: use wl_fixed_from_int when setting viewport source
  * vo_dmabuf_wayland: fix scaling for subsurface positioning
  * DOCS/man: refer to "mp.options functions" for script config docs
  * player/loadfile: check if forced track is also tagged as default first
  * ao/avfoundation: optimise preprocessors for included coreaudio code
  * ao/audiounit: fix building for iOS
  * ao_coreaudio: add a comment for ignoring returned sample count
  * Revert "ao_coreaudio: signal buffer underruns"
  * input: fix deadlock in adding gamepad input src
  * d3d11: disable IDXGIInfoQueue usage if dxgidebug.h is incomplete
  * d3d11: use IDXGIInfoQueue instead ID3D11InfoQueue
  * demux: also read "CUESHEET" tag from stream metadata
  * ao_wasapi: set 0 buffer duration on initialization for shared mode
  * ao_wasapi: add `--wasapi-exclusive-buffer` option
  * context_drm_egl: guard gbm_device on uninit
  * x11: always do a reset_size if geometry/autofit is updated at runtime
  * options: flag geometry/autofit options with force_update
  * player: always notify when writing window-scale option
  * m_option: add a force_update boolean
  * stats.lua: add option to disable scale with video size
  * stats.lua: add option to control plot border width
  * stats.lua: remove redundant style override
  * demux_lavf: pass jpg filenames to ffmpeg for probing
  * m_option: change confusing error messages for obj_settings_list
  * DOCS/man/options: mention the new priority list usage of --gpu-context
  * various: add GPU context description
  * video/out/gpu/context: add auto dummy context
  * video/out/gpu/context: convert --gpu-context to use obj_settings_list
  * video/out/gpu/context: don't use hidden flag for contexts
  * DOCS/client-api-changes.rst: fix formatting
  * command: use property_time() for sub-start and sub-end

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpv?expand=0&rev=308
This commit is contained in:
llyyr 2024-07-06 15:55:48 +00:00 committed by Git OBS Bridge
commit dc755523a4
11 changed files with 6935 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

30
_service Normal file
View File

@ -0,0 +1,30 @@
<?xml version="1.0"?>
<!--
# vim: set syntax=xml
-->
<services>
<service name="obs_scm" mode="manual">
<param name="url">https://github.com/mpv-player/mpv.git</param>
<param name="scm">git</param>
<param name="filename">mpv</param>
<param name="revision">master</param>
<param name="versionformat">@PARENT_TAG@+git%cd.%h</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
<param name="exclude">*.swift</param>
<param name="exclude">osdep/android/*</param>
<param name="exclude">osdep/macos/*</param>
<param name="exclude">osdep/win32/*</param>
<param name="exclude">TOOLS/osxbundle/*</param>
<param name="exclude">ci/*</param>
</service>
<service name="set_version" mode="manual"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/mpv-player/mpv.git</param>
<param name="changesrevision">00f43e0916faa4f60837d638349e2a66592a9a2b</param></service></servicedata>

35
fix-docs-path.patch Normal file
View File

@ -0,0 +1,35 @@
---
meson.build | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: mpv-0.36.0/meson.build
===================================================================
--- mpv-0.36.0.orig/meson.build
+++ mpv-0.36.0/meson.build
@@ -1610,7 +1610,7 @@ if features['html-build']
'@INPUT@', '@OUTPUT@'],
depfile: 'mpv.html.dep',
install: true,
- install_dir: join_paths(datadir, 'doc', 'mpv')
+ install_dir: join_paths(datadir, 'doc', 'packages', 'mpv')
)
endif
@@ -1629,7 +1629,7 @@ if features['pdf-build']
'@INPUT@', '-o', '@OUTPUT@'],
depfile: 'mpv.pdf.dep',
install: true,
- install_dir: join_paths(datadir, 'doc', 'mpv')
+ install_dir: join_paths(datadir, 'doc', 'packages', 'mpv')
)
endif
@@ -1734,7 +1734,7 @@ if get_option('cplayer')
conf_files = ['etc/mpv.conf', 'etc/input.conf',
'etc/mplayer-input.conf', 'etc/restore-old-bindings.conf']
- install_data(conf_files, install_dir: join_paths(datadir, 'doc', 'mpv'))
+ install_data(conf_files, install_dir: join_paths(datadir, 'doc', 'packages', 'mpv'))
bash_install_dir = join_paths(datadir, 'bash-completion', 'completions')
install_data('etc/mpv.bash-completion', install_dir: bash_install_dir, rename: 'mpv')

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7a63dbe5e97072aca80964248a3cca60b771a286fcbd2c52245c613aa3f3b941
size 10144781

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b3e59badac58587370a84cffccb2dcb2595b300ce67341a1c50e976756c02164
size 10387469

View File

@ -0,0 +1,24 @@
From 7feac1e3ab52002314a0a939313cdea93f5a0b3a Mon Sep 17 00:00:00 2001
From: Mia Herkt <mia@0x0.st>
Date: Sat, 18 Mar 2023 01:10:57 +0100
Subject: [PATCH] av_log: make FFmpeg version check non-fatal
---
common/av_log.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/common/av_log.c b/common/av_log.c
index 15d17aff..ae173592 100644
--- a/common/av_log.c
+++ b/common/av_log.c
@@ -207,7 +207,6 @@ void check_library_versions(struct mp_log *log, int v)
{
fprintf(stderr, "%s: %d.%d.%d -> %d.%d.%d\n",
l->name, V(l->buildv), V(l->runv));
- abort();
}
}
}
--
2.40.0

6569
mpv.changes Normal file

File diff suppressed because it is too large Load Diff

4
mpv.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: mpv
version: 0.38.0+git20240706.00f43e0916fa
mtime: 1720274620
commit: 00f43e0916faa4f60837d638349e2a66592a9a2b

239
mpv.spec Normal file
View File

@ -0,0 +1,239 @@
#
# spec file for package mpv
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2015 Packman Team <packman@links2linux.de>
# Copyright (c) 2012 Jiri Slaby <jslaby@suse.de>
# Copyright (c) 2011-2012 Pascal Bleser <pascal.bleser@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define lname libmpv2
Name: mpv
Version: 0.38.0+git20240706.00f43e0916fa
Release: 0
Summary: Advanced general-purpose multimedia player
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Video/Players
URL: http://mpv.io
Source: %{name}-%{version}.tar.xz
Source2: %{name}.changes
# PATCH-FIX-OPENSUSE do not require equal libav versions, obs rebuilds as needed
Patch0: mpv-make-ffmpeg-version-check-non-fatal.patch
# Install docs in proper directory
Patch2: fix-docs-path.patch
BuildRequires: bash
BuildRequires: hicolor-icon-theme
BuildRequires: linux-kernel-headers
BuildRequires: meson >= 0.60.3
# Needed any lua to convert the bash-completion
BuildRequires: lua
BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: python3-docutils
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(alsa) >= 1.0.18
BuildRequires: pkgconfig(caca) >= 0.99.beta18
BuildRequires: pkgconfig(dri)
BuildRequires: pkgconfig(dvdnav) >= 4.2.0
BuildRequires: pkgconfig(dvdread) >= 4.1.0
BuildRequires: pkgconfig(egl) >= 1.4
BuildRequires: pkgconfig(ffnvcodec) >= 11.1.5.1
BuildRequires: pkgconfig(gbm) >= 17.1.0
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(lcms2) >= 2.6
BuildRequires: pkgconfig(libarchive) >= 3.4.0
BuildRequires: pkgconfig(libass) >= 0.12.2
BuildRequires: pkgconfig(libavcodec) >= 60.31.102
BuildRequires: pkgconfig(libavdevice) >= 60.3.100
BuildRequires: pkgconfig(libavfilter) >= 9.12.100
BuildRequires: pkgconfig(libavformat) >= 60.16.100
BuildRequires: pkgconfig(libavif) >= 0.11.1
BuildRequires: pkgconfig(libavutil) >= 58.29.100
BuildRequires: pkgconfig(libbluray) >= 0.3.0
BuildRequires: pkgconfig(libcdio)
BuildRequires: pkgconfig(libcdio_cdda)
BuildRequires: pkgconfig(libcdio_paranoia)
BuildRequires: pkgconfig(libdrm) >= 2.4.105
BuildRequires: pkgconfig(libiso9660)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libjxl)
BuildRequires: pkgconfig(libjxl_threads)
BuildRequires: pkgconfig(libpulse) >= 1.0
BuildRequires: pkgconfig(libsixel) >= 1.5
BuildRequires: pkgconfig(libswresample) >= 4.12.100
BuildRequires: pkgconfig(libswscale) >= 7.5.100
BuildRequires: pkgconfig(libva) >= 1.1.0
BuildRequires: pkgconfig(lua5.1)
BuildRequires: pkgconfig(openal) >= 1.13
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(rubberband) >= 3.0.0
BuildRequires: pkgconfig(uchardet)
BuildRequires: pkgconfig(vapoursynth) >= 56
BuildRequires: pkgconfig(vapoursynth-script) >= 56
BuildRequires: pkgconfig(vdpau) >= 0.2
BuildRequires: pkgconfig(x11) >= 1.0.0
BuildRequires: pkgconfig(xext) >= 1.0.0
BuildRequires: pkgconfig(xkbcommon) >= 0.3.0
BuildRequires: pkgconfig(xpresent) >= 1.0.0
BuildRequires: pkgconfig(xrandr) >= 1.4.0
BuildRequires: pkgconfig(xscrnsaver) >= 1.0.0
BuildRequires: pkgconfig(xv)
BuildRequires: pkgconfig(zimg) >= 2.9
BuildRequires: pkgconfig(zlib)
Requires: hicolor-icon-theme
Requires(post): hicolor-icon-theme
Requires(post): update-desktop-files
Requires(postun): hicolor-icon-theme
Requires(postun): update-desktop-files
# Used via LUA scripts
Recommends: yt-dlp
Conflicts: mpv-plugin-mpris < 0.4
# Obsoletion of mplayer2 that is dead for 2 years now
Provides: mplayer2 = 20140101
Obsoletes: mplayer2 < 20140101
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.48
BuildRequires: pkgconfig(libplacebo) >= 6.338.2
BuildRequires: pkgconfig(libva-wayland) >= 1.1.0
BuildRequires: pkgconfig(mujs)
BuildRequires: pkgconfig(shaderc)
BuildRequires: pkgconfig(vulkan) >= 1.1.70
BuildRequires: pkgconfig(wayland-client) >= 1.20.0
BuildRequires: pkgconfig(wayland-cursor) >= 1.20.0
BuildRequires: pkgconfig(wayland-egl) >= 9.0.0
BuildRequires: pkgconfig(wayland-protocols) >= 1.25
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(wayland-server)
# JIT for lua.
%ifarch aarch64 %{ix86} x86_64
BuildRequires: pkgconfig(luajit)
%else
BuildRequires: pkgconfig(lua5.1)
%endif
%description
mpv is a movie player based on MPlayer and mplayer2. It supports a wide variety
of video file formats, audio and video codecs, and subtitle types.
%package bash-completion
Summary: Bash Completion for %{name}
Group: Productivity/Multimedia/Video/Players
Requires: %{name} = %{version}
Requires: bash-completion
Recommends: xrandr
Supplements: (mpv and bash)
BuildArch: noarch
%description bash-completion
Bash command line completion support for %{name}.
%package zsh-completion
Summary: ZSH Completion for %{name}
Group: Productivity/Multimedia/Video/Players
Requires: %{name} = %{version}
Supplements: (mpv and zsh)
BuildArch: noarch
%description zsh-completion
ZSH command line completion support for %{name}.
%package devel
Summary: A library to link together with mpv player
Group: Development/Libraries/C and C++
Requires: %{lname} = %{version}
%description devel
mpv is a movie player based on MPlayer and mplayer2. It supports a wide variety
of video file formats, audio and video codecs, and subtitle types.
This package contains all the development files.
%package -n %{lname}
Summary: A library to link together with mpv player
Group: System/Libraries
%description -n %{lname}
mpv is a movie player based on MPlayer and mplayer2. It supports a wide variety
of video file formats, audio and video codecs, and subtitle types.
This package contains a library that can other apps use to utilize the mpv
features.
%prep
%autosetup -p1
# I hate UNKNOWN so lets put decent info there.
MODIFIED="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{SOURCE2}")"
DATE="$(date -d "$MODIFIED" "+%%b %%e %%Y")"
sed -i "s|UNKNOWN|$DATE|g;s|VERSION|\"%{version}\"|g" common/version.c
%build
# We don't want to rebuild all the time.
myopts=" -Dbuild-date=false"
%meson \
--auto-features=auto \
-Dcdda=enabled \
-Dlibmpv=true \
-Ddvbin=enabled \
-Ddvdnav=enabled \
-Dopenal=enabled \
${myopts} \
%{?nil}
%meson_build
%install
%meson_install
install -D -m 0644 etc/input.conf %{buildroot}%{_sysconfdir}/%{name}/input.conf
install -D -m 0644 etc/mpv.conf %{buildroot}%{_sysconfdir}/%{name}/mpv.conf
# remove shebang
sed -i -e '1d' %{buildroot}%{_datadir}/bash-completion/completions/mpv
%post -n %{lname} -p /sbin/ldconfig
%postun -n %{lname} -p /sbin/ldconfig
%files
%license LICENSE.GPL
%doc Copyright README.md RELEASE_NOTES
%doc %{_defaultdocdir}/%{name}/input.conf
%doc %{_defaultdocdir}/%{name}/mplayer-input.conf
%doc %{_defaultdocdir}/%{name}/mpv.conf
%doc %{_defaultdocdir}/%{name}/restore-old-bindings.conf
%dir %{_sysconfdir}/%{name}/
%ghost %dir %{_sysconfdir}/%{name}/scripts/
%config %{_sysconfdir}/%{name}/encoding-profiles.conf
%config %{_sysconfdir}/%{name}/input.conf
%config %{_sysconfdir}/%{name}/mpv.conf
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor
%{_datadir}/metainfo/mpv.metainfo.xml
%{_mandir}/man?/%{name}.?%{?ext_man}
%files zsh-completion
%{_datadir}/zsh/site-functions/_mpv
%files bash-completion
%{_datadir}/bash-completion/completions/mpv
%files -n %{lname}
%{_libdir}/*.so.*
%files devel
%{_includedir}/%{name}/
%{_libdir}/*.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog