From 2a3aa78169cdc04b780c441644df45e8410eb5de1a491972dbb3740be03bc507 Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Mon, 23 Jul 2018 06:56:04 +0000 Subject: [PATCH] Accepting request 624568 from home:alois:branches:multimedia:apps - Update to version 0.29.0 * This release requires FFmpeg 4.0 or newer. Added features: * 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 features * 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 features: * af_lavrresample: deprecate this filter Removed features: * build: drop support for SDL1 (only applied to ao_sdl) Added options and commands: * 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 options and commands: * 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 options and commands: * 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 options and commands: * 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 - Refreshed mpv-make-ffmpeg-version-check-non-fatal.patch - Bumped waf to 2.0.9 - Enable wayland only for Tumbleweed due to version constraints OBS-URL: https://build.opensuse.org/request/show/624568 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpv?expand=0&rev=143 --- .gitattributes | 2 +- mpv-0.28.2.tar.gz | 3 - mpv-0.29.0.tar.gz | 3 + mpv-make-ffmpeg-version-check-non-fatal.patch | 19 +-- mpv.changes | 125 ++++++++++++++++++ mpv.spec | 33 ++--- waf-1.9.13 | 3 - waf-2.0.9 | 3 + 8 files changed, 160 insertions(+), 31 deletions(-) delete mode 100644 mpv-0.28.2.tar.gz create mode 100644 mpv-0.29.0.tar.gz delete mode 100644 waf-1.9.13 create mode 100644 waf-2.0.9 diff --git a/.gitattributes b/.gitattributes index 3791995..98c6002 100644 --- a/.gitattributes +++ b/.gitattributes @@ -22,4 +22,4 @@ *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text ## Specific LFS patterns -waf-1.9.13 filter=lfs diff=lfs merge=lfs -text +waf-2.0.9 filter=lfs diff=lfs merge=lfs -text diff --git a/mpv-0.28.2.tar.gz b/mpv-0.28.2.tar.gz deleted file mode 100644 index 353c227..0000000 --- a/mpv-0.28.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aada14e025317b5b3e8e58ffaf7902e8b6e4ec347a93d25a7c10d3579426d795 -size 2982558 diff --git a/mpv-0.29.0.tar.gz b/mpv-0.29.0.tar.gz new file mode 100644 index 0000000..2cbaa1f --- /dev/null +++ b/mpv-0.29.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:772af878cee5495dcd342788a6d120b90c5b1e677e225c7198f1e76506427319 +size 3057997 diff --git a/mpv-make-ffmpeg-version-check-non-fatal.patch b/mpv-make-ffmpeg-version-check-non-fatal.patch index 0a1a102..4f3285c 100644 --- a/mpv-make-ffmpeg-version-check-non-fatal.patch +++ b/mpv-make-ffmpeg-version-check-non-fatal.patch @@ -2,17 +2,20 @@ player: make ffmpeg/libav version check non-fatal We already enforce mpv rebuilds when ffmpeg/libav SONAME changes. -Index: mpv-0.28.2/player/main.c +Index: mpv-0.29.0/player/main.c =================================================================== ---- mpv-0.28.2.orig/player/main.c -+++ mpv-0.28.2/player/main.c -@@ -428,18 +428,6 @@ int mp_initialize(struct MPContext *mpct +--- mpv-0.29.0.orig/player/main.c ++++ mpv-0.29.0/player/main.c +@@ -381,21 +381,6 @@ int mp_initialize(struct MPContext *mpct if (handle_help_options(mpctx)) - return -2; + return 1; // help - if (!print_libav_versions(mp_null_log, 0)) { - // Using mismatched libraries can be legitimate, but even then it's - // a bad idea. We don't acknowledge its usefulness and stability. +- // Distro maintainers who patch this out should be aware that mpv +- // intentionally ignores ABI in some places where it's not possible to +- // get by without violating it. - print_libav_versions(mpctx->log, MSGL_FATAL); - MP_FATAL(mpctx, "\nmpv was compiled against a different version of " - "FFmpeg/Libav than the shared\nlibrary it is linked against. " @@ -22,6 +25,6 @@ Index: mpv-0.28.2/player/main.c - return -1; - } - - if (!mpctx->playlist->first && !opts->player_idle_mode) - return -3; - + if (!mpctx->playlist->first && !opts->player_idle_mode) { + // nothing to play + mp_print_version(mpctx->log, true); diff --git a/mpv.changes b/mpv.changes index cb014f8..a471d92 100644 --- a/mpv.changes +++ b/mpv.changes @@ -1,3 +1,128 @@ +------------------------------------------------------------------- +Sun Jul 22 17:03:48 UTC 2018 - aloisio@gmx.com + +- Update to version 0.29.0 + * This release requires FFmpeg 4.0 or newer. + Added features: + * 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 features + * 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 features: + * af_lavrresample: deprecate this filter + Removed features: + * build: drop support for SDL1 (only applied to ao_sdl) + Added options and commands: + * 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 options and commands: + * 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 options and commands: + * 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 options and commands: + * 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 + +- Refreshed mpv-make-ffmpeg-version-check-non-fatal.patch + +- Bumped waf to 2.0.9 + +- Enable wayland only for Tumbleweed due to version constraints + ------------------------------------------------------------------- Sat Jun 2 09:45:30 UTC 2018 - aloisio@gmx.com diff --git a/mpv.spec b/mpv.spec index 89f26c3..5cb0fc8 100644 --- a/mpv.spec +++ b/mpv.spec @@ -19,9 +19,9 @@ # -%define _waf_ver 1.9.13 +%define _waf_ver 2.0.9 %define _mbc_ver 3.3.17 -%define _mpv_ver 0.28.2 +%define _mpv_ver 0.29.0 %define lname libmpv1 Name: mpv Version: %{_mpv_ver} @@ -52,6 +52,7 @@ BuildRequires: pkgconfig(caca) >= 0.99.beta18 BuildRequires: pkgconfig(dri) BuildRequires: pkgconfig(dvdnav) >= 4.2.0 BuildRequires: pkgconfig(dvdread) >= 4.1.0 +BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(jack) @@ -76,7 +77,6 @@ BuildRequires: pkgconfig(libswscale) >= 5.0.101 BuildRequires: pkgconfig(libudf) BuildRequires: pkgconfig(libv4l2) BuildRequires: pkgconfig(libva) >= 0.36.0 -BuildRequires: pkgconfig(libva-wayland) >= 0.36.0 BuildRequires: pkgconfig(libva-x11) >= 0.36.0 BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(rubberband) @@ -87,6 +87,7 @@ BuildRequires: pkgconfig(vapoursynth-script) BuildRequires: pkgconfig(vdpau) BuildRequires: pkgconfig(xext) >= 1.0.0 BuildRequires: pkgconfig(xinerama) >= 1.0.0 +BuildRequires: pkgconfig(xkbcommon) >= 0.3.0 BuildRequires: pkgconfig(xrandr) >= 1.2.0 BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xv) @@ -104,10 +105,18 @@ Provides: mplayer2 = 20140101 Obsoletes: mplayer2 < 20140101 %if 0%{?suse_version} >= 1500 BuildRequires: pkgconfig(lua5.1) -BuildRequires: pkgconfig(wayland-protocols) %else BuildRequires: pkgconfig(lua) %endif +%if 0%{?suse_version} > 1500 +BuildRequires: pkgconfig(libva-wayland) >= 0.36.0 +BuildRequires: pkgconfig(wayland-client) >= 1.6.0 +BuildRequires: pkgconfig(wayland-cursor) >= 1.6.0 +BuildRequires: pkgconfig(wayland-egl) >= 9.0.0 +BuildRequires: pkgconfig(wayland-protocols) >= 1.14 +BuildRequires: pkgconfig(wayland-scanner) +BuildRequires: pkgconfig(wayland-server) +%endif # JIT for lua. %if 0%{?suse_version} >= 1500 %ifarch aarch64 %{ix86} x86_64 @@ -118,18 +127,8 @@ BuildRequires: pkgconfig(lua5.1) %else BuildRequires: pkgconfig(lua) %endif -%if 0%{?suse_version} >= 1315 # Testing framework: disabled for now as it runs just 1 test # BuildRequires: pkgconfig(cmocka) >= 0.4.1 -# Wayland and libguess. -BuildRequires: pkgconfig(egl) -BuildRequires: pkgconfig(wayland-client) >= 1.6.0 -BuildRequires: pkgconfig(wayland-cursor) >= 1.6.0 -BuildRequires: pkgconfig(wayland-egl) >= 9.0.0 -BuildRequires: pkgconfig(wayland-scanner) -BuildRequires: pkgconfig(wayland-server) -BuildRequires: pkgconfig(xkbcommon) >= 0.3.0 -%endif %description mpv is a movie player based on MPlayer and mplayer2. It supports a wide variety @@ -210,7 +209,7 @@ sed -i "s|UNKNOWN|$DATE|g;s|VERSION|\"%{_mpv_ver}\"|g" common/version.c %build # SDL: disable as it is pointless to have on Linux, it is Windows/OS X fallback. -myopts="--disable-sdl1 --disable-sdl2" +myopts="--disable-sdl2" # We don't want to rebuild all the time. myopts+=" --disable-build-date" # Debug just adds -g and we do that over optflags anyway. @@ -234,11 +233,13 @@ python3 ./waf configure \ --enable-dvbin \ --enable-drm \ --enable-x11 \ +%if 0%{?suse_version} > 1500 --enable-wayland \ + --enable-gl-wayland \ +%endif --enable-gl-x11 \ --enable-egl-x11 \ --enable-egl-drm \ - --enable-gl-wayland \ ${myopts} python3 ./waf build --verbose %{?_smp_mflags} diff --git a/waf-1.9.13 b/waf-1.9.13 deleted file mode 100644 index 36116d6..0000000 --- a/waf-1.9.13 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d7cde19abb1e2605bcd92d99509e91ead190d6532c3fd23a171b2760657f9ad -size 101472 diff --git a/waf-2.0.9 b/waf-2.0.9 new file mode 100644 index 0000000..e812141 --- /dev/null +++ b/waf-2.0.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2a8e0816f023995e557f79ea8940d322bec18f286917c8f9a6fa2dc3875dfa48 +size 103104