diff options
Diffstat (limited to 'meta-multimedia')
20 files changed, 659 insertions, 23 deletions
diff --git a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb index 8fbf9ab2c8..0a9a7499ac 100644 --- a/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb +++ b/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb @@ -11,7 +11,7 @@ SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http \ SRCREV = "11718" PV = "1.10+" -S = "${WORKDIR}/trunk" +S = "${UNPACKDIR}/trunk" inherit cmake diff --git a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb index 542ad3487b..f9115d819b 100644 --- a/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb +++ b/meta-multimedia/recipes-multimedia/dvb-apps/dvb-apps_1.1.1.20140321.bb @@ -33,7 +33,7 @@ do_install() { chmod a+rx ${D}/${libdir}/*.so* cp -R --no-dereference --preserve=mode,links ${S}/util/szap/channels-conf* ${D}/${docdir}/dvb-apps/szap/ cp -R --no-dereference --preserve=mode,links ${S}/util/szap/README ${D}/${docdir}/dvb-apps/szap/ - cp -R --no-dereference --preserve=mode,links ${WORKDIR}/dvb-scan-table/* ${D}/usr/share/dvb + cp -R --no-dereference --preserve=mode,links ${UNPACKDIR}/dvb-scan-table/* ${D}/usr/share/dvb } PACKAGES =+ "dvb-evtest dvb-evtest-dbg \ diff --git a/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb b/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb index 5de717c281..1e5381bb2c 100644 --- a/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb +++ b/meta-multimedia/recipes-multimedia/libdvbcsa/libdvbcsa_1.1.0.bb @@ -15,5 +15,5 @@ inherit autotools lib_package pkgconfig do_install:append() { install -D -m 0644 ${S}/src/dvbcsa/dvbcsa.h ${D}${includedir}/dvbcsa/dvbcsa.h - install -D -m 0644 ${WORKDIR}/libdvbcsa.pc ${D}${libdir}/pkgconfig/libdvbcsa.pc + install -D -m 0644 ${UNPACKDIR}/libdvbcsa.pc ${D}${libdir}/pkgconfig/libdvbcsa.pc } diff --git a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc index 4959a3c8d7..aabf81dce0 100644 --- a/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc +++ b/meta-multimedia/recipes-multimedia/minidlna/minidlna.inc @@ -28,11 +28,11 @@ do_install:append(){ # Systemd script install -d ${D}${nonarch_base_libdir}/systemd/system - install -m 0755 ${WORKDIR}/minidlna.service ${D}${nonarch_base_libdir}/systemd/system + install -m 0755 ${UNPACKDIR}/minidlna.service ${D}${nonarch_base_libdir}/systemd/system # Sysvinit script install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/minidlna-daemon.init.d ${D}${sysconfdir}/init.d/minidlna + install -m 0755 ${UNPACKDIR}/minidlna-daemon.init.d ${D}${sysconfdir}/init.d/minidlna } diff --git a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb index f30fffebeb..33155da7d2 100644 --- a/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb +++ b/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.14.bb @@ -76,7 +76,7 @@ do_install:append() { ${D}/${localstatedir}/lib/mpd/music install -d ${D}/${sysconfdir} - install -m 644 ${WORKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf + install -m 644 ${UNPACKDIR}/mpd.conf.in ${D}/${sysconfdir}/mpd.conf sed -i \ -e 's|%music_directory%|${localstatedir}/lib/mpd/music|' \ -e 's|%playlist_directory%|${localstatedir}/lib/mpd/playlists|' \ diff --git a/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb b/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb index 444bc1cf39..8bedc693ba 100644 --- a/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb +++ b/meta-multimedia/recipes-multimedia/mycroft/mycroft_19.8.1.bb @@ -33,17 +33,17 @@ do_install() { rm -r ${D}${libdir}/mycroft/.git # Install the dev opts so it doesn't ask us on initial setup. - install -m 644 ${WORKDIR}/dev_opts.json ${D}${libdir}/mycroft/.dev_opts.json + install -m 644 ${UNPACKDIR}/dev_opts.json ${D}${libdir}/mycroft/.dev_opts.json if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/mycroft-setup.service ${D}${systemd_unitdir}/system + install -m 644 ${UNPACKDIR}/mycroft-setup.service ${D}${systemd_unitdir}/system sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft-setup.service fi if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/mycroft.service ${D}${systemd_unitdir}/system + install -m 644 ${UNPACKDIR}/mycroft.service ${D}${systemd_unitdir}/system sed -i -e 's,@LIBDIR@,${libdir},g' ${D}${systemd_unitdir}/system/mycroft.service fi } diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2/0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2/0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch new file mode 100644 index 0000000000..ce381a78b3 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2/0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch @@ -0,0 +1,43 @@ +From b1d911fdab4a583f276d18395037d90bfc305109 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 20 May 2024 18:12:23 -0700 +Subject: [PATCH] module-suspend-on-idle: Include time.h for struct timespec + decl + +This is flagged as error with gcc-14 on musl targets + +In file included from ../git/src/pipewire/loop.h:27, + from ../git/src/pipewire/core.h:44, + from ../git/src/modules/module-suspend-on-idle.c:26: +../git/spa/include/spa/support/loop.h:184:37: warning: 'struct timespec' declared inside parameter list will not be visible outside of this definition or declaration + 184 | struct timespec *value, + | ^~~~~~~~ +../git/src/modules/module-suspend-on-idle.c: In function 'node_state_changed': +../git/src/modules/module-suspend-on-idle.c:110:69: error: passing argument 2 of 'main_loop->utils->update_timer' from incompatible pointer type [-Wincompatible-pointer-types] + 110 | pw_loop_update_timer(main_loop, info->idle_timeout, &value, NULL, false); + | ^~~~~~ + | | + | struct timespec * + +Upstream-Status: Inappropriate [Fixed in latest pipewire differently] + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/modules/module-suspend-on-idle.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/modules/module-suspend-on-idle.c b/src/modules/module-suspend-on-idle.c +index e5c1fcb30..4dba3be71 100644 +--- a/src/modules/module-suspend-on-idle.c ++++ b/src/modules/module-suspend-on-idle.c +@@ -20,6 +20,7 @@ + #include <string.h> + #include <stdio.h> + #include <errno.h> ++#include <time.h> + + #include "config.h" + +-- +2.45.1 + diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb index 9895e89761..7c8afd3d51 100644 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire-0.2_git.bb @@ -10,7 +10,9 @@ DEPENDS = "alsa-lib dbus udev" SRCREV = "14c11c0fe4d366bad4cfecdee97b6652ff9ed63d" PV = "0.2.7" -SRC_URI = "git://github.com/PipeWire/pipewire;branch=master;protocol=https" +SRC_URI = "git://github.com/PipeWire/pipewire;branch=master;protocol=https \ + file://0001-module-suspend-on-idle-Include-time.h-for-struct-tim.patch \ + " S = "${WORKDIR}/git" diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.5.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.6.bb index c8ac04d59a..f60ede537b 100644 --- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.5.bb +++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.0.6.bb @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "dbus ncurses" -SRCREV = "a2287be601710eea0d073261223ec34b92384c8a" +SRCREV = "1b8b683a6d7ee9f1c5dcef3fce5f93069f1357c4" SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=1.0;protocol=https" S = "${WORKDIR}/git" diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb index cb919d79e3..e5a8f085bc 100644 --- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb +++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-1080p.bb @@ -11,7 +11,7 @@ inherit allarch do_install() { install -d ${D}${datadir}/movies - install -m 0644 ${WORKDIR}/big_buck_bunny_1080p_surround.avi ${D}${datadir}/movies/ + install -m 0644 ${UNPACKDIR}/big_buck_bunny_1080p_surround.avi ${D}${datadir}/movies/ } FILES:${PN} += "${datadir}/movies" diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb index 40dc2aacb5..37e519790c 100644 --- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb +++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-480p.bb @@ -11,7 +11,7 @@ inherit allarch do_install() { install -d ${D}${datadir}/movies - install -m 0644 ${WORKDIR}/big_buck_bunny_480p_surround-fix.avi ${D}${datadir}/movies/ + install -m 0644 ${UNPACKDIR}/big_buck_bunny_480p_surround-fix.avi ${D}${datadir}/movies/ } FILES:${PN} += "${datadir}/movies" diff --git a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb index ed1d027b40..2b233d3e19 100644 --- a/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb +++ b/meta-multimedia/recipes-multimedia/sample-content/bigbuckbunny-720p.bb @@ -11,7 +11,7 @@ inherit allarch do_install() { install -d ${D}${datadir}/movies - install -m 0644 ${WORKDIR}/big_buck_bunny_720p_surround.avi ${D}${datadir}/movies/ + install -m 0644 ${UNPACKDIR}/big_buck_bunny_720p_surround.avi ${D}${datadir}/movies/ } FILES:${PN} += "${datadir}/movies" diff --git a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb index 78f15f143f..34753fdb18 100644 --- a/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb +++ b/meta-multimedia/recipes-multimedia/sample-content/tearsofsteel-1080p.bb @@ -10,7 +10,7 @@ inherit allarch do_install() { install -d ${D}${datadir}/movies - install -m 0644 ${WORKDIR}/ToS-4k-1920.mov ${D}${datadir}/movies/ + install -m 0644 ${UNPACKDIR}/ToS-4k-1920.mov ${D}${datadir}/movies/ } FILES:${PN} += "${datadir}/movies" diff --git a/meta-multimedia/recipes-multimedia/sox/sox/0001-tests-Include-math.h-for-fabs-definition.patch b/meta-multimedia/recipes-multimedia/sox/sox/0001-tests-Include-math.h-for-fabs-definition.patch new file mode 100644 index 0000000000..5f9135a0ee --- /dev/null +++ b/meta-multimedia/recipes-multimedia/sox/sox/0001-tests-Include-math.h-for-fabs-definition.patch @@ -0,0 +1,33 @@ +From afe336ab63ff9b64ef759255de6b03b897dc4453 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Sun, 19 May 2024 09:09:46 -0700 +Subject: [PATCH] tests: Include math.h for fabs() definition + +Fixes build with gcc-14 + +../../sox-14.4.2/src/sox_sample_test.h:190:3: error: implicit declaration of function 'fabs' [-Wimplicit-function-declaration] + 190 | assert(fabs(d - 1) < 1e-9 && clips == 0); + | ^~~~~~ + ../../sox-14.4.2/src/sox_sample_test.h:23:1: note: include '<math.h>' or provide a declaration of 'fabs' + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/sox_sample_test.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/sox_sample_test.h b/src/sox_sample_test.h +index 62b55e4..17f0069 100644 +--- a/src/sox_sample_test.h ++++ b/src/sox_sample_test.h +@@ -19,6 +19,7 @@ + #undef NDEBUG /* Must undef above assert.h or other that might include it. */ + #endif + #include <assert.h> ++#include <math.h> + #include "sox.h" + + #define TEST_UINT(bits) \ +-- +2.45.1 + diff --git a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb index 011cbc2a9d..800fcad2c9 100644 --- a/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb +++ b/meta-multimedia/recipes-multimedia/sox/sox_14.4.2.bb @@ -30,6 +30,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe \ SRC_URI = "${SOURCEFORGE_MIRROR}/sox/sox-${PV}.tar.gz \ file://0001-remove-the-error-line-and-live-without-file-type-det.patch \ file://0001-Update-exported-symbol-list.patch \ + file://0001-tests-Include-math.h-for-fabs-definition.patch \ " SRC_URI[md5sum] = "d04fba2d9245e661f245de0577f48a33" SRC_URI[sha256sum] = "b45f598643ffbd8e363ff24d61166ccec4836fea6d3888881b8df53e3bb55f6c" diff --git a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb index e261611afd..b513e959d3 100644 --- a/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb +++ b/meta-multimedia/recipes-multimedia/tinyalsa/tinyalsa_2.0.0.bb @@ -4,16 +4,15 @@ HOMEPAGE = "https://github.com/tinyalsa/tinyalsa" SECTION = "libs/multimedia" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://NOTICE;md5=e04cd6fa58488e016f7fb648ebea1db4" +LIC_FILES_CHKSUM = "file://NOTICE;md5=d2918795d9185efcbf430b9ad5cda46d" -SRCREV = "1c5fb68ced57d838f2b7ecd0c00bc1fefc9ab60d" -SRC_URI = "git://github.com/tinyalsa/tinyalsa;branch=master;protocol=https \ - file://0001-fixed-compilation-error-caused-by-strncpy.patch \ - " +PV .= "+git" +SRCREV = "f78ed25aced2dfea743867b8205a787bfb091340" +SRC_URI = "git://github.com/tinyalsa/tinyalsa;branch=master;protocol=https" S = "${WORKDIR}/git" -inherit cmake +inherit meson # tinyalsa is built as a static library. Enable PIC to avoid relocation # errors like these: diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch new file mode 100644 index 0000000000..3f2aa60512 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/4645.patch @@ -0,0 +1,179 @@ +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 +Upstream-Status: Backport [https://code.videolan.org/videolan/vlc/-/merge_requests/4645] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + 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 + diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch new file mode 100644 index 0000000000..c9ef33358e --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/4665.patch @@ -0,0 +1,377 @@ +From 770789f265761fc7ab2de69ca105fec4ad93d9e2 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:36:29 +0200 +Subject: [PATCH 1/9] chromaprint: missing cast + +(cherry picked from commit 7bd5bab3e43ae187f7219db61ed85d06d2ba0547) +Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz> +Upstream-Status: Backport [https://code.videolan.org/videolan/vlc/-/merge_requests/4665] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + modules/stream_out/chromaprint.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules/stream_out/chromaprint.c b/modules/stream_out/chromaprint.c +index 80ec31ba2590..c76cbda3c2bb 100644 +--- a/modules/stream_out/chromaprint.c ++++ b/modules/stream_out/chromaprint.c +@@ -231,7 +231,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id, + if ( !p_sys->b_finished && id->i_samples > 0 && p_buf->i_buffer ) + { + if(! chromaprint_feed( p_sys->p_chromaprint_ctx, +- p_buf->p_buffer, ++ (int16_t *)p_buf->p_buffer, + p_buf->i_buffer / BYTESPERSAMPLE ) ) + msg_Warn( p_stream, "feed error" ); + id->i_samples -= i_samples; +-- +GitLab + + +From 6179d6b843f2a93af6a3d51c4244766e3eba9e77 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net> +Date: Sun, 14 Apr 2019 09:41:38 +0300 +Subject: [PATCH 2/9] win32: wrap {g,s}etsockopt() + +char * can alias anything, and Winsock relies on that. Unfortunately, +the compiler still issues warnings. This works around that. + +(cherry picked from commit 36715d9b79f34824e126c2bc3aee2f1c1c16af46) +Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz> +--- + include/vlc_network.h | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/include/vlc_network.h b/include/vlc_network.h +index 010454a01c09..e39ffd0bacaa 100644 +--- a/include/vlc_network.h ++++ b/include/vlc_network.h +@@ -183,6 +183,22 @@ VLC_API int vlc_close(int); + + /** @} */ + ++#ifdef _WIN32 ++static inline int vlc_getsockopt(int s, int level, int name, ++ void *val, socklen_t *len) ++{ ++ return getsockopt(s, level, name, (char *)val, len); ++} ++#define getsockopt vlc_getsockopt ++ ++static inline int vlc_setsockopt(int s, int level, int name, ++ const void *val, socklen_t len) ++{ ++ return setsockopt(s, level, name, (const char *)val, len); ++} ++#define setsockopt vlc_setsockopt ++#endif ++ + /* Portable network names/addresses resolution layer */ + + #define NI_MAXNUMERICHOST 64 +-- +GitLab + + +From 3391108f9709f0d77d9297c94371cf9cd30f2cbe Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Thu, 7 Dec 2023 15:43:04 +0100 +Subject: [PATCH 3/9] netsync: use char for temporary local buffer + +On Windows recvfrom/revc/sendto expects a char*. +--- + modules/control/netsync.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/modules/control/netsync.c b/modules/control/netsync.c +index 2a6a1a6a2bf8..8c91034d7cf2 100644 +--- a/modules/control/netsync.c ++++ b/modules/control/netsync.c +@@ -181,7 +181,7 @@ static void *Master(void *handle) + intf_sys_t *sys = intf->p_sys; + for (;;) { + struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, }; +- uint64_t data[2]; ++ char data[16]; + + if (poll(&ufd, 1, -1) < 0) + continue; +@@ -198,8 +198,8 @@ static void *Master(void *handle) + if (master_system < 0) + continue; + +- data[0] = hton64(mdate()); +- data[1] = hton64(master_system); ++ SetQWBE(&data[0], mdate()); ++ SetQWBE(&data[8], master_system); + + /* Reply to the sender */ + sendto(sys->fd, data, 16, 0, +@@ -224,7 +224,7 @@ static void *Slave(void *handle) + + for (;;) { + struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, }; +- uint64_t data[2]; ++ char data[16]; + + vlc_tick_t system = GetPcrSystem(sys->input); + if (system < 0) +@@ -233,7 +233,7 @@ static void *Slave(void *handle) + /* Send clock request to the master */ + const vlc_tick_t send_date = mdate(); + +- data[0] = hton64(system); ++ SetQWBE(&data[0], system); + send(sys->fd, data, 8, 0); + + /* Don't block */ +@@ -244,8 +244,8 @@ static void *Slave(void *handle) + if (recv(sys->fd, data, 16, 0) < 16) + goto wait; + +- const vlc_tick_t master_date = ntoh64(data[0]); +- const vlc_tick_t master_system = ntoh64(data[1]); ++ const vlc_tick_t master_date = GetQWBE(&data[0]); ++ const vlc_tick_t master_system = GetQWBE(&data[8]); + const vlc_tick_t diff_date = receive_date - + ((receive_date - send_date) / 2 + master_date); + +-- +GitLab + + +From 27e584d7b9add8dbbb82b7227228e1ec1e25a089 Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Tue, 3 Jan 2023 13:23:00 +0100 +Subject: [PATCH 4/9] access/dtv: move the lfind() Windows hack in the module + +So that we don't have to include search.h each time vlc_fixups.h is used. + +The Win32 prototype of lfind() expects an unsigned* for 'nelp', not a size_t*. + +(cherry picked from commit 7c43bcba27b6fe256456d93a9d32e10648f08da8) +Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz> +--- + include/vlc_fixups.h | 3 +++ + modules/access/dtv/access.c | 5 +++++ + 2 files changed, 8 insertions(+) + +diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h +index 37f788933779..861cb4cc5063 100644 +--- a/include/vlc_fixups.h ++++ b/include/vlc_fixups.h +@@ -501,8 +501,11 @@ void *tsearch( const void *key, void **rootp, int(*cmp)(const void *, const void + void *tfind( const void *key, const void **rootp, int(*cmp)(const void *, const void *) ); + void *tdelete( const void *key, void **rootp, int(*cmp)(const void *, const void *) ); + void twalk( const void *root, void(*action)(const void *nodep, VISIT which, int depth) ); ++#ifndef _WIN32 ++/* the Win32 prototype of lfind() expects an unsigned* for 'nmemb' */ + void *lfind( const void *key, const void *base, size_t *nmemb, + size_t size, int(*cmp)(const void *, const void *) ); ++#endif + #endif /* HAVE_SEARCH_H */ + #ifndef HAVE_TDESTROY + void tdestroy( void *root, void (*free_node)(void *nodep) ); +diff --git a/modules/access/dtv/access.c b/modules/access/dtv/access.c +index d9756c7b4885..c6ca5005883c 100644 +--- a/modules/access/dtv/access.c ++++ b/modules/access/dtv/access.c +@@ -32,6 +32,11 @@ + #ifdef HAVE_SEARCH_H + #include <search.h> + #endif ++#if defined(_WIN32) ++/* the Win32 prototype of lfind() expects an unsigned* for 'nelp' */ ++# define lfind(a,b,c,d,e) \ ++ lfind((a),(b), &(unsigned){ (*(c) > UINT_MAX) ? UINT_MAX : *(c) }, (d),(e)) ++#endif + + #include "dtv/dtv.h" + +-- +GitLab + + +From 5a9ca37a95b6e85e6beaaefba9aa4a886a45411c Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Mon, 15 Jul 2019 12:41:29 +0200 +Subject: [PATCH 5/9] vlc_common: fix swab() calls on win32 that don't use + const on source pointer + +(cherry picked from commit a9e0b1124e19225b903a2926951781e84002c410) +Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz> +--- + include/vlc_common.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/include/vlc_common.h b/include/vlc_common.h +index 8090b277150d..089878581763 100644 +--- a/include/vlc_common.h ++++ b/include/vlc_common.h +@@ -947,6 +947,11 @@ static inline void SetQWLE (void *p, uint64_t qw) + # define O_NONBLOCK 0 + # endif + ++/* the mingw32 swab() and win32 _swab() prototypes expect a char* instead of a ++ const void* */ ++# define swab(a,b,c) swab((char*) (a), (char*) (b), (c)) ++ ++ + # include <tchar.h> + #endif /* _WIN32 */ + +-- +GitLab + + +From b758e19479a80604e3feb470b197e4a13a203a85 Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Wed, 10 Jul 2019 08:23:45 +0200 +Subject: [PATCH 6/9] avcodec: encoder: fix MPEG4 matrix passed as const + +lavc expects a pointer that it will free in avcodec_free_context(). + +(cherry picked from commit d86c4c87aa78130a4fd00294e25df865d0e2b327) +Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz> +--- + modules/codec/avcodec/encoder.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c +index 2b1c3604713d..4919ccf0e0e4 100644 +--- a/modules/codec/avcodec/encoder.c ++++ b/modules/codec/avcodec/encoder.c +@@ -588,8 +588,14 @@ int InitVideoEnc( vlc_object_t *p_this ) + + if ( p_sys->b_mpeg4_matrix ) + { +- p_context->intra_matrix = mpeg4_default_intra_matrix; +- p_context->inter_matrix = mpeg4_default_non_intra_matrix; ++ p_context->intra_matrix = av_malloc( sizeof(mpeg4_default_intra_matrix) ); ++ if ( p_context->intra_matrix ) ++ memcpy( p_context->intra_matrix, mpeg4_default_intra_matrix, ++ sizeof(mpeg4_default_intra_matrix)); ++ p_context->inter_matrix = av_malloc( sizeof(mpeg4_default_non_intra_matrix) ); ++ if ( p_context->inter_matrix ) ++ memcpy( p_context->inter_matrix, mpeg4_default_non_intra_matrix, ++ sizeof(mpeg4_default_non_intra_matrix)); + } + + if ( p_sys->b_pre_me ) +-- +GitLab + + +From 55be3ce60795a09d13861c5637c1fe7aebc5ce8b Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Thu, 7 Dec 2023 14:18:22 +0100 +Subject: [PATCH 7/9] smb: fix potential string to wide string copy + +The type of net_resource depends on the UNICODE define. +--- + modules/access/smb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules/access/smb.c b/modules/access/smb.c +index 5fe56f0c9dfe..6add2a3e6278 100644 +--- a/modules/access/smb.c ++++ b/modules/access/smb.c +@@ -524,7 +524,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server, + const char *psz_pwd, const char *psz_domain ) + { + char psz_remote[MAX_PATH]; +- NETRESOURCE net_resource; ++ NETRESOURCEA net_resource; + DWORD i_result; + VLC_UNUSED( psz_domain ); + +@@ -544,7 +544,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server, + + net_resource.lpRemoteName = psz_remote; + +- i_result = WNetAddConnection2( &net_resource, psz_pwd, psz_user, 0 ); ++ i_result = WNetAddConnection2A( &net_resource, psz_pwd, psz_user, 0 ); + + if( i_result != NO_ERROR ) + { +-- +GitLab + + +From 5ae924bf212dce64a6424561d92426dbcc2cf3a0 Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Wed, 6 Dec 2023 14:45:46 +0100 +Subject: [PATCH 8/9] dxva2: add missing mask initializers + +--- + modules/codec/avcodec/dxva2.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c +index 18b872fe0fe3..2e6809a05410 100644 +--- a/modules/codec/avcodec/dxva2.c ++++ b/modules/codec/avcodec/dxva2.c +@@ -84,12 +84,12 @@ DEFINE_GUID(DXVA_Intel_H264_NoFGT_ClearVideo, 0x604F8E68, 0x4951, 0x4c54, + + /* XXX Preferred format must come first */ + static const d3d9_format_t d3d_formats[] = { +- { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12 }, +- { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12 }, +- //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12 }, +- { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010 }, ++ { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12, 0,0,0 }, ++ { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12, 0,0,0 }, ++ //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12, 0,0,0 }, ++ { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010, 0,0,0 }, + +- { NULL, 0, 0 } ++ { NULL, 0, 0, 0,0,0 } + }; + + static const d3d9_format_t *D3dFindFormat(D3DFORMAT format) +-- +GitLab + + +From 08c7a66780740679ba1b0abe9e30e73afc6bc271 Mon Sep 17 00:00:00 2001 +From: Steve Lhomme <robux4@ycbcr.xyz> +Date: Wed, 6 Dec 2023 07:48:29 +0100 +Subject: [PATCH 9/9] win32/modules: use cast with GetProcAddress function + pointers + +--- + src/text/url.c | 3 ++- + src/win32/plugin.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/text/url.c b/src/text/url.c +index b962eb31f849..2eb4b8d10817 100644 +--- a/src/text/url.c ++++ b/src/text/url.c +@@ -892,7 +892,8 @@ static int IdnToAscii(DWORD flags, LPCWSTR str, int len, LPWSTR buf, int size) + int (WINAPI *IdnToAsciiReal)(DWORD, LPCWSTR, int, LPWSTR, int); + int ret = 0; + +- IdnToAsciiReal = GetProcAddress(h, "IdnToAscii"); ++ IdnToAsciiReal = (int (WINAPI *)(DWORD, LPCWSTR, int, LPWSTR, int)) ++ GetProcAddress(h, "IdnToAscii"); + if (IdnToAsciiReal != NULL) + ret = IdnToAsciiReal(flags, str, len, buf, size); + else +diff --git a/src/win32/plugin.c b/src/win32/plugin.c +index 1a65521fca75..b5c336eb99ca 100644 +--- a/src/win32/plugin.c ++++ b/src/win32/plugin.c +@@ -45,7 +45,8 @@ static BOOL WINAPI SetThreadErrorModeFallback(DWORD mode, DWORD *oldmode) + + BOOL (WINAPI *SetThreadErrorModeReal)(DWORD, DWORD *); + +- SetThreadErrorModeReal = GetProcAddress(h, "SetThreadErrorMode"); ++ SetThreadErrorModeReal = (BOOL (WINAPI *)(DWORD, DWORD *)) ++ GetProcAddress(h, "SetThreadErrorMode"); + if (SetThreadErrorModeReal != NULL) + return SetThreadErrorModeReal(mode, oldmode); + +-- +GitLab + diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb index 21bc408f6d..2a6b27add0 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.20.bb @@ -25,6 +25,8 @@ SRC_URI = "https://get.videolan.org/${BPN}/${PV}/${BP}.tar.xz \ file://0006-configure-Disable-incompatible-function-pointer-type.patch \ file://taglib-2.patch \ file://0001-taglib-Fix-build-on-x86-32-bit.patch \ + file://4645.patch \ + file://4665.patch \ " SRC_URI[sha256sum] = "adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5" diff --git a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.1.bb b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.2.bb index 9115076a24..6ab48285ca 100644 --- a/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.1.bb +++ b/meta-multimedia/recipes-multimedia/wireplumber/wireplumber_0.5.2.bb @@ -10,7 +10,7 @@ DEPENDS = "glib-2.0 glib-2.0-native lua pipewire \ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "python3-native python3-lxml-native doxygen-native", "", d)} \ " -SRCREV = "961450b2ac700e8c9c85a0beb2426b875fa08bff" +SRCREV = "b302ebd6ab66fd538191d22db4ebe02bcef87a91" SRC_URI = " \ git://gitlab.freedesktop.org/pipewire/wireplumber.git;branch=master;protocol=https \ file://90-OE-disable-session-dbus-dependent-features.lua \ @@ -54,7 +54,7 @@ WP_MODULE_SUBDIR = "wireplumber-0.5" do_install:append() { if ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'false', 'true', d)}; then - install -m 0644 ${WORKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d + install -m 0644 ${UNPACKDIR}/90-OE-disable-session-dbus-dependent-features.lua ${D}${datadir}/wireplumber/main.lua.d fi } |