diff options
author | Khem Raj <raj.khem@gmail.com> | 2023-03-05 14:31:13 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-03-05 14:34:38 -0800 |
commit | 9a6d101195f791d81d80eb06b6918a2e0b932e8b (patch) | |
tree | c69156f77b3658131c1e0838d20b65faacc7fe03 /meta-multimedia | |
parent | d61066d08da5fd8719ff703f18124479e8484b79 (diff) | |
download | meta-openembedded-9a6d101195f791d81d80eb06b6918a2e0b932e8b.tar.gz |
vlc: Upgrade to 3.0.18
Drop 64-bit time_t patch, its already fixed in 3.0.18
Add patches to fix buld with clang16 and musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia')
8 files changed, 88 insertions, 107 deletions
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch deleted file mode 100644 index e1383c826..000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | From 1068c7451855c3f9acde9af265b5a790073b1641 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 2 Mar 2021 14:28:27 -0800 | ||
4 | Subject: [PATCH] include <limits> header | ||
5 | |||
6 | Fixes | ||
7 | SegmentInformation.cpp:397:49: error: '::max' has not been declared; d | ||
8 | id you mean 'std::max'? | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | modules/demux/adaptive/playlist/SegmentInformation.cpp | 1 + | ||
14 | modules/demux/hls/playlist/Parser.cpp | 1 + | ||
15 | 2 files changed, 2 insertions(+) | ||
16 | |||
17 | diff --git a/modules/demux/adaptive/playlist/SegmentInformation.cpp b/modules/demux/adaptive/playlist/SegmentInformation.cpp | ||
18 | index 344e155..8eeb054 100644 | ||
19 | --- a/modules/demux/adaptive/playlist/SegmentInformation.cpp | ||
20 | +++ b/modules/demux/adaptive/playlist/SegmentInformation.cpp | ||
21 | @@ -34,6 +34,7 @@ | ||
22 | |||
23 | #include <algorithm> | ||
24 | #include <cassert> | ||
25 | +#include <limits> | ||
26 | |||
27 | using namespace adaptive::playlist; | ||
28 | |||
29 | diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp | ||
30 | index 67110e4..7439699 100644 | ||
31 | --- a/modules/demux/hls/playlist/Parser.cpp | ||
32 | +++ b/modules/demux/hls/playlist/Parser.cpp | ||
33 | @@ -42,6 +42,7 @@ | ||
34 | #include <map> | ||
35 | #include <cctype> | ||
36 | #include <algorithm> | ||
37 | +#include <limits> | ||
38 | |||
39 | using namespace adaptive; | ||
40 | using namespace adaptive::playlist; | ||
41 | -- | ||
42 | 2.30.1 | ||
43 | |||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch index 950c09b8a..cc65af009 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch | |||
@@ -5,11 +5,9 @@ Upstream-Status: Inappropriate [configuration] | |||
5 | 5 | ||
6 | Signed-off-by: Tim Orling <TicoTimo@gmail.com> | 6 | Signed-off-by: Tim Orling <TicoTimo@gmail.com> |
7 | 7 | ||
8 | Index: vlc-2.1.4/configure.ac | 8 | --- a/configure.ac |
9 | =================================================================== | 9 | +++ b/configure.ac |
10 | --- vlc-2.1.4.orig/configure.ac | 10 | @@ -1892,7 +1892,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu |
11 | +++ vlc-2.1.4/configure.ac | ||
12 | @@ -1693,7 +1693,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu | ||
13 | dnl | 11 | dnl |
14 | dnl OpenCV wrapper and example filters | 12 | dnl OpenCV wrapper and example filters |
15 | dnl | 13 | dnl |
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch index b174ec127..8ecddd33c 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch | |||
@@ -4,11 +4,9 @@ Upstream-Status: Pending | |||
4 | 4 | ||
5 | Signed-off-by: Tim Orling <TicoTimo@gmail.com> | 5 | Signed-off-by: Tim Orling <TicoTimo@gmail.com> |
6 | 6 | ||
7 | Index: vlc-2.2.1/modules/codec/Makefile.am | 7 | --- a/modules/codec/Makefile.am |
8 | =================================================================== | 8 | +++ b/modules/codec/Makefile.am |
9 | --- vlc-2.2.1.orig/modules/codec/Makefile.am | 9 | @@ -321,7 +321,7 @@ codec_LTLIBRARIES += $(LTLIBdaala) |
10 | +++ vlc-2.2.1/modules/codec/Makefile.am | ||
11 | @@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora) | ||
12 | libtremor_plugin_la_SOURCES = codec/vorbis.c | 10 | libtremor_plugin_la_SOURCES = codec/vorbis.c |
13 | libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor | 11 | libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor |
14 | libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' | 12 | libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' |
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch index 424aaa281..078ac41ca 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch | |||
@@ -13,11 +13,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
13 | configure.ac | 31 +++++++++++-------------------- | 13 | configure.ac | 31 +++++++++++-------------------- |
14 | 1 file changed, 11 insertions(+), 20 deletions(-) | 14 | 1 file changed, 11 insertions(+), 20 deletions(-) |
15 | 15 | ||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index d7cf692..f81b99d 100644 | ||
18 | --- a/configure.ac | 16 | --- a/configure.ac |
19 | +++ b/configure.ac | 17 | +++ b/configure.ac |
20 | @@ -3427,27 +3427,18 @@ AC_ARG_ENABLE(mmal, | 18 | @@ -3461,27 +3461,18 @@ AC_ARG_ENABLE(mmal, |
21 | AS_HELP_STRING([--enable-mmal], | 19 | AS_HELP_STRING([--enable-mmal], |
22 | [Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)])) | 20 | [Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)])) |
23 | if test "${enable_mmal}" != "no"; then | 21 | if test "${enable_mmal}" != "no"; then |
@@ -56,6 +54,3 @@ index d7cf692..f81b99d 100644 | |||
56 | 54 | ||
57 | dnl | 55 | dnl |
58 | dnl evas plugin | 56 | dnl evas plugin |
59 | -- | ||
60 | 2.26.1 | ||
61 | |||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch new file mode 100644 index 000000000..cbf4f2b91 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch | |||
@@ -0,0 +1,47 @@ | |||
1 | From a46cee56d05884b8020ace6f67ef8389ac1845da Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 5 Mar 2023 13:50:40 -0800 | ||
4 | Subject: [PATCH 1/3] ioctl does not have same signature between glibc and musl | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | --- | ||
9 | modules/access/v4l2/lib.c | 4 ++++ | ||
10 | modules/access/v4l2/v4l2.h | 4 ++++ | ||
11 | 2 files changed, 8 insertions(+) | ||
12 | |||
13 | diff --git a/modules/access/v4l2/lib.c b/modules/access/v4l2/lib.c | ||
14 | index b212e1bc5f..ff7c66bf35 100644 | ||
15 | --- a/modules/access/v4l2/lib.c | ||
16 | +++ b/modules/access/v4l2/lib.c | ||
17 | @@ -43,7 +43,11 @@ int (*v4l2_fd_open) (int, int) = fd_open; | ||
18 | //int (*v4l2_open) (const char *, int, ...) = open; | ||
19 | //int (*v4l2_dup) (const char *, int, ...) = dup; | ||
20 | int (*v4l2_close) (int) = close; | ||
21 | +#ifdef __GLIBC__ | ||
22 | int (*v4l2_ioctl) (int, unsigned long int, ...) = ioctl; | ||
23 | +#else | ||
24 | +int (*v4l2_ioctl) (int, int, ...) = ioctl; | ||
25 | +#endif | ||
26 | ssize_t (*v4l2_read) (int, void *, size_t) = read; | ||
27 | //ssize_t (*v4l2_write) (int, const void *, size_t) = write; | ||
28 | void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t) = mmap; | ||
29 | diff --git a/modules/access/v4l2/v4l2.h b/modules/access/v4l2/v4l2.h | ||
30 | index ac4562e269..727e83e9b1 100644 | ||
31 | --- a/modules/access/v4l2/v4l2.h | ||
32 | +++ b/modules/access/v4l2/v4l2.h | ||
33 | @@ -23,7 +23,11 @@ | ||
34 | /* libv4l2 functions */ | ||
35 | extern int (*v4l2_fd_open) (int, int); | ||
36 | extern int (*v4l2_close) (int); | ||
37 | +#ifdef __GLIBC__ | ||
38 | extern int (*v4l2_ioctl) (int, unsigned long int, ...); | ||
39 | +#else | ||
40 | +extern int (*v4l2_ioctl) (int, int, ...); | ||
41 | +#endif | ||
42 | extern ssize_t (*v4l2_read) (int, void *, size_t); | ||
43 | extern void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t); | ||
44 | extern int (*v4l2_munmap) (void *, size_t); | ||
45 | -- | ||
46 | 2.39.2 | ||
47 | |||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch deleted file mode 100644 index 405490dcf..000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | From f7957c35654222e5bd1038341612bbb40a88e98b Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 16 Nov 2020 12:08:43 -0800 | ||
4 | Subject: [PATCH] linux/thread: Use SYS_futex instead of __NR_futex | ||
5 | |||
6 | SYS_futex it expected from system C library. | ||
7 | in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex) | ||
8 | some newer 32bit architectures e.g. riscv32 are using 64bit time_t from | ||
9 | get go unlike other 32bit architectures in glibc, therefore it wont have | ||
10 | NR_futex defined but just NR_futex_time64 this aliases it to NR_futex so | ||
11 | that SYS_futex is then defined for rv32 | ||
12 | |||
13 | Upstream-Status: Submitted [https://github.com/videolan/vlc/pull/117] | ||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | --- | ||
16 | src/linux/thread.c | 7 ++++++- | ||
17 | 1 file changed, 6 insertions(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/src/linux/thread.c b/src/linux/thread.c | ||
20 | index 20da296..30639a3 100644 | ||
21 | --- a/src/linux/thread.c | ||
22 | +++ b/src/linux/thread.c | ||
23 | @@ -30,6 +30,11 @@ | ||
24 | #include <sys/syscall.h> | ||
25 | #include <linux/futex.h> | ||
26 | |||
27 | +/* 32bit architectures with 64bit time_t do not define __NR_futex syscall */ | ||
28 | +#if !defined(SYS_futex) && defined(SYS_futex_time64) | ||
29 | +#define SYS_futex SYS_futex_time64 | ||
30 | +#endif | ||
31 | + | ||
32 | #ifndef FUTEX_PRIVATE_FLAG | ||
33 | #define FUTEX_WAKE_PRIVATE FUTEX_WAKE | ||
34 | #define FUTEX_WAIT_PRIVATE FUTEX_WAIT | ||
35 | @@ -50,7 +55,7 @@ unsigned long vlc_thread_id(void) | ||
36 | static int sys_futex(void *addr, int op, unsigned val, | ||
37 | const struct timespec *to, void *addr2, int val3) | ||
38 | { | ||
39 | - return syscall(__NR_futex, addr, op, val, to, addr2, val3); | ||
40 | + return syscall(SYS_futex, addr, op, val, to, addr2, val3); | ||
41 | } | ||
42 | |||
43 | static int vlc_futex_wake(void *addr, int nr) | ||
44 | -- | ||
45 | 2.29.2 | ||
46 | |||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch new file mode 100644 index 000000000..4128db1ae --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sun, 5 Mar 2023 14:13:25 -0800 | ||
4 | Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types | ||
5 | warning | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
9 | --- | ||
10 | configure.ac | 5 +++++ | ||
11 | 1 file changed, 5 insertions(+) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index 9f1c099e13..8e45a05808 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -98,6 +98,11 @@ AS_IF([test -n "${with_binary_version}"],[ | ||
18 | dnl Prevent clang from accepting unknown flags with a mere warning | ||
19 | AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS]) | ||
20 | AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS]) | ||
21 | +dnl disable clang from erroring on function pointer protype mismatch, vlc seems to rely on that | ||
22 | +dnl especially in modules/video_filter/deinterlace/algo_yadif.c how it interpolates 'filter` variable | ||
23 | +dnl between different functions yadif_filter_line_c_16bit() and yadif_filter_line_c() | ||
24 | +AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CFLAGS]) | ||
25 | +AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CXXFLAGS]) | ||
26 | |||
27 | dnl | ||
28 | dnl Check the operating system | ||
29 | -- | ||
30 | 2.39.2 | ||
31 | |||
diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.17-1.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb index 9b85cb537..dd6eceae5 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.17-1.bb +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb | |||
@@ -21,9 +21,10 @@ SRC_URI = "git://github.com/videolan/vlc.git;protocol=https;branch=3.0.x \ | |||
21 | file://0002-use-vorbisidec.patch \ | 21 | file://0002-use-vorbisidec.patch \ |
22 | file://0003-fix-luaL-checkint.patch \ | 22 | file://0003-fix-luaL-checkint.patch \ |
23 | file://0004-Use-packageconfig-to-detect-mmal-support.patch \ | 23 | file://0004-Use-packageconfig-to-detect-mmal-support.patch \ |
24 | file://0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch \ | 24 | file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \ |
25 | file://0006-configure-Disable-incompatible-function-pointer-type.patch \ | ||
25 | " | 26 | " |
26 | SRCREV = "aa76328c572d93f1d99c867a94ecad1dc3259733" | 27 | SRCREV = "e9eceaed4d838dbd84638bfb2e4bdd08294163b1" |
27 | S = "${WORKDIR}/git" | 28 | S = "${WORKDIR}/git" |
28 | 29 | ||
29 | inherit autotools-brokensep features_check gettext pkgconfig mime-xdg | 30 | inherit autotools-brokensep features_check gettext pkgconfig mime-xdg |