summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD14
-rw-r--r--fix-incompatible-pointer-types.patch177
3 files changed, 191 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 88833120e51f..47c9cad63eb7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = vlc-luajit
pkgdesc = Multi-platform MPEG, VCD/DVD, and DivX player built with luajit for OBS Studio compatibility
pkgver = 3.0.20
- pkgrel = 8
+ pkgrel = 9
url = https://www.videolan.org/vlc/
arch = x86_64
arch = aarch64
@@ -49,7 +49,7 @@ pkgbase = vlc-luajit
makedepends = libvorbis
makedepends = libvpx>=1.14
makedepends = lirc
- makedepends = live-media>=2023.01.19
+ makedepends = live-media>=2024.04.19
makedepends = mesa
makedepends = mpg123>=1.32.2
makedepends = opus
@@ -190,8 +190,10 @@ pkgbase = vlc-luajit
source = https://download.videolan.org/vlc/3.0.20/vlc-3.0.20.tar.xz
source = update-vlc-plugin-cache.hook
source = taglib-2.patch
+ source = fix-incompatible-pointer-types.patch
sha512sums = 02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406
sha512sums = b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3
sha512sums = ea0d1e1dfed16dac8f9027eb55d987dee59630568b9744ceb42bfa134ea9295252d83574f3d793a76a5be3b02661c1731ed366003b6b55b2d7f02fde70586ff3
+ sha512sums = e41c99b08f85ee4e393fa9c7189f76edfe7160e3877d6f56e56de93d752bf15a28502de1417c0ed8008fa348a1e2480b9df0bd33acabe251df00ed2a92618740
pkgname = vlc-luajit
diff --git a/PKGBUILD b/PKGBUILD
index 2456bae9f0ec..d84b1a5ac3d2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@ _vlcver=3.0.20
# optional fixup version including hyphen
_vlcfixupver=
pkgver=${_vlcver}${_vlcfixupver//-/.r}
-pkgrel=8
+pkgrel=9
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player built with luajit for OBS Studio compatibility'
url='https://www.videolan.org/vlc/'
arch=('x86_64' 'aarch64')
@@ -22,7 +22,7 @@ _libdc1394ver=2.2.7
_libmicrodnsver=0.2
_libupnpver=1.14
_libvpxver=1.14
-_livemedia=2023.01.19
+_livemedia=2024.04.19
_mpg123ver=1.32.2
_protobufver=25
_taglibver=2
@@ -217,10 +217,12 @@ provides=("${_name}=${pkgver}")
options=('!emptydirs')
source=(https://download.videolan.org/${_name}/${_vlcver}/${_name}-${_vlcver}${_vlcfixupver}.tar.xz
'update-vlc-plugin-cache.hook'
- 'taglib-2.patch')
+ 'taglib-2.patch'
+ 'fix-incompatible-pointer-types.patch') # https://code.videolan.org/videolan/vlc/-/merge_requests/4645
sha512sums=('02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406'
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
- 'ea0d1e1dfed16dac8f9027eb55d987dee59630568b9744ceb42bfa134ea9295252d83574f3d793a76a5be3b02661c1731ed366003b6b55b2d7f02fde70586ff3')
+ 'ea0d1e1dfed16dac8f9027eb55d987dee59630568b9744ceb42bfa134ea9295252d83574f3d793a76a5be3b02661c1731ed366003b6b55b2d7f02fde70586ff3'
+ 'e41c99b08f85ee4e393fa9c7189f76edfe7160e3877d6f56e56de93d752bf15a28502de1417c0ed8008fa348a1e2480b9df0bd33acabe251df00ed2a92618740')
prepare() {
cd ${_name}-${_vlcver}
@@ -237,6 +239,10 @@ prepare() {
patch -Np1 < "../$src"
done
+ # chromaprint: missing cast
+ # https://code.videolan.org/videolan/vlc/-/commit/770789f265761fc7ab2de69ca105fec4ad93d9e2
+ sed 's/p_buf->p_buffer/(int16_t \*)p_buf->p_buffer/g' -i modules/stream_out/chromaprint.c
+
# Fix to build against libcaca 0.99.beta20 (kept as comment)
#sed -i 's/cucul_/caca_/g' modules/video_output/caca.c
#sed -i 's/CUCUL_COLOR/CACA/g' modules/video_output/caca.c
diff --git a/fix-incompatible-pointer-types.patch b/fix-incompatible-pointer-types.patch
new file mode 100644
index 000000000000..bd26976fbc74
--- /dev/null
+++ b/fix-incompatible-pointer-types.patch
@@ -0,0 +1,177 @@
+From 1e2918115ca2f5c4ffde00dc02ad89525714f6c2 Mon Sep 17 00:00:00 2001
+From: Thomas Guillem <thomas@gllm.fr>
+Date: Tue, 5 Dec 2023 09:23:35 +0100
+Subject: [PATCH 1/5] input: fix incompatible-pointer-types assignment
+
+Fixes #28441
+---
+ src/input/input_internal.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/input/input_internal.h b/src/input/input_internal.h
+index d29731edca1b..ea02f39f5add 100644
+--- a/src/input/input_internal.h
++++ b/src/input/input_internal.h
+@@ -117,7 +117,7 @@ typedef struct input_thread_private_t
+
+ /* Title infos FIXME multi-input (not easy) ? */
+ int i_title;
+- const input_title_t **title;
++ input_title_t * const *title;
+
+ int i_title_offset;
+ int i_seekpoint_offset;
+--
+GitLab
+
+
+From adcf4e66e2ce2c382bb97957c91bfde040f4f3ca Mon Sep 17 00:00:00 2001
+From: Zhao Zhili <quinkblack@foxmail.com>
+Date: Thu, 1 Mar 2018 14:25:59 +0800
+Subject: [PATCH 2/5] yadif: fix variable type
+
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+(cherry picked from commit 77b86f4452be4dbe0d56a9cd1b66da61b116da60)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+---
+ modules/video_filter/deinterlace/yadif.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/modules/video_filter/deinterlace/yadif.h b/modules/video_filter/deinterlace/yadif.h
+index 4bc592ba9307..af16443d0804 100644
+--- a/modules/video_filter/deinterlace/yadif.h
++++ b/modules/video_filter/deinterlace/yadif.h
+@@ -140,10 +140,10 @@ static void yadif_filter_line_c(uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8
+ }
+
+ static void yadif_filter_line_c_16bit(uint8_t *dst8, uint8_t *prev8, uint8_t *cur8, uint8_t *next8, int w, int prefs, int mrefs, int parity, int mode) {
+- uint8_t *dst = (uint8_t *)dst8;
+- uint8_t *prev = (uint8_t *)prev8;
+- uint8_t *cur = (uint8_t *)cur8;
+- uint8_t *next = (uint8_t *)next8;
++ uint16_t *dst = (uint16_t *)dst8;
++ uint16_t *prev = (uint16_t *)prev8;
++ uint16_t *cur = (uint16_t *)cur8;
++ uint16_t *next = (uint16_t *)next8;
+ int x;
+ uint16_t *prev2= parity ? prev : cur ;
+ uint16_t *next2= parity ? cur : next;
+--
+GitLab
+
+
+From 45198e5328ff2b2f4eb2fb76add0789fec26270f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Sun, 3 Mar 2019 09:59:10 +0200
+Subject: [PATCH 3/5] swscale: avoid invalid pointer conversion
+
+(cherry picked from commit ab00e6c59d42e05ab08893091783d8b5febc0058)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+---
+ modules/video_chroma/swscale.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/modules/video_chroma/swscale.c b/modules/video_chroma/swscale.c
+index 8993d11ec5dd..11897527355c 100644
+--- a/modules/video_chroma/swscale.c
++++ b/modules/video_chroma/swscale.c
+@@ -588,8 +588,9 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
+ {
+ filter_sys_t *p_sys = p_filter->p_sys;
+ uint8_t palette[AVPALETTE_SIZE];
+- uint8_t *src[4]; int src_stride[4];
+- uint8_t *dst[4]; int dst_stride[4];
++ uint8_t *src[4], *dst[4];
++ const uint8_t *csrc[4];
++ int src_stride[4], dst_stride[4];
+
+ GetPixels( src, src_stride, p_sys->desc_in, &p_filter->fmt_in.video,
+ p_src, i_plane_count, b_swap_uvi );
+@@ -606,11 +607,14 @@ static void Convert( filter_t *p_filter, struct SwsContext *ctx,
+ GetPixels( dst, dst_stride, p_sys->desc_out, &p_filter->fmt_out.video,
+ p_dst, i_plane_count, b_swap_uvo );
+
++ for (size_t i = 0; i < ARRAY_SIZE(src); i++)
++ csrc[i] = src[i];
++
+ #if LIBSWSCALE_VERSION_INT >= ((0<<16)+(5<<8)+0)
+- sws_scale( ctx, src, src_stride, 0, i_height,
++ sws_scale( ctx, csrc, src_stride, 0, i_height,
+ dst, dst_stride );
+ #else
+- sws_scale_ordered( ctx, src, src_stride, 0, i_height,
++ sws_scale_ordered( ctx, csrc, src_stride, 0, i_height,
+ dst, dst_stride );
+ #endif
+ }
+--
+GitLab
+
+
+From 4431076ad4a21fdcabd3f7ef1d61c45891689b0c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Sun, 3 Mar 2019 17:20:04 +0200
+Subject: [PATCH 4/5] dynamicoverlay: fix variable shadowing
+
+(cherry picked from commit d42e05d6b2c061ae352c131d5aebf8c8d8aa6d35)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+---
+ modules/spu/dynamicoverlay/dynamicoverlay_commands.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
+index a93462925e8a..a85f9aafb0b9 100644
+--- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
++++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
+@@ -899,12 +899,11 @@ static const commanddesc_static_t p_commands[] =
+ void RegisterCommand( filter_t *p_filter )
+ {
+ filter_sys_t *p_sys = (filter_sys_t*) p_filter->p_sys;
+- size_t i_index = 0;
+
+ p_sys->i_commands = ARRAY_SIZE(p_commands);
+ p_sys->pp_commands = (commanddesc_t **) calloc( p_sys->i_commands, sizeof(commanddesc_t*) );
+ if( !p_sys->pp_commands ) return;
+- for( i_index = 0; i_index < p_sys->i_commands; i_index ++ )
++ for( size_t i_index = 0; i_index < p_sys->i_commands; i_index ++ )
+ {
+ p_sys->pp_commands[i_index] = (commanddesc_t *) malloc( sizeof(commanddesc_t) );
+ if( !p_sys->pp_commands[i_index] ) return;
+--
+GitLab
+
+
+From fda14fc7c013eb75291df10cc8b88336c51328ad Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Mon, 26 Feb 2018 20:43:03 +0200
+Subject: [PATCH 5/5] dynamicoverlay: fix memory corruption
+
+Font alpha is 8-bits, not 32-bits.
+
+(cherry picked from commit 6f14081af7325d334a53126c4eea52bc30fc08a0)
+Signed-off-by: Thomas Guillem <thomas@gllm.fr>
+---
+ modules/spu/dynamicoverlay/dynamicoverlay_commands.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
+index a85f9aafb0b9..7a71c6f2373a 100644
+--- a/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
++++ b/modules/spu/dynamicoverlay/dynamicoverlay_commands.c
+@@ -234,8 +234,12 @@ static int parser_SetTextAlpha( char *psz_command, char *psz_end,
+ skip_space( &psz_command );
+ if( isdigit( (unsigned char)*psz_command ) )
+ {
+- if( parse_digit( &psz_command, &p_params->fontstyle.i_font_alpha ) == VLC_EGENERIC )
++ int32_t value;
++
++ if( parse_digit( &psz_command, &value ) == VLC_EGENERIC )
+ return VLC_EGENERIC;
++
++ p_params->fontstyle.i_font_alpha = value;
+ }
+ return VLC_SUCCESS;
+ }
+--
+GitLab
+