From: Bernd Kuhls Date: Sun, 12 Aug 2018 20:29:25 +0000 (+0200) Subject: package/vlc: bump version to 3.0.3 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7dd64181d0060c7b3d8918a2a72b28e4225134bd;p=buildroot.git package/vlc: bump version to 3.0.3 vlc depends on gcc-4.9+: https://mailman.videolan.org/pipermail/vlc-devel/2016-September/109452.html Added fix for stack-protector detection. Disabled all new optional dependencies for now, subsequent patches will enable dependencies with buildroot packages present. Removed gles1 configure option after http://git.videolan.org/?p=vlc.git;a=commitdiff;h=6c4bb081844c51a9a1b1cdb44fc5f42e5a879327 Renamed mmal configure options after http://git.videolan.org/?p=vlc.git;a=commitdiff;h=bdb1d86acfb0d0068e57281b6fbfc52345960d29 http://git.videolan.org/?p=vlc.git;a=commitdiff;h=1d2b56c68bbc3287e17f6140bdf8c8c3efe08fdc Renamed avahi configure option after http://git.videolan.org/?p=vlc.git;a=commitdiff;h=55280fa62cb68b71767778c56250352b4840b69a Removed directfb support after being dropped upstream: http://git.videolan.org/?p=vlc.git;a=commitdiff;h=8e1a0e876615da31321203090daa7c8699b6406d Renamed matroska configure option after http://git.videolan.org/?p=vlc.git;a=commitdiff;h=156ceb73e2f46618a6cffb081e71e368a315ec3e Replaced qt4 support with qt5: http://git.videolan.org/?p=vlc.git;a=commitdiff;h=1c221a77d92935866e897254c07e1d12a4b95ae0 Removed sdl support: http://git.videolan.org/?p=vlc.git;a=commitdiff;h=4b8a2755fe8c0e3e1e9c52483b22c26e24fd5527 Removed --enable-xcb in BR2_PACKAGE_XCB_UTIL_KEYSYMS block, it is already present in the BR2_PACKAGE_LIBXCB block. Rebased patches - 0001-Disable-building-of-statically-linked-vlc-binary.patch - 0007-Don-t-assume-strerror_l-is-available.patch - 0009-x264-drop-148-build-support-and-fix-10bit-support.patch also renamed from 0013 Removed patches - 0002-configure.ac-add-check-for-libgcrypt-config-program.patch not needed anymore after upstream commit http://git.videolan.org/?p=vlc.git;a=commitdiff;h=f94ac7241f33b6896a8e12ae4e3e43d9fd7fb6cc - 0004-Drop-error-implicit-function-declaration-compile-fla.patch - 0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch removed, qt4 is not supported anymore - 0008-fix-fallback-code-and-add-required-realtime-library-.patch - 0009-Changes-for-ffmpeg-3.0.patch - 0010-Fix-build-when-using-C99-and-C-11.patch - 0011-compat-fix-static_assert.patch - 0012-Fix-build-with-libupnp-above-1.6.23.patch New patches - 0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch to fix lua-5.3 support - 0004-qt-fix-build-against-Qt-5.11.patch - 0006-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch - 0008-posix-remove-ancient-run-time-fallback-to-real-time-.patch - 0010-Add-support-for-freerdp2.patch fixes support for freerdp >= 2.0 Signed-off-by: Bernd Kuhls [Thomas: use Git formatted patches.] Signed-off-by: Thomas Petazzoni --- diff --git a/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch b/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch index 4caa170b02..784ffa35f6 100644 --- a/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch +++ b/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch @@ -1,4 +1,4 @@ -From 0b701c37d8a409904ea80fb6b74f096d1f28cc84 Mon Sep 17 00:00:00 2001 +From 7c2b3343a30ee53a1cded2ca5e712d8cd7d50f5f Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Tue, 1 May 2018 22:27:21 +0200 Subject: [PATCH] Disable building of statically linked vlc binary @@ -10,10 +10,10 @@ Signed-off-by: Bernd Kuhls 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am -index febdc63fe4..dca6354ec9 100644 +index 3ac82623ad..637504a3f5 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -933,7 +933,7 @@ libvlc: libvlccore +@@ -108,7 +108,7 @@ libvlc: libvlccore cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la core: libvlc vlc$(EXEEXT) @@ -23,18 +23,18 @@ index febdc63fe4..dca6354ec9 100644 doc: cd doc && $(MAKE) $(AM_MAKEFLAGS) doc diff --git a/bin/Makefile.am b/bin/Makefile.am -index 869ac561dc..5e48b70d0a 100644 +index 2877e8b0ea..bef4160e8b 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am -@@ -1,7 +1,7 @@ - # Building vlc - # +@@ -6,7 +6,7 @@ bin_PROGRAMS = vlc-osx + noinst_PROGRAMS = vlc-osx-static + else bin_PROGRAMS = vlc -noinst_PROGRAMS = vlc-static +noinst_PROGRAMS = - noinst_DATA = - vlclib_PROGRAMS = vlc-cache-gen - EXTRA_PROGRAMS = vlc-wrapper + endif + endif + EXTRA_DIST = vlc_win32_rc.rc.in -- -2.14.3 +2.14.4 diff --git a/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch b/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch deleted file mode 100644 index c1cb2fa10e..0000000000 --- a/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch +++ /dev/null @@ -1,46 +0,0 @@ -From c0fb6c7662d7b514f20cbb92ab0b2e535cd3bb49 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 8 Feb 2014 14:33:27 +0100 -Subject: [PATCH] configure.ac: add check for libgcrypt-config program - -This allows to override the default libgcrypt-config location (which is -useful when cross-compiling), instead of using the one from the host -system. - -Signed-off-by: Samuel Martin -[yann.morin.1998@free.fr: adapt from 2.1.6 to 2.2.0; fix quoting in - AC_PATH_PROG] -Signed-off-by: "Yann E. MORIN" ---- - configure.ac | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index b49281cd77..b3841ea77b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4056,16 +4056,17 @@ dnl - AC_ARG_ENABLE(libgcrypt, - [ --disable-libgcrypt gcrypt support (default enabled)]) - AS_IF([test "${enable_libgcrypt}" != "no"], [ -+ AC_PATH_PROG([GCRYPT_CONFIG],[libgcrypt-config],[libgcrypt-config]) - AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ -- libgcrypt-config --version >/dev/null || \ -+ ${GCRYPT_CONFIG} --version >/dev/null || \ - AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found]) - AC_CHECK_LIB(gcrypt, gcry_control, [ - have_libgcrypt="yes" -- GCRYPT_CFLAGS="`libgcrypt-config --cflags`" -- GCRYPT_LIBS="`libgcrypt-config --libs`" -+ GCRYPT_CFLAGS="`${GCRYPT_CONFIG} --cflags`" -+ GCRYPT_LIBS="`${GCRYPT_CONFIG} --libs`" - ], [ - AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass --disable-libgcrypt.]) -- ], [`libgcrypt-config --libs`]) -+ ], [`${GCRYPT_CONFIG} --libs`]) - ], [ - AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or pass --disable-libgcrypt.]) - ], [#include ] --- -2.14.3 - diff --git a/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch b/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch new file mode 100644 index 0000000000..11eaaf3b20 --- /dev/null +++ b/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch @@ -0,0 +1,41 @@ +From 00135e21bec84a2fe5920d02fa0982ceb9f89a35 Mon Sep 17 00:00:00 2001 +From: Vinson Lee +Date: Thu, 5 Feb 2015 14:48:53 -0800 +Subject: [PATCH] lua: Define LUA_COMPAT_APIINTCASTS for Lua >= 5.3.0 + compatibility. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In Lua 5.3.0, luaL_checkint was deprecated. + +This patch fixes this build error with Lua 5.3.0. + +lua/demux.c: In function ‘vlclua_demux_peek’: +lua/demux.c:55:5: error: implicit declaration of function ‘luaL_checkint’ [-Werror=implicit-function-declaration] + int n = luaL_checkint( L, 1 ); + ^ + +Signed-off-by: Vinson Lee +Signed-off-by: Jean-Baptiste Kempf +[Backport upstream commit 41caaa08cde60c4fec4bf2e5f9610e2a1b9e6a23] +Signed-off-by: Bernd Kuhls +--- + modules/lua/vlc.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h +index 71f381d334..b46b5f67a1 100644 +--- a/modules/lua/vlc.h ++++ b/modules/lua/vlc.h +@@ -38,6 +38,7 @@ + #include + #include + ++#define LUA_COMPAT_APIINTCASTS + #define LUA_COMPAT_MODULE + #include /* Low level lua C API */ + #include /* Higher level C API */ +-- +2.14.4 + diff --git a/package/vlc/0003-automake-add-subdir-objects-option.patch b/package/vlc/0003-automake-add-subdir-objects-option.patch index 877114a273..d4493bdf7f 100644 --- a/package/vlc/0003-automake-add-subdir-objects-option.patch +++ b/package/vlc/0003-automake-add-subdir-objects-option.patch @@ -1,4 +1,4 @@ -From 7663c856db10274d8dfbf7fb4299d3f76e5847a8 Mon Sep 17 00:00:00 2001 +From 54e7e0bda02099ae9d1c42abed1932ffa8d354e8 Mon Sep 17 00:00:00 2001 From: "Arnout Vandecappelle (Essensium/Mind)" Date: Tue, 1 May 2018 22:28:52 +0200 Subject: [PATCH] automake: add subdir-objects option @@ -15,7 +15,7 @@ Signed-off-by: Arnout Vandecappelle (Essensium/Mind) 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b3841ea77b..9a37656ddd 100644 +index 206690b468..dfb4c1c329 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ AC_CANONICAL_BUILD @@ -26,7 +26,7 @@ index b3841ea77b..9a37656ddd 100644 +AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects) AC_CONFIG_HEADERS([config.h]) - # Disable with "./configure --disable-silent-rules" or "make V=1" + AM_SILENT_RULES([yes]) -- -2.14.3 +2.14.4 diff --git a/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch b/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch deleted file mode 100644 index 62666b3dae..0000000000 --- a/package/vlc/0004-Drop-error-implicit-function-declaration-compile-fla.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d4806743a059ec6720b5c29e7345390978614fc9 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 1 May 2018 22:29:29 +0200 -Subject: [PATCH] Drop error-implicit-function-declaration compile flag - -Fix compile warning being treated as error: - -codec/svg.c: In function 'DecodeBlock': -codec/svg.c:240:5: error: implicit declaration of function 'rsvg_handle_render_cairo' [-Werror=implicit-function-declaration] -cc1: some warnings being treated as errors - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 9a37656ddd..b14ba46797 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -867,7 +867,7 @@ dnl - dnl Compiler warnings - dnl - --RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) -+RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var]) - RDC_PROG_CC_FLAGS([-pipe]) - AC_LANG_PUSH([C++]) - RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var]) --- -2.14.3 - diff --git a/package/vlc/0004-qt-fix-build-against-Qt-5.11.patch b/package/vlc/0004-qt-fix-build-against-Qt-5.11.patch new file mode 100644 index 0000000000..fad33b2304 --- /dev/null +++ b/package/vlc/0004-qt-fix-build-against-Qt-5.11.patch @@ -0,0 +1,33 @@ +From 30211b7336f2ed6048953390340e86f6cca9eb6f Mon Sep 17 00:00:00 2001 +From: Dominique Leuenberger +Date: Thu, 17 May 2018 17:40:37 +0200 +Subject: [PATCH] qt: fix build against Qt 5.11 + +Qt 5.11 is in RC phase now, and some headers need to be explicitly +included in order to build successfully. + +Signed-off-by: Jean-Baptiste Kempf + +Downloaded from +https://sources.debian.org/src/vlc/3.0.3-1-3/debian/patches/0003-qt-fix-build-against-Qt-5.11.patch/ + +Signed-off-by: Bernd Kuhls +--- + modules/gui/qt/components/simple_preferences.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules/gui/qt/components/simple_preferences.cpp b/modules/gui/qt/components/simple_preferences.cpp +index 635cc274c0..7a31a6ea6f 100644 +--- a/modules/gui/qt/components/simple_preferences.cpp ++++ b/modules/gui/qt/components/simple_preferences.cpp +@@ -36,6 +36,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.14.4 + diff --git a/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch b/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch index bd8231cd03..a5352b7498 100644 --- a/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch +++ b/package/vlc/0005-Don-t-hardcode-the-name-of-the-vorbis-and-ogg-librar.patch @@ -1,4 +1,4 @@ -From 418e5e692a1f975d41eab3bd15895b2ba0a7eee1 Mon Sep 17 00:00:00 2001 +From 6515c423f9e6b8b607678a260a16db2684d88a4e Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Tue, 1 May 2018 22:30:09 +0200 Subject: [PATCH] Don't hardcode the name of the vorbis and ogg libraries @@ -14,10 +14,10 @@ Signed-off-by: Bernd Kuhls 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am -index bc39a4facc..c5cd2fb7f9 100644 +index 10132a92f3..2fb52a586e 100644 --- a/modules/codec/Makefile.am +++ b/modules/codec/Makefile.am -@@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora) +@@ -324,7 +324,7 @@ codec_LTLIBRARIES += $(LTLIBdaala) libtremor_plugin_la_SOURCES = codec/vorbis.c libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' @@ -27,5 +27,5 @@ index bc39a4facc..c5cd2fb7f9 100644 codec_LTLIBRARIES += $(LTLIBtremor) -- -2.14.3 +2.14.4 diff --git a/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch b/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch deleted file mode 100644 index 0a07dd735d..0000000000 --- a/package/vlc/0006-Don-t-assume-X11-is-available-when-Qt5-is-used.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f87ef7f97e7e35cc1c922d5a3ff2a2275da7c22e Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 1 May 2018 22:30:39 +0200 -Subject: [PATCH] Don't assume X11 is available when Qt5 is used - -libX11 is an optional dependency for the qt4 module. - -Signed-off-by: Bernd Kuhls ---- - modules/gui/qt4/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules/gui/qt4/Makefile.am b/modules/gui/qt4/Makefile.am -index 1a564cf1ea..4d12501eb7 100644 ---- a/modules/gui/qt4/Makefile.am -+++ b/modules/gui/qt4/Makefile.am -@@ -22,7 +22,7 @@ else - if HAVE_WIN32 - libqt4_plugin_la_LIBADD += -lole32 -lcomctl32 -luuid - else --libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) -lX11 -+libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) - endif - endif - if HAVE_DARWIN --- -2.14.3 - diff --git a/package/vlc/0006-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch b/package/vlc/0006-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch new file mode 100644 index 0000000000..a1d7189689 --- /dev/null +++ b/package/vlc/0006-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch @@ -0,0 +1,44 @@ +From bbb15b9cbf9353423619f2c40abdf95d861e66ba Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 2 Apr 2016 16:49:54 +0200 +Subject: [PATCH] Fix build error using uClibc by adding sys/types.h + +Fixes + + CC core.lo +In file included from libvlc_internal.h:35:0, + from core.c:28: +../include/vlc/libvlc_media.h:313:18: error: expected declaration specifiers or '...' before '*' token + typedef ssize_t (*libvlc_media_read_cb)(void *opaque, unsigned char *buf, + ^ +../include/vlc/libvlc_media.h:423:36: error: unknown type name 'libvlc_media_read_cb' + libvlc_media_read_cb read_cb, + ^ +Bug was reported to trac: +https://trac.videolan.org/vlc/ticket/16768 + +This patch was suggested by courmisch in the trac ticket. + +Signed-off-by: Bernd Kuhls +[Patch sent upstream: + https://mailman.videolan.org/pipermail/vlc-devel/2016-April/106952.html] +--- + include/vlc/libvlc_media.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/vlc/libvlc_media.h b/include/vlc/libvlc_media.h +index 383f366b69..1cbf00c3e3 100644 +--- a/include/vlc/libvlc_media.h ++++ b/include/vlc/libvlc_media.h +@@ -26,6 +26,8 @@ + #ifndef VLC_LIBVLC_MEDIA_H + #define VLC_LIBVLC_MEDIA_H 1 + ++#include /* for ssize_t */ ++ + # ifdef __cplusplus + extern "C" { + # endif +-- +2.14.4 + diff --git a/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch b/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch index e587b05d27..685befa6e4 100644 --- a/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch +++ b/package/vlc/0007-Don-t-assume-strerror_l-is-available.patch @@ -1,4 +1,4 @@ -From 02a0cf3635eab8b10a5a47a56aa905d925f669a8 Mon Sep 17 00:00:00 2001 +From 0435cf37308652af1cf244b6429e919fa7ffaa95 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Tue, 1 May 2018 22:31:23 +0200 Subject: [PATCH] Don't assume strerror_l() is available @@ -18,18 +18,18 @@ Signed-off-by: Bernd Kuhls 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b14ba46797..15cb4edcfd 100644 +index dfb4c1c329..bfe43512a2 100644 --- a/configure.ac +++ b/configure.ac -@@ -537,7 +537,7 @@ need_libc=false +@@ -590,7 +590,7 @@ dnl Check for system libs needed + need_libc=false dnl Check for usual libc functions - AC_CHECK_DECLS([nanosleep],,,[#include ]) --AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) -+AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale strerror_l stricmp strnicmp strptime uselocale]) - AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) - AC_CHECK_FUNCS(fdatasync,, - [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) +-AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp strptime uselocale]) ++AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale strerror_l stricmp strnicmp strptime uselocale]) + AC_REPLACE_FUNCS([aligned_alloc atof atoll dirfd fdopendir ffsll flockfile fsync getdelim getpid lldiv memrchr nrand48 poll recvmsg rewind sendmsg setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strnstr strsep strtof strtok_r strtoll swab tdestroy tfind timegm timespec_get strverscmp pathconf]) + AC_REPLACE_FUNCS([gettimeofday]) + AC_CHECK_FUNC(fdatasync,, diff --git a/src/posix/error.c b/src/posix/error.c index db51004601..b4aa6fb3ca 100644 --- a/src/posix/error.c @@ -53,5 +53,5 @@ index db51004601..b4aa6fb3ca 100644 } -- -2.14.3 +2.14.4 diff --git a/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch b/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch deleted file mode 100644 index d9f4241309..0000000000 --- a/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From b5d4edd81bcb685cbea61b01d54afa1fe200b7d2 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Fri, 26 Aug 2016 15:11:25 +0200 -Subject: [PATCH] fix fallback code and add required realtime library to link - command - -Signed-off-by: Waldemar Brodkorb ---- - configure.ac | 1 + - src/posix/thread.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 15cb4edcfd..16e44a8c61 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -121,6 +121,7 @@ case "${host_os}" in - ;; - linux*) - SYS=linux -+ AC_CHECK_LIB([rt], [posix_spawnp], [VLC_ADD_LIBS([libvlccore],[-lrt])], [], []) - ;; - bsdi*) - SYS=bsdi -diff --git a/src/posix/thread.c b/src/posix/thread.c -index 07fa71eb3e..8b8595fcb8 100644 ---- a/src/posix/thread.c -+++ b/src/posix/thread.c -@@ -85,7 +85,7 @@ static clockid_t vlc_clock_id; - - static void vlc_clock_setup_once (void) - { --# if (_POSIX_MONOTONIC_CLOCK == 0) -+# if (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0) - long val = sysconf (_SC_MONOTONIC_CLOCK); - assert (val != 0); - vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; --- -2.14.3 - diff --git a/package/vlc/0008-posix-remove-ancient-run-time-fallback-to-real-time-.patch b/package/vlc/0008-posix-remove-ancient-run-time-fallback-to-real-time-.patch new file mode 100644 index 0000000000..4fc639e222 --- /dev/null +++ b/package/vlc/0008-posix-remove-ancient-run-time-fallback-to-real-time-.patch @@ -0,0 +1,187 @@ +From 5d561e1e2dcde3c9fca4d925f12447009d0d4a4c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Wed, 18 Apr 2018 17:23:57 +0300 +Subject: [PATCH] posix: remove ancient run-time fallback to real-time clock +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +posix: remove ancient run-time fallback to real-time clock + +For hysterical raisins, GNU/Linux and possibly some other OSes still +report that monotonic clock must be checked at run-time, although I +doubt that VLC or even current glibc would run on such old kernel. + +Drop that to simplify and avoid the systematic one-time init check. + +Downloaded from upstream commit to fix build error on m68k: + +posix/thread.c:79:5: warning: #warning Monotonic clock not available. Expect timing issues. [-Wcpp] + # warning Monotonic clock not available. Expect timing issues. + ^~~~~~~ +posix/thread.c: In function ‘vlc_clock_setup_once’: +posix/thread.c:88:18: error: lvalue required as left operand of assignment + vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; + +Signed-off-by: Bernd Kuhls +--- + src/posix/thread.c | 96 +++++++----------------------------------------------- + 1 file changed, 11 insertions(+), 85 deletions(-) + +diff --git a/src/posix/thread.c b/src/posix/thread.c +index dab8b71f97..8878941913 100644 +--- a/src/posix/thread.c ++++ b/src/posix/thread.c +@@ -51,62 +51,16 @@ + # include + #endif + +-#if !defined (_POSIX_TIMERS) +-# define _POSIX_TIMERS (-1) +-#endif +-#if !defined (_POSIX_CLOCK_SELECTION) +-/* Clock selection was defined in 2001 and became mandatory in 2008. */ +-# define _POSIX_CLOCK_SELECTION (-1) +-#endif +-#if !defined (_POSIX_MONOTONIC_CLOCK) +-# define _POSIX_MONOTONIC_CLOCK (-1) +-#endif +- +-#if (_POSIX_TIMERS > 0) + static unsigned vlc_clock_prec; + +-# if (_POSIX_MONOTONIC_CLOCK > 0) && (_POSIX_CLOCK_SELECTION > 0) +-/* Compile-time POSIX monotonic clock support */ +-# define vlc_clock_id (CLOCK_MONOTONIC) +- +-# elif (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0) +-/* Run-time POSIX monotonic clock support (see clock_setup() below) */ +-static clockid_t vlc_clock_id; +- +-# else +-/* No POSIX monotonic clock support */ +-# define vlc_clock_id (CLOCK_REALTIME) +-# warning Monotonic clock not available. Expect timing issues. +- +-# endif /* _POSIX_MONOTONIC_CLOKC */ +- + static void vlc_clock_setup_once (void) + { +-# if (_POSIX_MONOTONIC_CLOCK == 0) +- long val = sysconf (_SC_MONOTONIC_CLOCK); +- assert (val != 0); +- vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; +-# endif +- + struct timespec res; +- if (unlikely(clock_getres (vlc_clock_id, &res) != 0 || res.tv_sec != 0)) ++ if (unlikely(clock_getres(CLOCK_MONOTONIC, &res) != 0 || res.tv_sec != 0)) + abort (); + vlc_clock_prec = (res.tv_nsec + 500) / 1000; + } + +-static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT; +- +-# define vlc_clock_setup() \ +- pthread_once(&vlc_clock_once, vlc_clock_setup_once) +- +-#else /* _POSIX_TIMERS */ +- +-# include /* gettimeofday() */ +- +-# define vlc_clock_setup() (void)0 +-# warning Monotonic clock not available. Expect timing issues. +-#endif /* _POSIX_TIMERS */ +- + static struct timespec mtime_to_ts (mtime_t date) + { + lldiv_t d = lldiv (date, CLOCK_FREQ); +@@ -233,14 +187,11 @@ void vlc_cond_init (vlc_cond_t *p_condvar) + { + pthread_condattr_t attr; + +- if (unlikely(pthread_condattr_init (&attr))) +- abort (); +-#if (_POSIX_CLOCK_SELECTION > 0) +- vlc_clock_setup (); +- pthread_condattr_setclock (&attr, vlc_clock_id); +-#endif +- if (unlikely(pthread_cond_init (p_condvar, &attr))) ++ if (unlikely(pthread_condattr_init (&attr)) ++ || unlikely(pthread_condattr_setclock(&attr, CLOCK_MONOTONIC)) ++ || unlikely(pthread_cond_init (p_condvar, &attr))) + abort (); ++ + pthread_condattr_destroy (&attr); + } + +@@ -625,44 +576,27 @@ void vlc_control_cancel (int cmd, ...) + + mtime_t mdate (void) + { +-#if (_POSIX_TIMERS > 0) + struct timespec ts; + +- vlc_clock_setup (); +- if (unlikely(clock_gettime (vlc_clock_id, &ts) != 0)) ++ if (unlikely(clock_gettime(CLOCK_MONOTONIC, &ts) != 0)) + abort (); + + return (INT64_C(1000000) * ts.tv_sec) + (ts.tv_nsec / 1000); +- +-#else +- struct timeval tv; +- +- if (unlikely(gettimeofday (&tv, NULL) != 0)) +- abort (); +- return (INT64_C(1000000) * tv.tv_sec) + tv.tv_usec; +- +-#endif + } + + #undef mwait + void mwait (mtime_t deadline) + { +-#if (_POSIX_CLOCK_SELECTION > 0) +- vlc_clock_setup (); ++ static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT; ++ + /* If the deadline is already elapsed, or within the clock precision, + * do not even bother the system timer. */ ++ pthread_once(&vlc_clock_once, vlc_clock_setup_once); + deadline -= vlc_clock_prec; + + struct timespec ts = mtime_to_ts (deadline); + +- while (clock_nanosleep (vlc_clock_id, TIMER_ABSTIME, &ts, NULL) == EINTR); +- +-#else +- deadline -= mdate (); +- if (deadline > 0) +- msleep (deadline); +- +-#endif ++ while (clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &ts, NULL) == EINTR); + } + + #undef msleep +@@ -670,15 +604,7 @@ void msleep (mtime_t delay) + { + struct timespec ts = mtime_to_ts (delay); + +-#if (_POSIX_CLOCK_SELECTION > 0) +- vlc_clock_setup (); +- while (clock_nanosleep (vlc_clock_id, 0, &ts, &ts) == EINTR); +- +-#else +- while (nanosleep (&ts, &ts) == -1) +- assert (errno == EINTR); +- +-#endif ++ while (clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, &ts) == EINTR); + } + + unsigned vlc_GetCPUCount(void) +-- +2.14.4 + diff --git a/package/vlc/0009-Changes-for-ffmpeg-3.0.patch b/package/vlc/0009-Changes-for-ffmpeg-3.0.patch deleted file mode 100644 index a765a0a6c4..0000000000 --- a/package/vlc/0009-Changes-for-ffmpeg-3.0.patch +++ /dev/null @@ -1,309 +0,0 @@ -From 960c98831ca75b08168530f1c74af07901e01963 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Tue, 1 May 2018 22:32:02 +0200 -Subject: [PATCH] Changes for ffmpeg 3.0 - -This file is a copy of debian/patches/04_ffmpeg-3.0.diff, to be found in -http://www.deb-multimedia.org/pool/main/v/vlc-dmo/vlc-dmo_2.2.4.orig.tar.gz - -Signed-off-by: Bernd Kuhls ---- - configure.ac | 14 +++++++------- - modules/codec/avcodec/audio.c | 2 +- - modules/codec/avcodec/encoder.c | 20 ++++++++++---------- - modules/codec/avcodec/vaapi.c | 2 +- - modules/codec/avcodec/video.c | 14 +++++++------- - modules/demux/avformat/demux.c | 10 +++++----- - 6 files changed, 31 insertions(+), 31 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 16e44a8c61..6886b2b872 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2319,7 +2319,7 @@ AC_ARG_ENABLE(avcodec, - AS_IF([test "${enable_avcodec}" != "no"], [ - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ - PKG_CHECK_EXISTS([libavutil < 55],, [ -- AC_MSG_ERROR([libavutil versions 55 and later are not supported.]) -+ AC_MSG_WARN([libavutil versions 55 and later are not supported.]) - ]) - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" -@@ -2329,7 +2329,7 @@ AS_IF([test "${enable_avcodec}" != "no"], [ - VLC_RESTORE_FLAGS - have_avcodec="yes" - ],[ -- AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.]) -+ AC_MSG_WARN([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.]) - ]) - ], [ - have_avcodec="no" -@@ -2378,7 +2378,7 @@ AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [ - case "${avfork}" in - ffmpeg) - PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ -- AC_MSG_ERROR([VA API requires FFmpeg libavcodec < 57.10 or libav.]) -+ AC_MSG_WARN([VA API requires FFmpeg libavcodec < 57.10 or libav.]) - ]) - ;; - esac -@@ -2412,7 +2412,7 @@ AS_IF([test "${enable_dxva2}" != "no"], [ - case "${avfork}" in - ffmpeg) - PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ -- AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.]) -+ AC_MSG_WARN([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.]) - ]) - ;; - esac -@@ -2504,7 +2504,7 @@ AS_IF([test "${enable_avformat}" != "no"], [ - ]) - VLC_RESTORE_FLAGS - ],[ -- AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.]) -+ AC_MSG_WARN([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.]) - ]) - ]) - AM_CONDITIONAL([HAVE_AVFORMAT], [test "${enable_avformat}" != "no"]) -@@ -2533,7 +2533,7 @@ then - ]) - VLC_RESTORE_FLAGS - ],[ -- AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) -+ AC_MSG_WARN([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) - ]) - fi - -@@ -3176,7 +3176,7 @@ AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [ - libav) av_vdpau_ver="55.26.0" ;; - ffmpeg) av_vdpau_ver="55.42.100" - PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ -- AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.]) -+ AC_MSG_WARN([VDPAU requires FFmpeg libavcodec < 57.10 or libav.]) - ]) - ;; - esac -diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c -index 7068499d82..b5347ac896 100644 ---- a/modules/codec/avcodec/audio.c -+++ b/modules/codec/avcodec/audio.c -@@ -39,7 +39,7 @@ - #include - #include - --#include -+#include - - #include "avcodec.h" - -diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c -index 457078a06f..2bfc0c05f2 100644 ---- a/modules/codec/avcodec/encoder.c -+++ b/modules/codec/avcodec/encoder.c -@@ -41,7 +41,7 @@ - #include - - #include --#include -+#include - - #include "avcodec.h" - #include "avcommon.h" -@@ -311,7 +311,7 @@ int OpenEncoder( vlc_object_t *p_this ) - else if( !GetFfmpegCodec( p_enc->fmt_out.i_codec, &i_cat, &i_codec_id, - &psz_namecodec ) ) - { -- if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == PIX_FMT_NONE ) -+ if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == AV_PIX_FMT_NONE ) - return VLC_EGENERIC; /* handed chroma output */ - - i_cat = VIDEO_ES; -@@ -555,7 +555,7 @@ int OpenEncoder( vlc_object_t *p_this ) - - if( p_codec->pix_fmts ) - { -- const enum PixelFormat *p = p_codec->pix_fmts; -+ const enum AVPixelFormat *p = p_codec->pix_fmts; - for( ; *p != -1; p++ ) - { - if( *p == p_context->pix_fmt ) break; -@@ -1017,7 +1017,7 @@ errmsg: - } - } - -- p_sys->frame = avcodec_alloc_frame(); -+ p_sys->frame = av_frame_alloc(); - if( !p_sys->frame ) - { - goto error; -@@ -1048,7 +1048,7 @@ static void vlc_av_packet_Release(block_t *block) - { - vlc_av_packet_t *b = (void *) block; - -- av_free_packet(&b->packet); -+ av_packet_unref(&b->packet); - free(b); - } - -@@ -1088,7 +1088,7 @@ static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict ) - AVFrame *frame = NULL; - if( likely(p_pict) ) { - frame = p_sys->frame; -- avcodec_get_frame_defaults( frame ); -+ av_frame_unref( frame ); - for( i_plane = 0; i_plane < p_pict->i_planes; i_plane++ ) - { - p_sys->frame->data[i_plane] = p_pict->p[i_plane].p_pixels; -@@ -1188,7 +1188,7 @@ static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict ) - av_pkt.duration / p_sys->p_context->time_base.den, p_sys->p_context ); - if( unlikely(p_block == NULL) ) - { -- av_free_packet( &av_pkt ); -+ av_packet_unref( &av_pkt ); - return NULL; - } - -@@ -1329,7 +1329,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, int - //How much we need to copy from new packet - const int leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes; - -- avcodec_get_frame_defaults( p_sys->frame ); -+ av_frame_unref( p_sys->frame ); - p_sys->frame->format = p_sys->p_context->sample_fmt; - p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay; - -@@ -1451,7 +1451,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf ) - while( ( p_aout_buf->i_nb_samples >= p_sys->i_frame_size ) || - ( p_sys->b_variable && p_aout_buf->i_nb_samples ) ) - { -- avcodec_get_frame_defaults( p_sys->frame ); -+ av_frame_unref( p_sys->frame ); - if( p_sys->b_variable ) - p_sys->frame->nb_samples = p_aout_buf->i_nb_samples; - else -@@ -1514,7 +1514,7 @@ void CloseEncoder( vlc_object_t *p_this ) - encoder_t *p_enc = (encoder_t *)p_this; - encoder_sys_t *p_sys = p_enc->p_sys; - -- /*FIXME: we should use avcodec_free_frame, but we don't require so new avcodec that has it*/ -+ /*FIXME: we should use av_frame_free, but we don't require so new avcodec that has it*/ - av_freep( &p_sys->frame ); - - vlc_avcodec_lock(); -diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c -index 1d8f7fa97b..d9643d061c 100644 ---- a/modules/codec/avcodec/vaapi.c -+++ b/modules/codec/avcodec/vaapi.c -@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCodecContext *ctx, - return err; - - /* Only VLD supported */ -- p_va->pix_fmt = PIX_FMT_VAAPI_VLD; -+ p_va->pix_fmt = AV_PIX_FMT_VAAPI_VLD; - p_va->setup = Setup; - p_va->get = Get; - p_va->release = Release; -diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c -index ce5254423e..fd72d8d8e2 100644 ---- a/modules/codec/avcodec/video.c -+++ b/modules/codec/avcodec/video.c -@@ -108,8 +108,8 @@ static int lavc_GetFrame(struct AVCodecContext *, AVFrame *, int); - static int ffmpeg_GetFrameBuf ( struct AVCodecContext *, AVFrame * ); - static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *, AVFrame * ); - #endif --static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *, -- const enum PixelFormat * ); -+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *, -+ const enum AVPixelFormat * ); - - static uint32_t ffmpeg_CodecTag( vlc_fourcc_t fcc ) - { -@@ -236,7 +236,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context, - p_sys->p_codec = p_codec; - p_sys->i_codec_id = i_codec_id; - p_sys->psz_namecodec = psz_namecodec; -- p_sys->p_ff_pic = avcodec_alloc_frame(); -+ p_sys->p_ff_pic = av_frame_alloc(); - p_sys->b_delayed_open = true; - p_sys->p_va = NULL; - vlc_sem_init( &p_sys->sem_mt, 0 ); -@@ -448,7 +448,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context, - if( ffmpeg_OpenCodec( p_dec ) < 0 ) - { - msg_Err( p_dec, "cannot open codec (%s)", p_sys->psz_namecodec ); -- avcodec_free_frame( &p_sys->p_ff_pic ); -+ av_frame_free( &p_sys->p_ff_pic ); - vlc_sem_destroy( &p_sys->sem_mt ); - free( p_sys ); - return VLC_EGENERIC; -@@ -849,7 +849,7 @@ void EndVideoDec( decoder_t *p_dec ) - wait_mt( p_sys ); - - if( p_sys->p_ff_pic ) -- avcodec_free_frame( &p_sys->p_ff_pic ); -+ av_frame_free( &p_sys->p_ff_pic ); - - if( p_sys->p_va ) - vlc_va_Delete( p_sys->p_va ); -@@ -1336,8 +1336,8 @@ static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *p_context, - } - #endif - --static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, -- const enum PixelFormat *pi_fmt ) -+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, -+ const enum AVPixelFormat *pi_fmt ) - { - decoder_t *p_dec = p_context->opaque; - decoder_sys_t *p_sys = p_dec->p_sys; -diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c -index a99bdfa5b7..4e27d07d36 100644 ---- a/modules/demux/avformat/demux.c -+++ b/modules/demux/avformat/demux.c -@@ -734,14 +734,14 @@ static int Demux( demux_t *p_demux ) - } - if( pkt.stream_index < 0 || pkt.stream_index >= p_sys->i_tk ) - { -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - const AVStream *p_stream = p_sys->ic->streams[pkt.stream_index]; - if( p_stream->time_base.den <= 0 ) - { - msg_Warn( p_demux, "Invalid time base for the stream %d", pkt.stream_index ); -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - if( p_stream->codec->codec_id == AV_CODEC_ID_SSA ) -@@ -749,7 +749,7 @@ static int Demux( demux_t *p_demux ) - p_frame = BuildSsaFrame( &pkt, p_sys->i_ssa_order++ ); - if( !p_frame ) - { -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - } -@@ -757,7 +757,7 @@ static int Demux( demux_t *p_demux ) - { - if( ( p_frame = block_Alloc( pkt.size ) ) == NULL ) - { -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 0; - } - memcpy( p_frame->p_buffer, pkt.data, pkt.size ); -@@ -838,7 +838,7 @@ static int Demux( demux_t *p_demux ) - else - block_Release( p_frame ); - -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - --- -2.14.3 - diff --git a/package/vlc/0009-x264-drop-148-build-support-and-fix-10bit-support.patch b/package/vlc/0009-x264-drop-148-build-support-and-fix-10bit-support.patch new file mode 100644 index 0000000000..102ac7b655 --- /dev/null +++ b/package/vlc/0009-x264-drop-148-build-support-and-fix-10bit-support.patch @@ -0,0 +1,213 @@ +From dd37405dc527c5653f512966263284e7e18b7f9f Mon Sep 17 00:00:00 2001 +From: Ilkka Ollakka +Date: Sat, 24 Mar 2018 11:23:33 +0200 +Subject: [PATCH] x264: drop <148 build support and fix 10bit support + +x264: drop <148 build support and fix 10bit support + +Drop old #if as 148 is not that recent anymore. + +fixes #19581 + +Downloaded from upstream commit +http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8 + +Signed-off-by: Bernd Kuhls +--- + modules/codec/x264.c | 65 ++++++++-------------------------------------------- + 1 file changed, 10 insertions(+), 55 deletions(-) + +diff --git a/modules/codec/x264.c b/modules/codec/x264.c +index e02048f075..bcf3c89a10 100644 +--- a/modules/codec/x264.c ++++ b/modules/codec/x264.c +@@ -84,13 +84,7 @@ static void x264_log( void *, int i_level, const char *psz, va_list ); + "I-frames, but do not start a new GOP." ) + + #define OPENGOP_TEXT N_("Use recovery points to close GOPs") +-#if X264_BUILD < 115 +-#define OPENGOP_LONGTEXT N_("none: use closed GOPs only\n"\ +- "normal: use standard open GOPs\n" \ +- "bluray: use Blu-ray compatible open GOPs" ) +-#else + #define OPENGOP_LONGTEXT N_("use open GOP, for bluray compatibility use also bluray-compat option") +-#endif + + #define BLURAY_TEXT N_("Enable compatibility hacks for Blu-ray support") + #define BLURAY_LONGTEXT N_("Enable hacks for Blu-ray support, this doesn't enforce every aspect of Blu-ray compatibility\n" \ +@@ -469,16 +463,10 @@ vlc_module_begin () + add_integer( SOUT_CFG_PREFIX "min-keyint", 25, MIN_KEYINT_TEXT, + MIN_KEYINT_LONGTEXT, true ) + +-#if X264_BUILD >= 102 && X264_BUILD <= 114 +- add_string( SOUT_CFG_PREFIX "opengop", "none", OPENGOP_TEXT, +- OPENGOP_LONGTEXT, true ) +- change_string_list( x264_open_gop_names, x264_open_gop_names ) +-#elif X264_BUILD > 114 + add_bool( SOUT_CFG_PREFIX "opengop", false, OPENGOP_TEXT, + OPENGOP_LONGTEXT, true ) + add_bool( SOUT_CFG_PREFIX "bluray-compat", false, BLURAY_TEXT, + BLURAY_LONGTEXT, true ) +-#endif + + add_integer( SOUT_CFG_PREFIX "scenecut", 40, SCENE_TEXT, + SCENE_LONGTEXT, true ) +@@ -498,13 +486,8 @@ vlc_module_begin () + B_BIAS_LONGTEXT, true ) + change_integer_range( -100, 100 ) + +-#if X264_BUILD >= 87 + add_string( SOUT_CFG_PREFIX "bpyramid", "normal", BPYRAMID_TEXT, + BPYRAMID_LONGTEXT, true ) +-#else +- add_string( SOUT_CFG_PREFIX "bpyramid", "none", BPYRAMID_TEXT, +- BPYRAMID_LONGTEXT, true ) +-#endif + change_string_list( bpyramid_list, bpyramid_list ) + + add_bool( SOUT_CFG_PREFIX "cabac", true, CABAC_TEXT, CABAC_LONGTEXT, +@@ -541,22 +524,18 @@ vlc_module_begin () + add_bool( SOUT_CFG_PREFIX "interlaced", false, INTERLACED_TEXT, INTERLACED_LONGTEXT, + true ) + +-#if X264_BUILD >= 111 + add_integer( SOUT_CFG_PREFIX "frame-packing", -1, FRAMEPACKING_TEXT, FRAMEPACKING_LONGTEXT, true ) + change_integer_list( framepacking_list, framepacking_list_text ) + change_integer_range( -1, 6) +-#endif + + add_integer( SOUT_CFG_PREFIX "slices", 0, SLICE_COUNT, SLICE_COUNT_LONGTEXT, true ) + add_integer( SOUT_CFG_PREFIX "slice-max-size", 0, SLICE_MAX_SIZE, SLICE_MAX_SIZE_LONGTEXT, true ) + add_integer( SOUT_CFG_PREFIX "slice-max-mbs", 0, SLICE_MAX_MBS, SLICE_MAX_MBS_LONGTEXT, true ) + +-#if X264_BUILD >= 89 + add_string( SOUT_CFG_PREFIX "hrd", "none", HRD_TEXT, HRD_TEXT, true ) + vlc_config_set (VLC_CONFIG_LIST, + (sizeof(x264_nal_hrd_names) / sizeof (char*)) - 1, + x264_nal_hrd_names, x264_nal_hrd_names); +-#endif + + + /* Ratecontrol */ +@@ -842,20 +821,14 @@ static int Open ( vlc_object_t *p_this ) + fullrange |= p_enc->fmt_in.video.b_color_range_full; + p_enc->fmt_in.i_codec = fullrange ? VLC_CODEC_J420 : VLC_CODEC_I420; + p_sys->i_colorspace = X264_CSP_I420; +-#if X264_BUILD >= 118 + char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" ); +- if( psz_profile ) +- { +- const int mask = x264_bit_depth > 8 ? X264_CSP_HIGH_DEPTH : 0; +- +- + # ifdef MODULE_NAME_IS_x26410b +- if( mask == 0) +- { +- msg_Err( p_enc, "Only high bit depth encoding supported, bit depth:%d", x264_bit_depth); +- return VLC_EGENERIC; +- } ++ const int mask = X264_CSP_HIGH_DEPTH; ++# else ++ const int mask = 0; + # endif ++ if( psz_profile ) ++ { + + if( !strcmp( psz_profile, "high10" ) ) + { +@@ -878,7 +851,6 @@ static int Open ( vlc_object_t *p_this ) + msg_Err( p_enc, "Only high-profiles and 10-bit are supported"); + return VLC_EGENERIC; + } +- + # endif + } + # ifdef MODULE_NAME_IS_x26410b +@@ -889,7 +861,6 @@ static int Open ( vlc_object_t *p_this ) + } + # endif + free( psz_profile ); +-#endif //X264_BUILD + + p_enc->pf_encode_video = Encode; + p_enc->pf_encode_audio = NULL; +@@ -912,6 +883,10 @@ static int Open ( vlc_object_t *p_this ) + #else + x264_param_default( &p_sys->param ); + x264_param_default_preset( &p_sys->param, psz_preset, psz_tune ); ++# if X264_BUILD > 152 ++ if( mask ) ++ p_sys->param.i_bitdepth = 10; ++# endif + #endif + free( psz_preset ); + free( psz_tune ); +@@ -1089,10 +1064,8 @@ static int Open ( vlc_object_t *p_this ) + if( fabs( var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ) - 1.0) > 0.005 ) + p_sys->param.rc.f_aq_strength = var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ); + +-#if X264_BUILD >= 111 + if( var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ) > -1 ) + p_sys->param.i_frame_packing = var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ); +-#endif + + if( var_GetBool( p_enc, SOUT_CFG_PREFIX "verbose" ) ) + p_sys->param.i_log_level = X264_LOG_DEBUG; +@@ -1108,26 +1081,14 @@ static int Open ( vlc_object_t *p_this ) + + i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "keyint" ); + if( i_val > 0 && i_val != 250 ) p_sys->param.i_keyint_max = i_val; +-#if X264_BUILD >= 102 + if( i_val == -1 ) p_sys->param.i_keyint_max = X264_KEYINT_MAX_INFINITE; +-#endif + + i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "min-keyint" ); + if( i_val > 0 && i_val != 25 ) p_sys->param.i_keyint_min = i_val; + +-#if X264_BUILD >= 102 && X264_BUILD <= 114 +- psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "opengop" ); +- if( !strcmp( psz_val, "none" ) ) +- p_sys->param.i_open_gop = X264_OPEN_GOP_NONE; +- else if( !strcmp( psz_val, "normal" ) ) +- p_sys->param.i_open_gop = X264_OPEN_GOP_NORMAL; +- else if( !strcmp( psz_val, "bluray" ) ) +- p_sys->param.i_open_gop = X264_OPEN_GOP_BLURAY; +- free( psz_val ); +-#elif X264_BUILD >= 115 + p_sys->param.b_open_gop = var_GetBool( p_enc, SOUT_CFG_PREFIX "opengop" ); + p_sys->param.b_bluray_compat = var_GetBool( p_enc, SOUT_CFG_PREFIX "bluray-compat" ); +-#endif ++ + i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "bframes" ); + if( i_val >= 0 && i_val <= 16 && i_val != 3 ) + p_sys->param.i_bframe = i_val; +@@ -1165,14 +1126,12 @@ static int Open ( vlc_object_t *p_this ) + if( i_val >= 1 && i_val != 7 ) + p_sys->param.analyse.i_subpel_refine = i_val; + +-#if X264_BUILD >= 89 + psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "hrd"); + if( !strcmp( psz_val, "vbr" ) ) + p_sys->param.i_nal_hrd = X264_NAL_HRD_VBR; + else if( !strcmp( psz_val, "cbr" ) ) + p_sys->param.i_nal_hrd = X264_NAL_HRD_CBR; + free( psz_val ); +-#endif + + //TODO: psz_val == NULL ? + psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "me" ); +@@ -1531,11 +1490,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict ) + int i_nal=0, i_out=0, i=0; + + /* init pic */ +-#if X264_BUILD >= 98 + x264_picture_init( &pic ); +-#else +- memset( &pic, 0, sizeof( x264_picture_t ) ); +-#endif + if( likely(p_pict) ) { + pic.i_pts = p_pict->date; + pic.img.i_csp = p_sys->i_colorspace; +-- +2.14.4 + diff --git a/package/vlc/0010-Add-support-for-freerdp2.patch b/package/vlc/0010-Add-support-for-freerdp2.patch new file mode 100644 index 0000000000..75f095545b --- /dev/null +++ b/package/vlc/0010-Add-support-for-freerdp2.patch @@ -0,0 +1,150 @@ +From 3780bbb20bf35aa8f21ac672da3f0c5f408468e9 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 16 Aug 2018 12:27:40 +0200 +Subject: [PATCH] Add support for freerdp2 + +Downloaded from +https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 2 +- + modules/access/rdp.c | 51 ++++++++++++++------------------------------------- + 2 files changed, 15 insertions(+), 38 deletions(-) + +diff --git a/configure.ac b/configure.ac +index bfe43512a2..4808b8becf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1992,7 +1992,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su + + dnl RDP/Remote Desktop access module + dnl +-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) ) ++PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) ) + + dnl + dnl Real RTSP plugin +diff --git a/modules/access/rdp.c b/modules/access/rdp.c +index 2992090219..49986f5da9 100644 +--- a/modules/access/rdp.c ++++ b/modules/access/rdp.c +@@ -45,18 +45,6 @@ + # include + #endif + +-#if !defined(FREERDP_VERSION_MAJOR) || \ +- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))) +-# define SoftwareGdi sw_gdi +-# define Fullscreen fullscreen +-# define ServerHostname hostname +-# define Username username +-# define Password password +-# define ServerPort port +-# define EncryptionMethods encryption +-# define ContextSize context_size +-#endif +- + #include + #ifdef HAVE_POLL + # include +@@ -144,6 +132,7 @@ static void desktopResizeHandler( rdpContext *p_context ) + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context; + demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys; + rdpGdi *p_gdi = p_context->gdi; ++ unsigned bytesPerPixel; + + if ( p_sys->es ) + { +@@ -153,17 +142,21 @@ static void desktopResizeHandler( rdpContext *p_context ) + + /* Now init and fill es format */ + vlc_fourcc_t i_chroma; +- switch( p_gdi->bytesPerPixel ) ++ switch( p_gdi->dstFormat ) + { + default: +- case 16: ++ msg_Dbg( p_vlccontext->p_demux, "unhandled dstFormat %x bpp", p_gdi->dstFormat); ++ case PIXEL_FORMAT_BGR16: + i_chroma = VLC_CODEC_RGB16; ++ bytesPerPixel = 16; + break; +- case 24: ++ case PIXEL_FORMAT_BGR24: + i_chroma = VLC_CODEC_RGB24; ++ bytesPerPixel = 24; + break; +- case 32: ++ case PIXEL_FORMAT_BGRA32: + i_chroma = VLC_CODEC_RGB32; ++ bytesPerPixel = 32; + break; + } + es_format_t fmt; +@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_context ) + fmt.video.i_height = p_gdi->height; + fmt.video.i_frame_rate_base = 1000; + fmt.video.i_frame_rate = 1000 * p_sys->f_fps; +- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel; ++ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * bytesPerPixel; + + if ( p_sys->p_block ) + p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize ); +@@ -237,28 +230,19 @@ static bool postConnectHandler( freerdp *p_instance ) + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context; + + msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)", +-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)) + p_instance->settings->DesktopWidth, + p_instance->settings->DesktopHeight, + p_instance->settings->ColorDepth +-#else +- p_instance->settings->width, +- p_instance->settings->height, +- p_instance->settings->color_depth +-#endif + ); + + p_instance->update->DesktopResize = desktopResizeHandler; + p_instance->update->BeginPaint = beginPaintHandler; + p_instance->update->EndPaint = endPaintHandler; + +- gdi_init( p_instance, +- CLRBUF_16BPP | +-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \ +- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2)) +- CLRBUF_24BPP | +-#endif +- CLRBUF_32BPP, NULL ); ++ if ( p_instance->settings->ColorDepth > 16 ) ++ gdi_init( p_instance, PIXEL_FORMAT_XRGB32); ++ else ++ gdi_init( p_instance, PIXEL_FORMAT_RGB16); + + desktopResizeHandler( p_instance->context ); + return true; +@@ -432,10 +416,6 @@ static int Open( vlc_object_t *p_this ) + if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0; + p_sys->i_frame_interval = 1000000 / p_sys->f_fps; + +-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2 +- freerdp_channels_global_init(); +-#endif +- + p_sys->p_instance = freerdp_new(); + if ( !p_sys->p_instance ) + { +@@ -508,9 +488,6 @@ static void Close( vlc_object_t *p_this ) + + freerdp_disconnect( p_sys->p_instance ); + freerdp_free( p_sys->p_instance ); +-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2 +- freerdp_channels_global_uninit(); +-#endif + + if ( p_sys->p_block ) + block_Release( p_sys->p_block ); +-- +2.14.4 + diff --git a/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch b/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch deleted file mode 100644 index 8f12f5325e..0000000000 --- a/package/vlc/0010-Fix-build-when-using-C99-and-C-11.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 55e3ac26c1238df4c85877c32763a02c00da1345 Mon Sep 17 00:00:00 2001 -From: Thomas Guillem -Date: Thu, 30 Apr 2015 13:29:50 +0200 -Subject: [PATCH] Fix build when using C99 and C++11 - -Fix build when using C99 and C++11 - -Indeed, C99 doesn't have static_assert and C++11 has it. - -Signed-off-by: Bernd Kuhls ---- - include/vlc_fixups.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h -index 997f600d6a..0d4fcd0c8d 100644 ---- a/include/vlc_fixups.h -+++ b/include/vlc_fixups.h -@@ -239,7 +239,7 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) - } - #endif - --#if !defined (HAVE_STATIC_ASSERT) -+#if !defined (HAVE_STATIC_ASSERT) && !defined(__cpp_static_assert) - # define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) - # define static_assert _Static_assert - #endif --- -2.14.3 - diff --git a/package/vlc/0011-compat-fix-static_assert.patch b/package/vlc/0011-compat-fix-static_assert.patch deleted file mode 100644 index 7ad2414e46..0000000000 --- a/package/vlc/0011-compat-fix-static_assert.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 6b9c7e7595f8e36d3b221bedb623fa5334f62ce0 Mon Sep 17 00:00:00 2001 -From: Thomas Guillem -Date: Mon, 14 Dec 2015 09:08:25 +0100 -Subject: [PATCH] compat: fix static_assert -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -compat: fix static_assert - -It was not possible to use it outside of functions. - -Signed-off-by: Rémi Denis-Courmont -Signed-off-by: Bernd Kuhls ---- - include/vlc_fixups.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h -index 0d4fcd0c8d..0990915e5f 100644 ---- a/include/vlc_fixups.h -+++ b/include/vlc_fixups.h -@@ -240,7 +240,9 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) - #endif - - #if !defined (HAVE_STATIC_ASSERT) && !defined(__cpp_static_assert) --# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) -+# define STATIC_ASSERT_CONCAT_(a, b) a##b -+# define STATIC_ASSERT_CONCAT(a, b) STATIC_ASSERT_CONCAT_(a, b) -+# define _Static_assert(x, s) extern char STATIC_ASSERT_CONCAT(static_assert_, __LINE__)[sizeof(struct { unsigned:-!(x); })] - # define static_assert _Static_assert - #endif - --- -2.14.3 - diff --git a/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch b/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch deleted file mode 100644 index 58ae02e35c..0000000000 --- a/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 7ce9c408aea03da5787d952747df3be687c92da1 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 17 Dec 2017 12:26:33 +0100 -Subject: [PATCH] Fix build with libupnp above 1.6.23 - -Starting from this release, libupnp has its own compat functions, -backport patch from mainstream: -https://github.com/videolan/vlc/commit/f9c5a343f1a8cad9c2c153f9c05e4e7201675a43#diff-2e66eb8b4fb06845a6426bd4a541d2f7 - -Move UpnpEventPtr declaration in upnp.hpp as done in: -https://github.com/videolan/vlc/commit/3eb4e03512f45c1fa27c7f9a6759e8e7d3905720#diff-ac39568c5e5e1c68776a93dfe0b3c1e6 - -Signed-off-by: Fabrice Fontaine ---- - modules/services_discovery/upnp.cpp | 5 +---- - modules/services_discovery/upnp.hpp | 6 ++++++ - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp -index 9b6ed8727a..cf846602b8 100644 ---- a/modules/services_discovery/upnp.cpp -+++ b/modules/services_discovery/upnp.cpp -@@ -40,11 +40,10 @@ - #include - #include - --#if UPNP_VERSION < 10800 -+#if UPNP_VERSION < 10623 - /* - * Compat functions and typedefs for libupnp prior to 1.8 - */ --typedef void* UpnpEventPtr; - typedef Upnp_Discovery UpnpDiscovery; - typedef Upnp_Action_Complete UpnpActionComplete; - typedef Upnp_Event UpnpEvent; -@@ -74,8 +73,6 @@ static const char* UpnpEventSubscribe_get_SID_cstr( const UpnpEventSubscribe* p_ - { - return p_s->Sid; - } --#else --typedef const void* UpnpEventPtr; - #endif - - /* -diff --git a/modules/services_discovery/upnp.hpp b/modules/services_discovery/upnp.hpp -index 23fe4db9ab..c369a04da6 100644 ---- a/modules/services_discovery/upnp.hpp -+++ b/modules/services_discovery/upnp.hpp -@@ -33,6 +33,12 @@ - - #include - -+#if UPNP_VERSION < 10800 -+typedef void* UpnpEventPtr; -+#else -+typedef const void* UpnpEventPtr; -+#endif -+ - // Classes - class Container; - --- -2.14.3 - diff --git a/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch b/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch deleted file mode 100644 index b9e3272fd4..0000000000 --- a/package/vlc/0013-x264-drop-148-build-support-and-fix-10bit-support.patch +++ /dev/null @@ -1,213 +0,0 @@ -From 5d003fa5df276b62efe82329ef9ce2fd30a34f46 Mon Sep 17 00:00:00 2001 -From: Ilkka Ollakka -Date: Sat, 24 Mar 2018 11:23:33 +0200 -Subject: [PATCH] x264: drop <148 build support and fix 10bit support - -x264: drop <148 build support and fix 10bit support - -Drop old #if as 148 is not that recent anymore. - -fixes #19581 - -Rebased upstream commit -http://git.videolan.org/?p=vlc.git;a=commitdiff;h=a8953ba707cca1f2de372ca24513296bcfcdaaa8 - -Signed-off-by: Bernd Kuhls ---- - modules/codec/x264.c | 65 ++++++++-------------------------------------------- - 1 file changed, 10 insertions(+), 55 deletions(-) - -diff --git a/modules/codec/x264.c b/modules/codec/x264.c -index be5d0006de..96a4b08524 100644 ---- a/modules/codec/x264.c -+++ b/modules/codec/x264.c -@@ -83,13 +83,7 @@ static void x264_log( void *, int i_level, const char *psz, va_list ); - "I-frames, but do not start a new GOP." ) - - #define OPENGOP_TEXT N_("Use recovery points to close GOPs") --#if X264_BUILD < 115 --#define OPENGOP_LONGTEXT N_("none: use closed GOPs only\n"\ -- "normal: use standard open GOPs\n" \ -- "bluray: use Blu-ray compatible open GOPs" ) --#else - #define OPENGOP_LONGTEXT N_("use open GOP, for bluray compatibility use also bluray-compat option") --#endif - - #define BLURAY_TEXT N_("Enable compatibility hacks for Blu-ray support") - #define BLURAY_LONGTEXT N_("Enable hacks for Blu-ray support, this doesn't enforce every aspect of Blu-ray compatibility\n" \ -@@ -471,16 +465,10 @@ vlc_module_begin () - add_integer( SOUT_CFG_PREFIX "min-keyint", 25, MIN_KEYINT_TEXT, - MIN_KEYINT_LONGTEXT, true ) - --#if X264_BUILD >= 102 && X264_BUILD <= 114 -- add_string( SOUT_CFG_PREFIX "opengop", "none", OPENGOP_TEXT, -- OPENGOP_LONGTEXT, true ) -- change_string_list( x264_open_gop_names, x264_open_gop_names ) --#elif X264_BUILD > 114 - add_bool( SOUT_CFG_PREFIX "opengop", false, OPENGOP_TEXT, - OPENGOP_LONGTEXT, true ) - add_bool( SOUT_CFG_PREFIX "bluray-compat", false, BLURAY_TEXT, - BLURAY_LONGTEXT, true ) --#endif - - add_integer( SOUT_CFG_PREFIX "scenecut", 40, SCENE_TEXT, - SCENE_LONGTEXT, true ) -@@ -500,13 +488,8 @@ vlc_module_begin () - B_BIAS_LONGTEXT, true ) - change_integer_range( -100, 100 ) - --#if X264_BUILD >= 87 - add_string( SOUT_CFG_PREFIX "bpyramid", "normal", BPYRAMID_TEXT, - BPYRAMID_LONGTEXT, true ) --#else -- add_string( SOUT_CFG_PREFIX "bpyramid", "none", BPYRAMID_TEXT, -- BPYRAMID_LONGTEXT, true ) --#endif - change_string_list( bpyramid_list, bpyramid_list ) - - add_bool( SOUT_CFG_PREFIX "cabac", true, CABAC_TEXT, CABAC_LONGTEXT, -@@ -543,22 +526,18 @@ vlc_module_begin () - add_bool( SOUT_CFG_PREFIX "interlaced", false, INTERLACED_TEXT, INTERLACED_LONGTEXT, - true ) - --#if X264_BUILD >= 111 - add_integer( SOUT_CFG_PREFIX "frame-packing", -1, FRAMEPACKING_TEXT, FRAMEPACKING_LONGTEXT, true ) - change_integer_list( framepacking_list, framepacking_list_text ) - change_integer_range( -1, 5) --#endif - - add_integer( SOUT_CFG_PREFIX "slices", 0, SLICE_COUNT, SLICE_COUNT_LONGTEXT, true ) - add_integer( SOUT_CFG_PREFIX "slice-max-size", 0, SLICE_MAX_SIZE, SLICE_MAX_SIZE_LONGTEXT, true ) - add_integer( SOUT_CFG_PREFIX "slice-max-mbs", 0, SLICE_MAX_MBS, SLICE_MAX_MBS_LONGTEXT, true ) - --#if X264_BUILD >= 89 - add_string( SOUT_CFG_PREFIX "hrd", "none", HRD_TEXT, HRD_TEXT, true ) - vlc_config_set (VLC_CONFIG_LIST, - (sizeof(x264_nal_hrd_names) / sizeof (char*)) - 1, - x264_nal_hrd_names, x264_nal_hrd_names); --#endif - - - /* Ratecontrol */ -@@ -843,20 +822,14 @@ static int Open ( vlc_object_t *p_this ) - fullrange = var_GetBool( p_enc, SOUT_CFG_PREFIX "fullrange" ); - p_enc->fmt_in.i_codec = fullrange ? VLC_CODEC_J420 : VLC_CODEC_I420; - p_sys->i_colorspace = X264_CSP_I420; --#if X264_BUILD >= 118 - char *psz_profile = var_GetString( p_enc, SOUT_CFG_PREFIX "profile" ); -- if( psz_profile ) -- { -- const int mask = x264_bit_depth > 8 ? X264_CSP_HIGH_DEPTH : 0; -- -- - # ifdef MODULE_NAME_IS_x26410b -- if( mask == 0) -- { -- msg_Err( p_enc, "Only high bith depth encoding supported, bit depth:%d", x264_bit_depth); -- return VLC_EGENERIC; -- } -+ const int mask = X264_CSP_HIGH_DEPTH; -+# else -+ const int mask = 0; - # endif -+ if( psz_profile ) -+ { - - if( !strcmp( psz_profile, "high10" ) ) - { -@@ -879,7 +852,6 @@ static int Open ( vlc_object_t *p_this ) - msg_Err( p_enc, "Only high-profiles and 10-bit are supported"); - return VLC_EGENERIC; - } -- - # endif - } - # ifdef MODULE_NAME_IS_x26410b -@@ -890,7 +862,6 @@ static int Open ( vlc_object_t *p_this ) - } - # endif - free( psz_profile ); --#endif //X264_BUILD - - p_enc->pf_encode_video = Encode; - p_enc->pf_encode_audio = NULL; -@@ -913,6 +884,10 @@ static int Open ( vlc_object_t *p_this ) - #else - x264_param_default( &p_sys->param ); - x264_param_default_preset( &p_sys->param, psz_preset, psz_tune ); -+# if X264_BUILD > 152 -+ if( mask ) -+ p_sys->param.i_bitdepth = 10; -+# endif - #endif - free( psz_preset ); - free( psz_tune ); -@@ -1045,10 +1020,8 @@ static int Open ( vlc_object_t *p_this ) - if( fabs( var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ) - 1.0) > 0.005 ) - p_sys->param.rc.f_aq_strength = var_GetFloat( p_enc, SOUT_CFG_PREFIX "aq-strength" ); - --#if X264_BUILD >= 111 - if( var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ) > -1 ) - p_sys->param.i_frame_packing = var_GetInteger( p_enc, SOUT_CFG_PREFIX "frame-packing" ); --#endif - - if( var_GetBool( p_enc, SOUT_CFG_PREFIX "verbose" ) ) - p_sys->param.i_log_level = X264_LOG_DEBUG; -@@ -1064,26 +1037,14 @@ static int Open ( vlc_object_t *p_this ) - - i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "keyint" ); - if( i_val > 0 && i_val != 250 ) p_sys->param.i_keyint_max = i_val; --#if X264_BUILD >= 102 - if( i_val == -1 ) p_sys->param.i_keyint_max = X264_KEYINT_MAX_INFINITE; --#endif - - i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "min-keyint" ); - if( i_val > 0 && i_val != 25 ) p_sys->param.i_keyint_min = i_val; - --#if X264_BUILD >= 102 && X264_BUILD <= 114 -- psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "opengop" ); -- if( !strcmp( psz_val, "none" ) ) -- p_sys->param.i_open_gop = X264_OPEN_GOP_NONE; -- else if( !strcmp( psz_val, "normal" ) ) -- p_sys->param.i_open_gop = X264_OPEN_GOP_NORMAL; -- else if( !strcmp( psz_val, "bluray" ) ) -- p_sys->param.i_open_gop = X264_OPEN_GOP_BLURAY; -- free( psz_val ); --#elif X264_BUILD >= 115 - p_sys->param.b_open_gop = var_GetBool( p_enc, SOUT_CFG_PREFIX "opengop" ); - p_sys->param.b_bluray_compat = var_GetBool( p_enc, SOUT_CFG_PREFIX "bluray-compat" ); --#endif -+ - i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "bframes" ); - if( i_val >= 0 && i_val <= 16 && i_val != 3 ) - p_sys->param.i_bframe = i_val; -@@ -1121,14 +1082,12 @@ static int Open ( vlc_object_t *p_this ) - if( i_val >= 1 && i_val != 7 ) - p_sys->param.analyse.i_subpel_refine = i_val; - --#if X264_BUILD >= 89 - psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "hrd"); - if( !strcmp( psz_val, "vbr" ) ) - p_sys->param.i_nal_hrd = X264_NAL_HRD_VBR; - else if( !strcmp( psz_val, "cbr" ) ) - p_sys->param.i_nal_hrd = X264_NAL_HRD_CBR; - free( psz_val ); --#endif - - //TODO: psz_val == NULL ? - psz_val = var_GetString( p_enc, SOUT_CFG_PREFIX "me" ); -@@ -1486,11 +1445,7 @@ static block_t *Encode( encoder_t *p_enc, picture_t *p_pict ) - int i_nal=0, i_out=0, i=0; - - /* init pic */ --#if X264_BUILD >= 98 - x264_picture_init( &pic ); --#else -- memset( &pic, 0, sizeof( x264_picture_t ) ); --#endif - if( likely(p_pict) ) { - pic.i_pts = p_pict->date; - pic.img.i_csp = p_sys->i_colorspace; --- -2.14.3 - diff --git a/package/vlc/Config.in b/package/vlc/Config.in index 166e7d256a..fdab3afb2e 100644 --- a/package/vlc/Config.in +++ b/package/vlc/Config.in @@ -9,6 +9,7 @@ config BR2_PACKAGE_VLC depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 select BR2_PACKAGE_LIBVORBIS if BR2_PACKAGE_OPUS @@ -32,7 +33,9 @@ config BR2_PACKAGE_VLC_OPENCV3_BACKEND select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT -comment "vlc needs a toolchain w/ C++, dynamic library, wchar, threads, headers >= 3.7" +comment "vlc needs a toolchain w/ C++, dynamic library, wchar, threads, gcc >= 4.9, headers >= 3.7" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \ + || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 diff --git a/package/vlc/vlc.hash b/package/vlc/vlc.hash index 02b70ef943..ee1b0862fe 100644 --- a/package/vlc/vlc.hash +++ b/package/vlc/vlc.hash @@ -1,8 +1,9 @@ -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha256 -sha256 9bf046848fb56d93518881b39099b8288ee005d5ba0ddf705b6f6643b8d562ec vlc-2.2.8.tar.xz -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha1 -sha1 b960ec5bdb9a51da285430fc68962927ccc87187 vlc-2.2.8.tar.xz -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.md5 -md5 b721fddf65aaf64eeee5629aa9bf7c9e vlc-2.2.8.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.3/vlc-3.0.3.tar.xz.sha256 +sha256 9ba8b04bdb13f7860a2041768ac83b47b397a36549c71c530b94028a3cfd5b51 vlc-3.0.3.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.3/vlc-3.0.3.tar.xz.sha1 +sha1 dd1b7350bb0a7848e172e9dbbe0705ec5bb3d48c vlc-3.0.3.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.3/vlc-3.0.3.tar.xz.md5 +md5 cf01d4755c719fe1c8605ceb40d8f1d2 vlc-3.0.3.tar.xz +# Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk index 9a8ee56256..91e96516ac 100644 --- a/package/vlc/vlc.mk +++ b/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 2.2.8 +VLC_VERSION = 3.0.3 VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ @@ -22,6 +22,10 @@ VLC_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" VLC_CONF_OPTS += --disable-optimizations endif +# configure check for -fstack-protector-strong is broken +VLC_CONF_ENV += \ + ax_cv_check_cflags___fstack_protector_strong=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) + # VLC defines two autoconf functions which are also defined by our own pkg.m4 # from pkgconf. Unfortunately, they are defined in a different way: VLC adds # --enable- options, but pkg.m4 adds --with- options. To make sure we use @@ -36,25 +40,59 @@ VLC_POST_PATCH_HOOKS += VLC_OVERRIDE_PKG_M4 VLC_CONF_OPTS += \ --disable-a52 \ --disable-addonmanagermodules \ + --disable-aom \ + --disable-archive \ + --disable-aribb25 \ + --disable-aribsub \ + --disable-asdcp \ + --disable-bpg \ --disable-caca \ --disable-chromaprint \ + --disable-chromecast \ + --disable-crystalhd \ + --disable-dc1394 \ --disable-dca \ + --disable-decklink \ + --disable-dsm \ + --disable-dv1394 \ + --disable-fluidlite \ --disable-fluidsynth \ - --disable-gles1 \ + --disable-gme \ --disable-goom \ + --disable-gst-decode \ + --disable-harfbuzz \ --disable-jack \ --disable-jpeg \ + --disable-kai \ --disable-kate \ + --disable-kva \ + --disable-libplacebo \ + --disable-libva \ + --disable-linsys \ --disable-mfx \ - --disable-mmal-codec \ - --disable-mmal-vout \ + --disable-microdns \ + --disable-mmal \ + --disable-mpg123 \ --disable-mtp \ + --disable-nfs \ + --disable-notify \ --disable-projectm \ --disable-schroedinger \ + --disable-secret \ + --disable-soxr \ + --disable-shine \ --disable-shout \ + --disable-skins2 \ + --disable-sndio \ + --disable-spatialaudio \ + --disable-srt \ + --disable-telx \ + --disable-tiger \ --disable-twolame \ --disable-vdpau \ --disable-vsxu \ + --disable-wasapi \ + --disable-wayland \ --disable-x262 \ --disable-zvbi \ --enable-run-as-root @@ -88,12 +126,12 @@ else VLC_CONF_OPTS += --disable-alsa endif -# bonjour support needs avahi-client, which needs avahi-daemon and dbus +# avahi support needs avahi-client, which needs avahi-daemon and dbus ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yyy) -VLC_CONF_OPTS += --enable-bonjour -VLC_DEPENDENCIES += avahi dbus +VLC_CONF_OPTS += --enable-avahi +VLC_DEPENDENCIES += avahi else -VLC_CONF_OPTS += --disable-bonjour +VLC_CONF_OPTS += --disable-avahi endif ifeq ($(BR2_PACKAGE_DBUS),y) @@ -103,14 +141,6 @@ else VLC_CONF_OPTS += --disable-dbus endif -ifeq ($(BR2_PACKAGE_DIRECTFB),y) -VLC_CONF_OPTS += --enable-directfb -VLC_CONF_ENV += ac_cv_path_DIRECTFB_CONFIG=$(STAGING_DIR)/usr/bin/directfb-config -VLC_DEPENDENCIES += directfb -else -VLC_CONF_OPTS += --disable-directfb -endif - ifeq ($(BR2_PACKAGE_FAAD2),y) VLC_CONF_OPTS += --enable-faad VLC_DEPENDENCIES += faad2 @@ -145,7 +175,10 @@ VLC_CONF_OPTS += --disable-flac endif ifeq ($(BR2_PACKAGE_FREERDP),y) +VLC_CONF_OPTS += --enable-freerdp VLC_DEPENDENCIES += freerdp +else +VLC_CONF_OPTS += --disable-freerdp endif ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) @@ -240,10 +273,10 @@ VLC_CONF_OPTS += --disable-mad endif ifeq ($(BR2_PACKAGE_LIBMATROSKA),y) -VLC_CONF_OPTS += --enable-mkv +VLC_CONF_OPTS += --enable-matroska VLC_DEPENDENCIES += libmatroska else -VLC_CONF_OPTS += --disable-mkv +VLC_CONF_OPTS += --disable-matroska endif ifeq ($(BR2_PACKAGE_LIBMODPLUG),y) @@ -398,24 +431,13 @@ else VLC_CONF_OPTS += --disable-pulse endif -ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y) +ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5SVG),yy) VLC_CONF_OPTS += --enable-qt -VLC_CONF_ENV += \ - ac_cv_path_MOC=$(HOST_DIR)/bin/moc \ - ac_cv_path_RCC=$(HOST_DIR)/bin/rcc \ - ac_cv_path_UIC=$(HOST_DIR)/bin/uic -VLC_DEPENDENCIES += qt +VLC_DEPENDENCIES += qt5base qt5svg else VLC_CONF_OPTS += --disable-qt endif -ifeq ($(BR2_PACKAGE_SDL_X11),y) -VLC_CONF_OPTS += --enable-sdl -VLC_DEPENDENCIES += sdl -else -VLC_CONF_OPTS += --disable-sdl -endif - ifeq ($(BR2_PACKAGE_SDL_IMAGE),y) VLC_CONF_OPTS += --enable-sdl-image VLC_DEPENDENCIES += sdl_image @@ -473,10 +495,7 @@ VLC_CONF_OPTS += --disable-x265 endif ifeq ($(BR2_PACKAGE_XCB_UTIL_KEYSYMS),y) -VLC_CONF_OPTS += --enable-xcb VLC_DEPENDENCIES += xcb-util-keysyms -else -VLC_CONF_OPTS += --disable-xcb endif ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)