summaryrefslogtreecommitdiffstats
path: root/meta-multimedia
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2023-03-05 14:31:13 -0800
committerKhem Raj <raj.khem@gmail.com>2023-03-05 14:34:38 -0800
commit9a6d101195f791d81d80eb06b6918a2e0b932e8b (patch)
treec69156f77b3658131c1e0838d20b65faacc7fe03 /meta-multimedia
parentd61066d08da5fd8719ff703f18124479e8484b79 (diff)
downloadmeta-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')
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch43
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch8
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch8
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch7
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch47
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch46
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch31
-rw-r--r--meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb (renamed from meta-multimedia/recipes-multimedia/vlc/vlc_3.0.17-1.bb)5
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 @@
1From 1068c7451855c3f9acde9af265b5a790073b1641 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 2 Mar 2021 14:28:27 -0800
4Subject: [PATCH] include <limits> header
5
6Fixes
7SegmentInformation.cpp:397:49: error: '::max' has not been declared; d
8id you mean 'std::max'?
9
10Upstream-Status: Pending
11Signed-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
17diff --git a/modules/demux/adaptive/playlist/SegmentInformation.cpp b/modules/demux/adaptive/playlist/SegmentInformation.cpp
18index 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
29diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp
30index 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--
422.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
6Signed-off-by: Tim Orling <TicoTimo@gmail.com> 6Signed-off-by: Tim Orling <TicoTimo@gmail.com>
7 7
8Index: 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
5Signed-off-by: Tim Orling <TicoTimo@gmail.com> 5Signed-off-by: Tim Orling <TicoTimo@gmail.com>
6 6
7Index: 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
16diff --git a/configure.ac b/configure.ac
17index 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--
602.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 @@
1From a46cee56d05884b8020ace6f67ef8389ac1845da Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 5 Mar 2023 13:50:40 -0800
4Subject: [PATCH 1/3] ioctl does not have same signature between glibc and musl
5
6Upstream-Status: Pending
7Signed-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
13diff --git a/modules/access/v4l2/lib.c b/modules/access/v4l2/lib.c
14index 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;
29diff --git a/modules/access/v4l2/v4l2.h b/modules/access/v4l2/v4l2.h
30index 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--
462.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 @@
1From f7957c35654222e5bd1038341612bbb40a88e98b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 16 Nov 2020 12:08:43 -0800
4Subject: [PATCH] linux/thread: Use SYS_futex instead of __NR_futex
5
6SYS_futex it expected from system C library.
7in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex)
8some newer 32bit architectures e.g. riscv32 are using 64bit time_t from
9get go unlike other 32bit architectures in glibc, therefore it wont have
10NR_futex defined but just NR_futex_time64 this aliases it to NR_futex so
11that SYS_futex is then defined for rv32
12
13Upstream-Status: Submitted [https://github.com/videolan/vlc/pull/117]
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 src/linux/thread.c | 7 ++++++-
17 1 file changed, 6 insertions(+), 1 deletion(-)
18
19diff --git a/src/linux/thread.c b/src/linux/thread.c
20index 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--
452.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 @@
1From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 5 Mar 2023 14:13:25 -0800
4Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types
5 warning
6
7Upstream-Status: Pending
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 configure.ac | 5 +++++
11 1 file changed, 5 insertions(+)
12
13diff --git a/configure.ac b/configure.ac
14index 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--
302.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"
26SRCREV = "aa76328c572d93f1d99c867a94ecad1dc3259733" 27SRCREV = "e9eceaed4d838dbd84638bfb2e4bdd08294163b1"
27S = "${WORKDIR}/git" 28S = "${WORKDIR}/git"
28 29
29inherit autotools-brokensep features_check gettext pkgconfig mime-xdg 30inherit autotools-brokensep features_check gettext pkgconfig mime-xdg