diff --git a/abi_symbols b/abi_symbols --- a/abi_symbols +++ b/abi_symbols @@ -7,6 +7,8 @@ libmpv.so.1:mpv_command_string libmpv.so.1:mpv_create libmpv.so.1:mpv_create_client +libmpv.so.1:mpv_create_weak_client +libmpv.so.1:mpv_destroy libmpv.so.1:mpv_detach_destroy libmpv.so.1:mpv_error_string libmpv.so.1:mpv_event_name @@ -19,6 +21,8 @@ libmpv.so.1:mpv_get_sub_api libmpv.so.1:mpv_get_time_us libmpv.so.1:mpv_get_wakeup_pipe +libmpv.so.1:mpv_hook_add +libmpv.so.1:mpv_hook_continue libmpv.so.1:mpv_initialize libmpv.so.1:mpv_load_config_file libmpv.so.1:mpv_observe_property @@ -28,6 +32,14 @@ libmpv.so.1:mpv_opengl_cb_report_flip libmpv.so.1:mpv_opengl_cb_set_update_callback libmpv.so.1:mpv_opengl_cb_uninit_gl +libmpv.so.1:mpv_render_context_create +libmpv.so.1:mpv_render_context_free +libmpv.so.1:mpv_render_context_get_info +libmpv.so.1:mpv_render_context_render +libmpv.so.1:mpv_render_context_report_swap +libmpv.so.1:mpv_render_context_set_parameter +libmpv.so.1:mpv_render_context_set_update_callback +libmpv.so.1:mpv_render_context_update libmpv.so.1:mpv_request_event libmpv.so.1:mpv_request_log_messages libmpv.so.1:mpv_resume diff --git a/abi_used_libs b/abi_used_libs --- a/abi_used_libs +++ b/abi_used_libs @@ -9,11 +9,11 @@ libarchive.so.13 libasound.so.2 libass.so.9 -libavcodec.so.57 -libavdevice.so.57 -libavfilter.so.6 -libavformat.so.57 -libavutil.so.55 +libavcodec.so.58 +libavdevice.so.58 +libavfilter.so.7 +libavformat.so.58 +libavutil.so.56 libbluray.so.2 libc.so.6 libcdio.so.18 @@ -32,8 +32,8 @@ libpulse.so.0 librt.so.1 libsmbclient.so.0 -libswresample.so.2 -libswscale.so.4 +libswresample.so.3 +libswscale.so.5 libuchardet.so.0 libva-drm.so.2 libva-wayland.so.2 @@ -42,6 +42,7 @@ libvapoursynth-script.so.0 libvapoursynth.so libvdpau.so.1 +libvulkan.so.1 libwayland-client.so.0 libwayland-cursor.so.0 libwayland-egl.so.1 diff --git a/files/0001-Support-a-stateless-configuration-on-nix-systems.patch b/files/0001-Support-a-stateless-configuration-on-nix-systems.patch --- a/files/0001-Support-a-stateless-configuration-on-nix-systems.patch +++ b/files/0001-Support-a-stateless-configuration-on-nix-systems.patch @@ -1,6 +1,6 @@ -From e5ad826988bd2f9ad5e9d33ddf973298f8f06c4e Mon Sep 17 00:00:00 2001 -From: Ikey Doherty -Date: Sat, 12 Mar 2016 13:48:00 +0000 +From 84148b15f2ed8a29a8f6cbdc78ad9367536d1ce0 Mon Sep 17 00:00:00 2001 +From: Pierre-Yves +Date: Sat, 11 Aug 2018 00:09:46 +0200 Subject: [PATCH] Support a stateless configuration on *nix systems Using a stateless configuration, the often-untouched files in /etc/, which @@ -17,7 +17,7 @@ configuration files during system updates, which can often lead to undesirable side-effects. -Signed-off-by: Ikey Doherty +Signed-off-by: Pierre-Yves --- osdep/path-unix.c | 12 ++++++++++-- waftools/generators/headers.py | 1 + @@ -67,18 +67,18 @@ def configure(ctx): diff --git a/wscript_build.py b/wscript_build.py -index 1bf67b0..190c9f8 100644 +index 4d974fd..e873ac2 100644 --- a/wscript_build.py +++ b/wscript_build.py -@@ -577,7 +577,7 @@ def build(ctx): +@@ -726,7 +726,7 @@ def build(ctx): + ctx.env.DATADIR + '/applications', ['etc/mpv.desktop'] ) - if ctx.dependency_satisfied('encoding'): -- ctx.install_files(ctx.env.CONFDIR, ['etc/encoding-profiles.conf'] ) -+ ctx.install_files(ctx.env.DATADIR + '/mpv', ['etc/encoding-profiles.conf'] ) +- ctx.install_files(ctx.env.CONFDIR, ['etc/encoding-profiles.conf'] ) ++ ctx.install_files(ctx.env.DATADIR + '/mpv', ['etc/encoding-profiles.conf'] ) for size in '16x16 32x32 64x64'.split(): ctx.install_as( -- -2.7.1 +2.18.0 diff --git a/files/0002-vaapi-Use-libva2-message-callbacks.patch b/files/0002-vaapi-Use-libva2-message-callbacks.patch deleted file mode 100644 --- a/files/0002-vaapi-Use-libva2-message-callbacks.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 2ecf240b1cd20875991a5b18efafbe799864ff7f Mon Sep 17 00:00:00 2001 -From: Mark Thompson -Date: Mon, 9 Oct 2017 20:10:26 +0100 -Subject: vaapi: Use libva2 message callbacks - -They are no longer global, so they work vaguely sensibly. ---- - video/vaapi.c | 32 +++++++++++++++++++++++++++++--- - 1 file changed, 29 insertions(+), 3 deletions(-) - -diff --git a/video/vaapi.c b/video/vaapi.c -index 6bedbbaa18..3b1cb9cc41 100644 ---- a/video/vaapi.c -+++ b/video/vaapi.c -@@ -40,9 +40,27 @@ int va_get_colorspace_flag(enum mp_csp csp) - return 0; - } - --// VA message callbacks are global and do not have a context parameter, so it's --// impossible to know from which VADisplay they originate. Try to route them --// to existing mpv/libmpv instances within this process. -+#if VA_CHECK_VERSION(1, 0, 0) -+static void va_message_callback(void *context, const char *msg, int mp_level) -+{ -+ struct mp_vaapi_ctx *res = context; -+ mp_msg(res->log, mp_level, "libva: %s", msg); -+} -+ -+static void va_error_callback(void *context, const char *msg) -+{ -+ va_message_callback(context, msg, MSGL_ERR); -+} -+ -+static void va_info_callback(void *context, const char *msg) -+{ -+ va_message_callback(context, msg, MSGL_V); -+} -+#else -+// Pre-libva2 VA message callbacks are global and do not have a context -+// parameter, so it's impossible to know from which VADisplay they -+// originate. Try to route them to existing mpv/libmpv instances within -+// this process. - static pthread_mutex_t va_log_mutex = PTHREAD_MUTEX_INITIALIZER; - static struct mp_vaapi_ctx **va_mpv_clients; - static int num_va_mpv_clients; -@@ -77,6 +95,7 @@ static void va_info_callback(const char *msg) - { - va_message_callback(msg, MSGL_V); - } -+#endif - - static void open_lavu_vaapi_device(struct mp_vaapi_ctx *ctx) - { -@@ -108,6 +127,10 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog, - }, - }; - -+#if VA_CHECK_VERSION(1, 0, 0) -+ vaSetErrorCallback(display, va_error_callback, res); -+ vaSetInfoCallback(display, va_info_callback, res); -+#else - pthread_mutex_lock(&va_log_mutex); - MP_TARRAY_APPEND(NULL, va_mpv_clients, num_va_mpv_clients, res); - pthread_mutex_unlock(&va_log_mutex); -@@ -117,6 +140,7 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog, - #ifdef VA_FOURCC_I010 - vaSetErrorCallback(va_error_callback); - vaSetInfoCallback(va_info_callback); -+#endif - #endif - - int major, minor; -@@ -154,6 +178,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx) - if (ctx->destroy_native_ctx) - ctx->destroy_native_ctx(ctx->native_ctx); - -+#if !VA_CHECK_VERSION(1, 0, 0) - pthread_mutex_lock(&va_log_mutex); - for (int n = 0; n < num_va_mpv_clients; n++) { - if (va_mpv_clients[n] == ctx) { -@@ -164,6 +189,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx) - if (num_va_mpv_clients == 0) - TA_FREEP(&va_mpv_clients); // avoid triggering leak detectors - pthread_mutex_unlock(&va_log_mutex); -+#endif - - talloc_free(ctx); - } --- -cgit v1.1-22-g1649 - diff --git a/package.yml b/package.yml --- a/package.yml +++ b/package.yml @@ -1,17 +1,16 @@ name : mpv homepage : https://mpv.io/ -version : 0.27.2 -release : 56 +version : 0.29.1 +release : 57 source : - - https://github.com/mpv-player/mpv/archive/v0.27.2.tar.gz : 2ad104d83fd3b2b9457716615acad57e479fd1537b8fc5e37bfe9065359b50be - - https://waf.io/waf-1.9.15 : 85e76e38df9a4d45a6f73383f02f1438a5da39890e28c483101b2c16d2a63663 - - https://github.com/2ion/mpv-bash-completion/archive/3.3.16.tar.gz : 9b8fe4ab052ce514520005f04857cf1ce401dae6422467799d1da581dc4ee9ae + - https://github.com/mpv-player/mpv/archive/v0.29.1.tar.gz : f9f9d461d1990f9728660b4ccb0e8cb5dce29ccaa6af567bec481b79291ca623 + - https://waf.io/waf-2.0.12 : 0979ca87f45928e0d752049ab2f43be8551249be73dc5563b944ec54f8871d1f + - https://github.com/2ion/mpv-bash-completion/archive/3.3.17.tar.gz : 355f9ae90638c730028e0b6a3ae6e9c09f5cb1ede27372f8a8cf7b0035020e97 license : - - LGPL-2.1 - - GPL-3.0 + - LGPL-2.1-or-later + - GPL-3.0-or-lter component : multimedia.video -summary : mpv is a fork of mplayer2 and MPlayer. It shares some features with the - former projects while introducing many more. +summary : mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more description: | mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. MPlayer's options parser was improved to behave more like other CLI programs, and many option names and semantics were reworked to make them more intuitive and memorable. mpv has a OpenGL based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, and more. 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. @@ -36,7 +35,9 @@ - pkgconfig(uchardet) - pkgconfig(vapoursynth) - pkgconfig(vdpau) + - pkgconfig(vulkan) - pkgconfig(wayland-client) + - pkgconfig(wayland-protocols) - pkgconfig(x11) - pkgconfig(xkbcommon) - pkgconfig(xinerama) @@ -54,11 +55,13 @@ - /usr/lib64/pkgconfig replaces : - libs-devel : mpv-devel -setup : | +environment: | export CFLAGS="$CFLAGS -I/usr/include/lua5.1" + export MPV_BASHCOMPGEN_MPV_CMD=../build/mpv + export MBCversion=3.3.17 +setup : | %patch -p1 < $pkgfiles/0001-Support-a-stateless-configuration-on-nix-systems.patch - %patch -p1 < $pkgfiles/0002-vaapi-Use-libva2-message-callbacks.patch - install -m 00755 $sources/waf-* ./waf + install -m00755 $sources/waf-* ./waf %waf_configure --confdir=/etc/mpv \ --libdir=%libdir% \ --enable-cdda \ @@ -68,25 +71,21 @@ --enable-libarchive \ --enable-libmpv-shared \ --enable-libsmbclient \ + --enable-tv \ --enable-zsh-comp \ --disable-debug - tar xf "${sources}/3.3.16.tar.gz" + tar xf "${sources}/${MBCversion}.tar.gz" build : | - export CFLAGS="$CFLAGS -I/usr/include/lua5.1" %waf_build - pushd mpv-bash-completion-3.3.16 + pushd mpv-bash-completion-${MBCversion} %patch -p1 < $pkgfiles/0001-Fix-lua-binary.patch - export MPV_BASHCOMPGEN_MPV_CMD=../build/mpv %make popd install : | - export CFLAGS="$CFLAGS -I/usr/include/lua5.1" %waf_install - pushd mpv-bash-completion-3.3.16 - export MPV_BASHCOMPGEN_MPV_CMD=../build/mpv + pushd mpv-bash-completion-${MBCversion} %make_install popd - diff --git a/pspec_x86_64.xml b/pspec_x86_64.xml --- a/pspec_x86_64.xml +++ b/pspec_x86_64.xml @@ -3,13 +3,13 @@ mpv https://mpv.io/ - Joshua Strobl - joshua@stroblindustries.com + Pierre-Yves + pyu@riseup.net - LGPL-2.1 - GPL-3.0 + LGPL-2.1-or-later + GPL-3.0-or-lter multimedia.video - mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. + mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. MPlayer's options parser was improved to behave more like other CLI programs, and many option names and semantics were reworked to make them more intuitive and memorable. mpv has a OpenGL based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, and more. 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. @@ -17,13 +17,13 @@ mpv - mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. + mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. MPlayer's options parser was improved to behave more like other CLI programs, and many option names and semantics were reworked to make them more intuitive and memorable. mpv has a OpenGL based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, and more. 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. multimedia.video - mpv-libs + mpv-libs /usr/bin/mpv @@ -44,28 +44,30 @@ mpv-libs - mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. + mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. MPlayer's options parser was improved to behave more like other CLI programs, and many option names and semantics were reworked to make them more intuitive and memorable. mpv has a OpenGL based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, and more. 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. /usr/lib64/libmpv.so.1 - /usr/lib64/libmpv.so.1.25.0 + /usr/lib64/libmpv.so.1.101.0 mpv-libs-devel - mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. + mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more. MPlayer's options parser was improved to behave more like other CLI programs, and many option names and semantics were reworked to make them more intuitive and memorable. mpv has a OpenGL based video output that is capable of many features loved by videophiles, such as video scaling with popular high quality algorithms, color management, and more. 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 /usr/lib64/libmpv.so /usr/lib64/pkgconfig/mpv.pc @@ -75,12 +77,12 @@ - - 2018-10-24 - 0.27.2 + + 2018-11-08 + 0.29.1 Packaging update - Joshua Strobl - joshua@stroblindustries.com + Pierre-Yves + pyu@riseup.net \ No newline at end of file