diff --git a/abi_symbols b/abi_symbols --- a/abi_symbols +++ b/abi_symbols @@ -1,5 +1,6 @@ libmpv.so.1:mpv_abort_async_command libmpv.so.1:mpv_client_api_version +libmpv.so.1:mpv_client_id libmpv.so.1:mpv_client_name libmpv.so.1:mpv_command libmpv.so.1:mpv_command_async @@ -14,6 +15,7 @@ libmpv.so.1:mpv_detach_destroy libmpv.so.1:mpv_error_string libmpv.so.1:mpv_event_name +libmpv.so.1:mpv_event_to_node libmpv.so.1:mpv_free libmpv.so.1:mpv_free_node_contents libmpv.so.1:mpv_get_property diff --git a/abi_used_libs b/abi_used_libs --- a/abi_used_libs +++ b/abi_used_libs @@ -31,7 +31,6 @@ libpthread.so.0 libpulse.so.0 librubberband.so.2 -libsmbclient.so.0 libswresample.so.3 libswscale.so.5 libuchardet.so.0 diff --git a/files/0001-Patch-youtube-dl-references.patch b/files/0001-Patch-youtube-dl-references.patch --- a/files/0001-Patch-youtube-dl-references.patch +++ b/files/0001-Patch-youtube-dl-references.patch @@ -1,61 +1,25 @@ -From 6840d7b65449878e576dade611e02b38678e8a19 Mon Sep 17 00:00:00 2001 -From: Joshua Strobl -Date: Tue, 27 Oct 2020 22:11:30 +0200 -Subject: [PATCH 1/1] Patch youtube-dl references +From 2dac61951eb706780060ddb335d9586678fc985b Mon Sep 17 00:00:00 2001 +From: Alexander Vorobyev +Date: Sun, 22 Nov 2020 14:12:30 +0300 +Subject: Patch youtube-dl references --- - player/lua/ytdl_hook.lua | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + player/lua/ytdl_hook.lua | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua -index 7e77eb01ba..ec5693e02b 100644 +index e9a7b3aac7..6420015e60 100644 --- a/player/lua/ytdl_hook.lua +++ b/player/lua/ytdl_hook.lua -@@ -10,7 +10,7 @@ local o = { - options.read_options(o) - - local ytdl = { -- path = "youtube-dl", -+ path = "youtube-dlc", - searched = false, - blacklisted = {} +@@ -8,7 +8,7 @@ local o = { + use_manifests = false, + all_formats = false, + force_all_formats = true, +- ytdl_path = "youtube-dl", ++ ytdl_path = "youtube-dlc", } -@@ -465,7 +465,7 @@ local function check_version(ytdl_path) - end - local version_ts = os.time{year=year, month=month, day=day} - if (os.difftime(os.time(), version_ts) > 60*60*24*90) then -- msg.warn("It appears that your youtube-dl version is severely out of date.") -+ msg.warn("It appears that your youtube-dlc version is severely out of date.") - end - end - -@@ -477,7 +477,7 @@ function run_ytdl_hook(url) - local exesuf = (package.config:sub(1,1) == '\\') and '.exe' or '' - local ytdl_mcd = mp.find_config_file("youtube-dl" .. exesuf) - if not (ytdl_mcd == nil) then -- msg.verbose("found youtube-dl at: " .. ytdl_mcd) -+ msg.verbose("found youtube-dlc at: " .. ytdl_mcd) - ytdl.path = ytdl_mcd - end - ytdl.searched = true -@@ -545,7 +545,7 @@ function run_ytdl_hook(url) - -- trim our stderr to avoid spurious newlines - ytdl_err = result.stderr:gsub("^%s*(.-)%s*$", "%1") - msg.error(ytdl_err) -- local err = "youtube-dl failed: " -+ local err = "youtube-dlc failed: " - if result.error_string and result.error_string == "init" then - err = err .. "not found or not enough permissions" - elseif not result.killed_by_us then -@@ -568,7 +568,7 @@ function run_ytdl_hook(url) - return - end -- msg.verbose("youtube-dl succeeded!") -+ msg.verbose("youtube-dlc succeeded!") - msg.debug('ytdl parsing took '..os.clock()-start_time..' seconds') - - json["proxy"] = json["proxy"] or proxy + local ytdl = { -- -2.29.1 +2.29.2 diff --git a/files/0002-stream-file-cache-file-size.patch b/files/0002-stream-file-cache-file-size.patch deleted file mode 100644 --- a/files/0002-stream-file-cache-file-size.patch +++ /dev/null @@ -1,73 +0,0 @@ -From c59ca06a0fff432ac4cae012bb0299a8db9a00d3 Mon Sep 17 00:00:00 2001 -From: wm4 -Date: Fri, 14 Feb 2020 16:07:13 +0100 -Subject: [PATCH] stream_file: cache file size - -Some cache logic in demux.c queries the raw byte stream size on every -packet read. This is because it reports the value to the user. (It has -to be polled like this because there is no change notification in most -underlying I/O APIs, and also the user can't just block on the demuxer -thread to update it explicitly.) - -This causes a very high number of get_size calls with low packet sizes, -so cache the size, and update it on every read. Reads only happen -approximately all 64KB read with default settings, which is way less -frequent than every packet in such extreme cases. - -In theory, this could in theory cause problems in some cases. Actually -this is whole commit complete non-sense, because why micro-optimize for -broken cases like patent troll codecs. I don't need to justify it -anyway. - -As a minor detail, off_t is actually specified as signed, so the off_t -cast is never needed. ---- - stream/stream_file.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -diff --git a/stream/stream_file.c b/stream/stream_file.c -index a79ef0e913..6e69f33c94 100644 ---- a/stream/stream_file.c -+++ b/stream/stream_file.c -@@ -64,6 +64,7 @@ struct priv { - bool use_poll; - bool regular_file; - bool appending; -+ int64_t cached_size; // -2: invalid, -1: unknown - int64_t orig_size; - struct mp_cancel *cancel; - }; -@@ -75,15 +76,20 @@ struct priv { - static int64_t get_size(stream_t *s) - { - struct priv *p = s->priv; -- off_t size = lseek(p->fd, 0, SEEK_END); -- lseek(p->fd, s->pos, SEEK_SET); -- return size == (off_t)-1 ? -1 : size; -+ if (p->cached_size == -2) { -+ off_t size = lseek(p->fd, 0, SEEK_END); -+ lseek(p->fd, s->pos, SEEK_SET); -+ p->cached_size = size < 0 ? -1 : size; -+ } -+ return p->cached_size; - } - - static int fill_buffer(stream_t *s, void *buffer, int max_len) - { - struct priv *p = s->priv; - -+ p->cached_size = -2; // always invalidate cached size -+ - #ifndef __MINGW32__ - if (p->use_poll) { - int c = mp_cancel_get_fd(p->cancel); -@@ -245,7 +251,8 @@ static int open_f(stream_t *stream) - { - struct priv *p = talloc_ptrtype(stream, p); - *p = (struct priv) { -- .fd = -1 -+ .fd = -1, -+ .cached_size = -2, - }; - stream->priv = p; - stream->is_local_file = true; diff --git a/files/0003-stream-file-use-fstat-instead-of-lseek-to-determine-file-size.patch b/files/0003-stream-file-use-fstat-instead-of-lseek-to-determine-file-size.patch deleted file mode 100644 --- a/files/0003-stream-file-use-fstat-instead-of-lseek-to-determine-file-size.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 20eead18130fd460d8e9eff50ce14afd3646faab Mon Sep 17 00:00:00 2001 -From: wm4 -Date: Sun, 16 Feb 2020 23:36:05 +0100 -Subject: [PATCH] stream_file: use fstat() instead of lseek() to determine file - size - -It appears using lseek() to seek to the end and back to determine file -size is inefficient in some cases. - -With CIFS, this restores the performance regression that happened when -the stream cache was removed (which called read() from a thread). This -is probably faster than the old code too, because it's the seeking that -was slowing down CIFS. - -According to the user who tested this, the size caching does not help -with fstat() (although it did with the old method). - -Fixes: #7408, #7152 ---- - stream/stream_file.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/stream/stream_file.c b/stream/stream_file.c -index 6e69f33c94..9f83b73dd1 100644 ---- a/stream/stream_file.c -+++ b/stream/stream_file.c -@@ -77,9 +77,14 @@ static int64_t get_size(stream_t *s) - { - struct priv *p = s->priv; - if (p->cached_size == -2) { -- off_t size = lseek(p->fd, 0, SEEK_END); -- lseek(p->fd, s->pos, SEEK_SET); -- p->cached_size = size < 0 ? -1 : size; -+ int64_t size = -1; -+ struct stat st; -+ if (fstat(p->fd, &st) == 0) { -+ if (st.st_size <= 0 && !s->seekable) -+ st.st_size = -1; -+ size = st.st_size < 0 ? -1 : st.st_size; -+ } -+ p->cached_size = size; - } - return p->cached_size; - } diff --git a/files/0004-osd-libass-set-ScaledBorderAndShadow.patch b/files/0004-osd-libass-set-ScaledBorderAndShadow.patch deleted file mode 100644 --- a/files/0004-osd-libass-set-ScaledBorderAndShadow.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d086421ca478940b8588e33c9f836472a578b199 Mon Sep 17 00:00:00 2001 -From: Oleg Oshmyan -Date: Sat, 11 Jul 2020 21:06:48 +0300 -Subject: [PATCH] osd_libass: set ScaledBorderAndShadow - -libass recently switched the default from 1 to 0 for compatibility -with ASS scripts that rely on the historical/VSFilter default of 0. - -libass does attempt to detect and avoid breaking scripts that rely -on the historic libass-only default of 1, but it doesn't cover tracks -created directly through the API, so set the header explicitly. - -Fixes https://github.com/mpv-player/mpv/issues/7900. ---- - sub/osd_libass.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/sub/osd_libass.c b/sub/osd_libass.c -index 2efcef00be..5f9bc52f66 100644 ---- a/sub/osd_libass.c -+++ b/sub/osd_libass.c -@@ -132,6 +132,7 @@ static void create_ass_track(struct osd_state *osd, struct osd_object *obj, - track->Timer = 100.; - track->WrapStyle = 1; // end-of-line wrapping instead of smart wrapping - track->Kerning = true; -+ track->ScaledBorderAndShadow = true; - - update_playres(ass, &obj->vo_res); - } diff --git a/files/0005-sd-ass-osd-libass-dont-use-deprecated-libass-symbols.patch b/files/0005-sd-ass-osd-libass-dont-use-deprecated-libass-symbols.patch deleted file mode 100644 --- a/files/0005-sd-ass-osd-libass-dont-use-deprecated-libass-symbols.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 6f8768c55fad1d82dfefd2426f153d44d8e350ac Mon Sep 17 00:00:00 2001 -From: Oneric -Date: Fri, 28 Aug 2020 13:55:20 +0000 -Subject: [PATCH 1/2] osd_libass: don't use deprecated ass_set_aspect_ratio - ---- - sub/osd_libass.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/sub/osd_libass.c b/sub/osd_libass.c -index 5f9bc52f66..667431eb7b 100644 ---- a/sub/osd_libass.c -+++ b/sub/osd_libass.c -@@ -63,7 +63,7 @@ static void create_ass_renderer(struct osd_state *osd, struct ass_state *ass) - - mp_ass_configure_fonts(ass->render, osd->opts->osd_style, - osd->global, ass->log); -- ass_set_aspect_ratio(ass->render, 1.0, 1.0); -+ ass_set_pixel_aspect(ass->render, 1.0); - } - - static void destroy_ass_renderer(struct ass_state *ass) -@@ -622,7 +622,7 @@ static void append_ass(struct ass_state *ass, struct mp_osd_res *res, - update_playres(ass, res); - - ass_set_frame_size(ass->render, res->w, res->h); -- ass_set_aspect_ratio(ass->render, res->display_par, 1.0); -+ ass_set_pixel_aspect(ass->render, res->display_par); - - int ass_changed; - *img_list = ass_render_frame(ass->render, ass->track, 0, &ass_changed); - -From f7ba291e578627fb93e19ce95cca96d993cded65 Mon Sep 17 00:00:00 2001 -From: Oneric -Date: Fri, 28 Aug 2020 13:59:04 +0000 -Subject: [PATCH 2/2] sd_ass: replace deprecated ASS_OVERRIDE_BIT_FONT_SIZE - -This requires a slightly more recent libass than before ---- - sub/sd_ass.c | 6 ++---- - wscript | 2 +- - 2 files changed, 3 insertions(+), 5 deletions(-) - -diff --git a/sub/sd_ass.c b/sub/sd_ass.c -index eae1536df8..e5e12cbc04 100644 ---- a/sub/sd_ass.c -+++ b/sub/sd_ass.c -@@ -418,13 +418,11 @@ static void configure_ass(struct sd *sd, struct mp_osd_res *dim, - ass_set_shaper(priv, opts->ass_shaper); - int set_force_flags = 0; - if (total_override) -- set_force_flags |= ASS_OVERRIDE_BIT_STYLE | ASS_OVERRIDE_BIT_FONT_SIZE; -+ set_force_flags |= ASS_OVERRIDE_BIT_STYLE | ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE; - if (opts->ass_style_override == 4) // 'scale' -- set_force_flags |= ASS_OVERRIDE_BIT_FONT_SIZE; --#if LIBASS_VERSION >= 0x01201001 -+ set_force_flags |= ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE; - if (converted) - set_force_flags |= ASS_OVERRIDE_BIT_ALIGNMENT; --#endif - #ifdef ASS_JUSTIFY_AUTO - if ((converted || opts->ass_style_override) && opts->ass_justify) - set_force_flags |= ASS_OVERRIDE_BIT_JUSTIFY; -diff --git a/wscript b/wscript -index 1c45e20a27..a54a1191dd 100644 ---- a/wscript -+++ b/wscript -@@ -312,7 +312,7 @@ iconv support use --disable-iconv.", - }, { - 'name': 'libass', - 'desc': 'SSA/ASS support', -- 'func': check_pkg_config('libass', '>= 0.12.1'), -+ 'func': check_pkg_config('libass', '>= 0.12.2'), - 'req': True, - 'fmsg': "Unable to find development files for libass, or the version " + - "found is too old. Aborting." diff --git a/files/series b/files/series --- a/files/series +++ b/files/series @@ -1,6 +1,2 @@ 0001-Support-a-stateless-configuration-on-nix-systems.patch -0002-stream-file-cache-file-size.patch -0003-stream-file-use-fstat-instead-of-lseek-to-determine-file-size.patch -0004-osd-libass-set-ScaledBorderAndShadow.patch -0005-sd-ass-osd-libass-dont-use-deprecated-libass-symbols.patch 0001-Patch-youtube-dl-references.patch diff --git a/package.yml b/package.yml --- a/package.yml +++ b/package.yml @@ -1,10 +1,10 @@ name : mpv homepage : https://mpv.io/ -version : 0.32.0 -release : 83 +version : 0.33.0 +release : 84 source : - - https://github.com/mpv-player/mpv/archive/v0.32.0.tar.gz : 9163f64832226d22e24bbc4874ebd6ac02372cd717bef15c28a0aa858c5fe592 - - https://waf.io/waf-2.0.19 : ba63c90a865a9bcf46926c4e6776f9a3f73d29f33d49b7f61f96bc37b7397cef + - https://github.com/mpv-player/mpv/archive/v0.33.0.tar.gz : f1b9baf5dc2eeaf376597c28a6281facf6ed98ff3d567e3955c95bf2459520b4 + - https://waf.io/waf-2.0.21 : 7cebf2c5efe53cbb9a4b5bdc4b49ae90ecd64a8fce7a3222d58e591b58215306 license : - GPL-2.0-or-later - LGPL-2.1-or-later @@ -29,7 +29,6 @@ - pkgconfig(libva) - pkgconfig(luajit) - pkgconfig(rubberband) - - pkgconfig(smbclient) - pkgconfig(uchardet) - pkgconfig(vapoursynth) - pkgconfig(vdpau) @@ -60,16 +59,16 @@ setup : | %apply_patches install -m00755 $sources/waf-* ./waf - %waf_configure --confdir=/etc/mpv \ - --libdir=%libdir% \ - --enable-cdda \ - --enable-dvbin \ - --enable-dvdnav \ - --enable-libarchive \ - --enable-libmpv-shared \ - --enable-libsmbclient \ - --disable-debug + python3 %waf_configure \ + --confdir=/etc/mpv \ + --libdir=%libdir% \ + --enable-cdda \ + --enable-dvbin \ + --enable-dvdnav \ + --enable-gl-x11 \ + --enable-libmpv-shared \ + --disable-debug build : | - %waf_build + python3 %waf_build install : | - %waf_install + python3 %waf_install diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml --- a/pspec_x86_64.xml +++ b/pspec_x86_64.xml @@ -3,8 +3,8 @@ mpv https://mpv.io/ - Rune Morling - ermo.solus-project.com@spammesenseless.net + Alexander Vorobyev + avorobyev@protonmail.com GPL-2.0-or-later LGPL-2.1-or-later @@ -30,6 +30,7 @@ /usr/share/doc/mpv/mplayer-input.conf /usr/share/doc/mpv/mpv.conf /usr/share/doc/mpv/restore-old-bindings.conf + /usr/share/icons/hicolor/128x128/apps/mpv.png /usr/share/icons/hicolor/16x16/apps/mpv.png /usr/share/icons/hicolor/32x32/apps/mpv.png /usr/share/icons/hicolor/64x64/apps/mpv.png @@ -48,7 +49,7 @@ /usr/lib64/libmpv.so.1 - /usr/lib64/libmpv.so.1.107.0 + /usr/lib64/libmpv.so.1.109.0 @@ -58,12 +59,11 @@ While mpv has no official GUI, it has a small controller that is triggered by mouse movement. mpv leverages the FFmpeg hwaccel APIs to support VDPAU, VAAPI and VDA video decode acceleration. - mpv-libs + mpv-libs /usr/include/mpv/client.h /usr/include/mpv/opengl_cb.h - /usr/include/mpv/qthelper.hpp /usr/include/mpv/render.h /usr/include/mpv/render_gl.h /usr/include/mpv/stream_cb.h @@ -75,12 +75,12 @@ - - 2020-11-17 - 0.32.0 + + 2020-11-23 + 0.33.0 Packaging update - Rune Morling - ermo.solus-project.com@spammesenseless.net + Alexander Vorobyev + avorobyev@protonmail.com \ No newline at end of file