diff options
Diffstat (limited to 'meta-openembedded/meta-multimedia')
20 files changed, 428 insertions, 144 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb index 7c09e39d66..bd2df5d8d6 100644 --- a/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb +++ b/meta-openembedded/meta-multimedia/recipes-dvb/oscam/oscam_svn.bb @@ -8,7 +8,7 @@ DEPENDS = "libusb1 openssl pcsc-lite" SRC_URI = "svn://www.streamboard.tv/svn/oscam;module=trunk;protocol=http \ " -SRCREV = "11491" +SRCREV = "11718" PV = "1.10+${SRCPV}" S = "${WORKDIR}/trunk" @@ -17,3 +17,6 @@ inherit cmake EXTRA_OECMAKE = "-DDEFAULT_CS_CONFDIR=${sysconfdir} -DCMAKE_BUILD_TYPE=Debug" +do_configure:append() { + sed -i -e '1 s|${TOPDIR}|<TOPDIR>|g' ${B}/config.c +} diff --git a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb index b3e5e78c7c..d64ee96f78 100644 --- a/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-dvb/tvheadend/tvheadend_git.bb @@ -30,3 +30,7 @@ EXTRA_OECONF:append:libc-musl = " --disable-execinfo" EXTRA_OEMAKE = "CFLAGS_NO_WERROR=yes" CLEANBROKEN = "1" + +do_configure:append() { + sed -i -e "s|${WORKDIR}|<TOPDIR>|g" ${B}/build.linux/build.c +} diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch index 100507cdec..8a8350ec57 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom/0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch @@ -1,6 +1,6 @@ -From c33e07f78982acfb0574a84fb523f8591e55c50e Mon Sep 17 00:00:00 2001 +From 35c1ed84a158354c37e329bad0e236b156836ac7 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 11 Sep 2022 19:46:28 -0700 +Date: Tue, 23 May 2023 14:59:26 -0700 Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing functions @@ -11,18 +11,19 @@ larations [-Wimplicit-function-declaration] | ^ Upstream-Status: Pending + Signed-off-by: Khem Raj <raj.khem@gmail.com> --- - aom_dsp/arm/subpel_variance_neon.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) + aom_dsp/arm/subpel_variance_neon.c | 76 ++++++++++++++++++++++++++++++ + 1 file changed, 76 insertions(+) diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c -index 4ecf891cbeb..859168ea0c5 100644 +index a05886066c4..ea6bada224d 100644 --- a/aom_dsp/arm/subpel_variance_neon.c +++ b/aom_dsp/arm/subpel_variance_neon.c -@@ -20,6 +20,22 @@ - #include "aom_dsp/aom_filter.h" +@@ -20,6 +20,82 @@ #include "aom_dsp/variance.h" + #include "aom_dsp/arm/mem_neon.h" +extern unsigned int aom_variance8x8_neon(const uint8_t *a, int a_stride, + const uint8_t *b, int b_stride, @@ -32,17 +33,77 @@ index 4ecf891cbeb..859168ea0c5 100644 + const uint8_t *b, int b_stride, + unsigned int *sse); + ++extern unsigned int aom_variance16x32_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance16x64_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance32x8_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance32x16_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ +extern unsigned int aom_variance32x32_neon(const uint8_t *a, int a_stride, + const uint8_t *b, int b_stride, + unsigned int *sse); + ++extern unsigned int aom_variance32x64_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance32x128_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance64x8_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance64x16_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance64x32_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ +extern unsigned int aom_variance64x64_neon(const uint8_t *a, int a_stride, + const uint8_t *b, int b_stride, + unsigned int *sse); + - // Load 2 sets of 4 bytes when alignment is not guaranteed. - static INLINE uint8x8_t load_unaligned_u8(const uint8_t *buf, int stride) { - uint32_t a; ++extern unsigned int aom_variance64x128_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance128x8_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance128x16_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance128x32_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance128x64_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ ++extern unsigned int aom_variance128x128_neon(const uint8_t *a, int a_stride, ++ const uint8_t *b, int b_stride, ++ unsigned int *sse); ++ + static void var_filter_block2d_bil_w4(const uint8_t *src_ptr, uint8_t *dst_ptr, + int src_stride, int pixel_step, + int dst_height, int filter_offset) { -- -2.37.3 +2.40.1 diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb index 9cd6f7a9e9..45dd487f30 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.4.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/aom/aom_3.6.1.bb @@ -3,23 +3,25 @@ DESCRIPTION = "Alliance for Open Media AV1 codec library" LICENSE = "BSD-2-Clause & AOM-Patent-License-1.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=6ea91368c1bbdf877159435572b931f5 \ - file://PATENTS;md5=e69ad12202bd20da3c76a5d3648cfa83 \ + file://PATENTS;md5=a111d47497d3bb49e04eef71377eb8ba \ " - +SRCREV = "7ade96172b95adc91a5d85bf80c90989cd543ee8" SRC_URI = "git://aomedia.googlesource.com/aom;protocol=https;branch=main \ - file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch \ - " - -SRCREV = "fd0c9275d36930a6eea6d3c35972e7cf9c512944" + file://0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch" S = "${WORKDIR}/git" inherit cmake pkgconfig -DEPENDS = " yasm-native" -EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \ - -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \ - " +DEPENDS = " nasm-native" +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=1 -DENABLE_TESTS=0 \ + -DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl \ + " +CMAKE_VERBOSE = "VERBOSE=1" CFLAGS:append:libc-musl = " -D_GNU_SOURCE" EXTRA_OECMAKE:append:arm = " ${@bb.utils.contains("TUNE_FEATURES","neon","-DENABLE_NEON=ON","-DENABLE_NEON=OFF",d)}" + +do_generate_toolchain_file:append() { + echo "set(AOM_AS_FLAGS --debug-prefix-map ${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR})" >> ${WORKDIR}/toolchain.cmake +} diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.1.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.2.0.bb index 33dbef3524..5d43921b03 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.1.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/dav1d/dav1d_1.2.0.bb @@ -7,7 +7,7 @@ LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=c8055cfe7548dfdaa3a6dc45d8793669" SRC_URI = "git://code.videolan.org/videolan/dav1d.git;protocol=https;branch=master" -SRCREV = "9593e625b75d498d1edea544da21ea764b98d507" +SRCREV = "676a864a11af2c0522e1f992e770589543894686" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb deleted file mode 100644 index a95c4c42a8..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth-native_git.bb +++ /dev/null @@ -1,10 +0,0 @@ -require ${BPN}.inc - -inherit native - -OECMAKE_SOURCEPATH = "${S}/src/gentables" - -do_install() { - install -d ${D}/${bindir} - install -m 755 ${B}/make_tables.exe ${D}/${bindir}/ -} diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc deleted file mode 100644 index a4590d61a9..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth.inc +++ /dev/null @@ -1,12 +0,0 @@ -SUMMARY = "Fluidsynth is a software synthesizer" -HOMEPAGE = "http://www.fluidsynth.org/" -SECTION = "libs/multimedia" -LICENSE = "LGPL-2.1-only" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594" - -SRC_URI = "git://github.com/FluidSynth/fluidsynth.git;branch=master;protocol=https" -SRCREV = "8b00644751578ba67b709a827cbe5133d849d339" -S = "${WORKDIR}/git" -PV = "2.2.6" - -inherit cmake pkgconfig lib_package diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch deleted file mode 100644 index cc73bdb1d9..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth/0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 81ea820b155e887b13ea5986c3407cf93b2737f6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> -Date: Wed, 2 Jan 2019 18:42:46 +0100 -Subject: [PATCH] Do not build gentables helper - we have to use native variant -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> ---- - src/CMakeLists.txt | 23 +---------------------- - 1 file changed, 1 insertion(+), 22 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 356bb734..58ff7635 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -399,25 +399,4 @@ else ( MACOSX_FRAMEWORK ) - install ( FILES ${public_main_HEADER} DESTINATION ${INCLUDE_INSTALL_DIR} ) - endif ( MACOSX_FRAMEWORK ) - --# ******* Auto Generated Lookup Tables ****** -- --include(ExternalProject) -- --set (GENTAB_SDIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables) --set (GENTAB_BDIR ${CMAKE_CURRENT_BINARY_DIR}/gentables) -- --# Use external project to ensure that cmake uses the host compiler when building make_tables.exe --# To fix cross-compiling fluidsynth from Win32 to ARM (using vcpkg), we need to pass the current generator --# on to the external project, otherwise (for some unknown reason) the target compiler will be used rather --# than the host compiler. --ExternalProject_Add(gentables -- DOWNLOAD_COMMAND "" -- SOURCE_DIR ${GENTAB_SDIR} -- BINARY_DIR ${GENTAB_BDIR} -- CONFIGURE_COMMAND -- "${CMAKE_COMMAND}" -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE} -G "${CMAKE_GENERATOR}" -B "${GENTAB_BDIR}" "${GENTAB_SDIR}" -- BUILD_COMMAND -- "${CMAKE_COMMAND}" --build "${GENTAB_BDIR}" -- INSTALL_COMMAND ${GENTAB_BDIR}/make_tables.exe "${CMAKE_BINARY_DIR}/" --) --add_dependencies(libfluidsynth-OBJ gentables) -+ --- -2.21.1 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb index 984f37b756..a1083af56d 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/fluidsynth/fluidsynth_git.bb @@ -1,23 +1,40 @@ -require ${BPN}.inc +SUMMARY = "Fluidsynth is a software synthesizer" +HOMEPAGE = "http://www.fluidsynth.org/" +SECTION = "libs/multimedia" +LICENSE = "LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://LICENSE;md5=fc178bcd425090939a8b634d1d6a9594" -DEPENDS = "${BPN}-native alsa-lib ncurses glib-2.0" +SRC_URI = "git://github.com/FluidSynth/fluidsynth.git;branch=master;protocol=https" +SRCREV = "4d8fe638e1a48660a4c843d493f69a86579e12f0" +S = "${WORKDIR}/git" +PV = "2.3.2" + +inherit cmake pkgconfig lib_package + +DEPENDS = "glib-2.0" SRC_URI += " \ - file://0001-Do-not-build-gentables-helper-we-have-to-use-native-.patch \ file://0002-fluid_synth_nwrite_float-Allow-zero-pointer-for-left.patch \ file://0003-Use-ARM-NEON-accelaration-for-float-multithreaded-se.patch \ " EXTRA_OECMAKE = "-Denable-floats=ON -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}" -do_configure:append() { - make_tables.exe ${B}/ +do_install:append() { + sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/pkgconfig/fluidsynth.pc + sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/fluidsynth/FluidSynthTargets.cmake } -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}" -PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio pipewire systemd alsa dbus', d)}" +PACKAGECONFIG[alsa] = "-Denable-alsa=ON,-Denable-alsa=OFF,alsa-lib" +PACKAGECONFIG[dbus] = "-Denable-dbus=ON,-Denable-dbus=OFF,dbus" PACKAGECONFIG[jack] = "-Denable-jack=ON,-Denable-jack=OFF,jack" -PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio" +PACKAGECONFIG[oss] = "-Denable-oss=ON,-Denable-oss=OFF" +PACKAGECONFIG[pipewire] = "-Denable-pipewire=ON,-Denable-pipewire=OFF,pipewire" PACKAGECONFIG[portaudio] = "-Denable-portaudio=ON,-Denable-portaudio=OFF,portaudio-v19" PACKAGECONFIG[profiling] = "-Denable-profiling=ON,-Denable-profiling=OFF" +PACKAGECONFIG[pulseaudio] = "-Denable-pulseaudio=ON,-Denable-pulseaudio=OFF,pulseaudio" PACKAGECONFIG[readline] = "-Denable-readline=ON,-Denable-readline=OFF,readline" +PACKAGECONFIG[sdl] = "-Denable-sdl2=ON,-Denable-sdl2=OFF,libsdl2" +PACKAGECONFIG[sndfile] = "-Denable-libsndfile=ON,-Denable-libsndfile=OFF,libsndfile1" +PACKAGECONFIG[systemd] = "-Denable-systemd=ON,-Denable-systemd=OFF,systemd" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-against-fmt-10.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-against-fmt-10.patch new file mode 100644 index 0000000000..2da98cfcfb --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera/0001-Fix-build-against-fmt-10.patch @@ -0,0 +1,168 @@ +From 2c08724e8a7e3a0ee8cdd91246a714a17f2ba5c1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 17 May 2023 17:31:56 -0700 +Subject: [PATCH] Fix build against fmt 10+ + +Fixes +git/src/config/setup/config_setup_vector.cc:191:9: required from here +| /home/hains/openpli-dm920-python3/build/tmp/work/cortexa15hf-neon-vfpv4-oe-linux-gnueabi/gerbera/1.11.0-r0/ +recipe-sysroot/usr/include/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt +| 1691 | formattable, +| | ^~~~~~~~~~~ + +Source: https://github.com/Hains/openpli-dm920-python3/commit/688ae121bd3928925a8656bd4aaf3857d8e8a8ed + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/config/setup/config_setup_array.cc | 6 +++--- + src/config/setup/config_setup_autoscan.cc | 2 +- + src/config/setup/config_setup_client.cc | 2 +- + src/config/setup/config_setup_dictionary.cc | 6 +++--- + src/config/setup/config_setup_dynamic.cc | 2 +- + src/config/setup/config_setup_transcoding.cc | 2 +- + src/config/setup/config_setup_tweak.cc | 2 +- + src/config/setup/config_setup_vector.cc | 4 ++-- + 8 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/src/config/setup/config_setup_array.cc b/src/config/setup/config_setup_array.cc +index 8f3cf1db..efc9b501 100644 +--- a/src/config/setup/config_setup_array.cc ++++ b/src/config/setup/config_setup_array.cc +@@ -136,11 +136,11 @@ std::vector<std::string> ConfigArraySetup::getXmlContent(const pugi::xml_node& o + std::vector<std::string> result; + if (initArray) { + if (!initArray(optValue, result, ConfigDefinition::mapConfigOption(nodeOption))) { +- throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue); ++ throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue.value()); + } + } else { + if (!createOptionFromNode(optValue, result)) { +- throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue); ++ throw_std_runtime_error("Invalid {} array value '{}'", xpath, optValue.value()); + } + } + if (result.empty()) { +@@ -149,7 +149,7 @@ std::vector<std::string> ConfigArraySetup::getXmlContent(const pugi::xml_node& o + result = defaultEntries; + } + if (notEmpty && result.empty()) { +- throw_std_runtime_error("Invalid array {} empty '{}'", xpath, optValue); ++ throw_std_runtime_error("Invalid array {} empty '{}'", xpath, optValue.value()); + } + return result; + } +diff --git a/src/config/setup/config_setup_autoscan.cc b/src/config/setup/config_setup_autoscan.cc +index e882ca3e..d773419b 100644 +--- a/src/config/setup/config_setup_autoscan.cc ++++ b/src/config/setup/config_setup_autoscan.cc +@@ -203,7 +203,7 @@ std::shared_ptr<ConfigOption> ConfigAutoscanSetup::newOption(const pugi::xml_nod + { + auto result = std::vector<AutoscanDirectory>(); + if (!createOptionFromNode(optValue, result)) { +- throw_std_runtime_error("Init {} autoscan failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} autoscan failed '{}'", xpath, optValue.value()); + } + optionValue = std::make_shared<AutoscanListOption>(result); + return optionValue; +diff --git a/src/config/setup/config_setup_client.cc b/src/config/setup/config_setup_client.cc +index 30bb98cb..56be9c53 100644 +--- a/src/config/setup/config_setup_client.cc ++++ b/src/config/setup/config_setup_client.cc +@@ -163,7 +163,7 @@ std::shared_ptr<ConfigOption> ConfigClientSetup::newOption(const pugi::xml_node& + auto result = std::make_shared<ClientConfigList>(); + + if (!createOptionFromNode(isEnabled ? optValue : pugi::xml_node(nullptr), result)) { +- throw_std_runtime_error("Init {} client config failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} client config failed '{}'", xpath, optValue.value()); + } + optionValue = std::make_shared<ClientConfigListOption>(result); + return optionValue; +diff --git a/src/config/setup/config_setup_dictionary.cc b/src/config/setup/config_setup_dictionary.cc +index eb91c694..ea2aaa05 100644 +--- a/src/config/setup/config_setup_dictionary.cc ++++ b/src/config/setup/config_setup_dictionary.cc +@@ -162,11 +162,11 @@ std::map<std::string, std::string> ConfigDictionarySetup::getXmlContent(const pu + std::map<std::string, std::string> result; + if (initDict) { + if (!initDict(optValue, result)) { +- throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue.value()); + } + } else { + if (!createOptionFromNode(optValue, result) && required) { +- throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} dictionary failed '{}'", xpath, optValue.value()); + } + } + if (result.empty()) { +@@ -175,7 +175,7 @@ std::map<std::string, std::string> ConfigDictionarySetup::getXmlContent(const pu + result = defaultEntries; + } + if (notEmpty && result.empty()) { +- throw_std_runtime_error("Invalid dictionary {} empty '{}'", xpath, optValue); ++ throw_std_runtime_error("Invalid dictionary {} empty '{}'", xpath, optValue.value()); + } + return result; + } +diff --git a/src/config/setup/config_setup_dynamic.cc b/src/config/setup/config_setup_dynamic.cc +index 6a43b820..93030b85 100644 +--- a/src/config/setup/config_setup_dynamic.cc ++++ b/src/config/setup/config_setup_dynamic.cc +@@ -179,7 +179,7 @@ std::shared_ptr<ConfigOption> ConfigDynamicContentSetup::newOption(const pugi::x + auto result = std::make_shared<DynamicContentList>(); + + if (!createOptionFromNode(optValue, result)) { +- throw_std_runtime_error("Init {} DynamicContentList failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} DynamicContentList failed '{}'", xpath, optValue.value()); + } + optionValue = std::make_shared<DynamicContentListOption>(result); + return optionValue; +diff --git a/src/config/setup/config_setup_transcoding.cc b/src/config/setup/config_setup_transcoding.cc +index 4827f109..c353ce1f 100644 +--- a/src/config/setup/config_setup_transcoding.cc ++++ b/src/config/setup/config_setup_transcoding.cc +@@ -492,7 +492,7 @@ std::shared_ptr<ConfigOption> ConfigTranscodingSetup::newOption(const pugi::xml_ + auto result = std::make_shared<TranscodingProfileList>(); + + if (!createOptionFromNode(isEnabled ? optValue : pugi::xml_node(nullptr), result)) { +- throw_std_runtime_error("Init {} transcoding failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} transcoding failed '{}'", xpath, optValue.value()); + } + optionValue = std::make_shared<TranscodingProfileListOption>(result); + return optionValue; +diff --git a/src/config/setup/config_setup_tweak.cc b/src/config/setup/config_setup_tweak.cc +index d7692c09..72c2beb2 100644 +--- a/src/config/setup/config_setup_tweak.cc ++++ b/src/config/setup/config_setup_tweak.cc +@@ -242,7 +242,7 @@ std::shared_ptr<ConfigOption> ConfigDirectorySetup::newOption(const pugi::xml_no + auto result = std::make_shared<DirectoryConfigList>(); + + if (!createOptionFromNode(optValue, result)) { +- throw_std_runtime_error("Init {} DirectoryConfigList failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} DirectoryConfigList failed '{}'", xpath, optValue.value()); + } + optionValue = std::make_shared<DirectoryTweakOption>(result); + return optionValue; +diff --git a/src/config/setup/config_setup_vector.cc b/src/config/setup/config_setup_vector.cc +index c8ff853d..91f99ca4 100644 +--- a/src/config/setup/config_setup_vector.cc ++++ b/src/config/setup/config_setup_vector.cc +@@ -180,7 +180,7 @@ std::vector<std::vector<std::pair<std::string, std::string>>> ConfigVectorSetup: + { + std::vector<std::vector<std::pair<std::string, std::string>>> result; + if (!createOptionFromNode(optValue, result) && required) { +- throw_std_runtime_error("Init {} vector failed '{}'", xpath, optValue); ++ throw_std_runtime_error("Init {} vector failed '{}'", xpath, optValue.value()); + } + if (result.empty()) { + log_debug("{} assigning {} default values", xpath, defaultEntries.size()); +@@ -188,7 +188,7 @@ std::vector<std::vector<std::pair<std::string, std::string>>> ConfigVectorSetup: + result = defaultEntries; + } + if (notEmpty && result.empty()) { +- throw_std_runtime_error("Invalid vector {} empty '{}'", xpath, optValue); ++ throw_std_runtime_error("Invalid vector {} empty '{}'", xpath, optValue.value()); + } + return result; + } diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb index 9f2f1b093e..2a6d328711 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/gerbera/gerbera_1.11.0.bb @@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=25cdec9afe3f1f26212ead6bd2f7fac8" SRC_URI = "git://github.com/gerbera/gerbera.git;protocol=https;branch=master \ file://0001-Fix-build-with-fmt-9.0.patch \ - " + file://0001-Fix-build-against-fmt-10.patch \ + " SRCREV = "d73d8c1346213d784753c02ea771970500e0df2a" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb index 14a20b4317..6ad376f295 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.0.5.bb @@ -26,9 +26,10 @@ PACKAGES =+ "${PN}-gst" PACKAGECONFIG ??= "" PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base" +LIBCAMERA_PIPELINES ??= "auto" + EXTRA_OEMESON = " \ - -Dpipelines=uvcvideo,simple,vimc \ - -Dipas=vimc \ + -Dpipelines=${LIBCAMERA_PIPELINES} \ -Dv4l2=true \ -Dcam=enabled \ -Dlc-compliance=disabled \ diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/libsquish/libsquish/0001-makefile-Add-LIBDIR.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/libsquish/libsquish/0001-makefile-Add-LIBDIR.patch deleted file mode 100644 index c6eb7ac576..0000000000 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/libsquish/libsquish/0001-makefile-Add-LIBDIR.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4fd08c0446ca02917014b63f9080c4205958a130 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sun, 20 Mar 2022 01:15:32 -0700 -Subject: [PATCH] makefile: Add LIBDIR - -Avoid hardcoding /lib - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - Makefile | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 1c01f89..2b1df5b 100644 ---- a/Makefile -+++ b/Makefile -@@ -11,12 +11,12 @@ all : $(LIB) squish.pc - - install : $(LIB) squish.pc - install squish.h $(INSTALL_DIR)/include -- install libsquish.a $(INSTALL_DIR)/lib -- install squish.pc $(INSTALL_DIR)/lib/pkgconfig -+ install libsquish.a $(INSTALL_DIR)/$(LIBDIR) -+ install squish.pc $(INSTALL_DIR)/$(LIBDIR)/pkgconfig - - uninstall: - $(RM) $(INSTALL_DIR)/include/squish.h -- $(RM) $(INSTALL_DIR)/lib/libsquish.a -+ $(RM) $(INSTALL_DIR)/$(LIBDIR)/libsquish.a - - $(LIB) : $(OBJ) - $(AR) cr $@ $? --- -2.35.1 - diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch new file mode 100644 index 0000000000..37aa448e95 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch @@ -0,0 +1,28 @@ +From f2fbfeeb9c4ff7aa9ba4b95604ee0fb14ecec763 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Wed, 17 May 2023 17:54:09 -0700 +Subject: [PATCH] SndfileDecoderPlugin: Fix type mismatch for std::span + +Fixes +../git/src/decoder/plugins/SndfileDecoderPlugin.cxx:231:25: error: non-constant-expression cannot be narrowed from type 'sf_count_t' (aka 'long long') to 'size_type' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] + std::span{buffer, num_frames * frame_size}, + ^~~~~~~~~~~~~~~~~~~~~~~ +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/decoder/plugins/SndfileDecoderPlugin.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/decoder/plugins/SndfileDecoderPlugin.cxx b/src/decoder/plugins/SndfileDecoderPlugin.cxx +index ad3908847..a3cb87ca9 100644 +--- a/src/decoder/plugins/SndfileDecoderPlugin.cxx ++++ b/src/decoder/plugins/SndfileDecoderPlugin.cxx +@@ -228,7 +228,7 @@ sndfile_stream_decode(DecoderClient &client, InputStream &is) + break; + + cmd = client.SubmitAudio(is, +- std::span{buffer, num_frames * frame_size}, ++ std::span{buffer, static_cast<std::size_t>(num_frames * frame_size)}, + 0); + if (cmd == DecoderCommand::SEEK) { + sf_count_t c = client.GetSeekFrame(); diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch new file mode 100644 index 0000000000..ebbea2b358 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/fix-build-error-when-fmt-updated.patch @@ -0,0 +1,71 @@ +Upstream-Status: Backport [https://github.com/MusicPlayerDaemon/MPD/commit/181b96dd2d71bc8f2668776719d344466f258b5d] + +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> + +From 181b96dd2d71bc8f2668776719d344466f258b5d Mon Sep 17 00:00:00 2001 +From: Max Kellermann <max.kellermann@gmail.com> +Date: Mon, 15 May 2023 20:52:21 +0200 +Subject: [PATCH] command/player, SongPrint: use AudioFormatFormatter() + +libfmt version 10 apparently doesn't know how to format a +`StringBuffer`, failing the MPD build. Since we have a formatter +specialization for `AudioFormat`, let's use that - it's better and +easier to use. + +Closes https://github.com/MusicPlayerDaemon/MPD/issues/1807 +--- + src/SongPrint.cxx | 5 +++-- + src/command/PlayerCommands.cxx | 3 ++- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/SongPrint.cxx b/src/SongPrint.cxx +index 98d544cc38..835669d276 100644 +--- a/src/SongPrint.cxx ++++ b/src/SongPrint.cxx +@@ -8,6 +8,7 @@ + #include "TagPrint.hxx" + #include "client/Response.hxx" + #include "fs/Traits.hxx" ++#include "lib/fmt/AudioFormatFormatter.hxx" + #include "time/ChronoUtil.hxx" + #include "util/StringBuffer.hxx" + #include "util/UriUtil.hxx" +@@ -77,7 +78,7 @@ song_print_info(Response &r, const LightSong &song, bool base) noexcept + time_print(r, "Last-Modified", song.mtime); + + if (song.audio_format.IsDefined()) +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(song.audio_format)); ++ r.Fmt(FMT_STRING("Format: {}\n"), song.audio_format); + + tag_print_values(r, song.tag); + +@@ -100,7 +101,7 @@ song_print_info(Response &r, const DetachedSong &song, bool base) noexcept + time_print(r, "Last-Modified", song.GetLastModified()); + + if (const auto &f = song.GetAudioFormat(); f.IsDefined()) +- r.Fmt(FMT_STRING("Format: {}\n"), ToString(f)); ++ r.Fmt(FMT_STRING("Format: {}\n"), f); + + tag_print_values(r, song.GetTag()); + +diff --git a/src/command/PlayerCommands.cxx b/src/command/PlayerCommands.cxx +index 5108b9d3c4..0b5a917020 100644 +--- a/src/command/PlayerCommands.cxx ++++ b/src/command/PlayerCommands.cxx +@@ -13,6 +13,7 @@ + #include "Partition.hxx" + #include "Instance.hxx" + #include "IdleFlags.hxx" ++#include "lib/fmt/AudioFormatFormatter.hxx" + #include "util/StringBuffer.hxx" + #include "util/ScopeExit.hxx" + #include "util/Exception.hxx" +@@ -170,7 +171,7 @@ handle_status(Client &client, [[maybe_unused]] Request args, Response &r) + + if (player_status.audio_format.IsDefined()) + r.Fmt(FMT_STRING(COMMAND_STATUS_AUDIO ": {}\n"), +- ToString(player_status.audio_format)); ++ player_status.audio_format); + } + + #ifdef ENABLE_DATABASE diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch new file mode 100644 index 0000000000..0c9d979107 --- /dev/null +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd/minor-fixup-for-libfmt10.patch @@ -0,0 +1,27 @@ +Upstream-Status: Backport +[https://github.com/MusicPlayerDaemon/MPD/commit/f869593ac8913e52c711e974257bd6dc0d5dbf26] + +Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> + +From f869593ac8913e52c711e974257bd6dc0d5dbf26 Mon Sep 17 00:00:00 2001 +From: Max Kellermann <max.kellermann@gmail.com> +Date: Mon, 15 May 2023 20:59:58 +0200 +Subject: [PATCH] TimePrint: minor fixup for libfmt 10 + +libfmt version 10 has difficulties formatting a `StringBuffer`, and we +need to help it by explicitly invoking the `c_str()` method. +--- + src/TimePrint.cxx | 2 +- + 1 files changed, 1 insertions(+), 1 deletion(-) + +diff --git a/src/TimePrint.cxx b/src/TimePrint.cxx +index 5bf05f6238..d47f3178bb 100644 +--- a/src/TimePrint.cxx ++++ b/src/TimePrint.cxx +@@ -20,5 +20,5 @@ time_print(Response &r, const char *name, + return; + } + +- r.Fmt(FMT_STRING("{}: {}\n"), name, s); ++ r.Fmt(FMT_STRING("{}: {}\n"), name, s.c_str()); + } diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb index 13938444c8..0c309ded00 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/musicpd/mpd_0.23.12.bb @@ -18,10 +18,13 @@ DEPENDS += " \ fmt \ " -SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=v0.23.x;protocol=https \ +SRC_URI = "git://github.com/MusicPlayerDaemon/MPD;branch=master;protocol=https \ file://mpd.conf.in \ + file://minor-fixup-for-libfmt10.patch \ + file://fix-build-error-when-fmt-updated.patch \ + file://0001-SndfileDecoderPlugin-Fix-type-mismatch-for-std-span.patch \ " -SRCREV = "d91da9679801224847c30147f5914785b6f8f240" +SRCREV = "b1422fbda40a1831d397fb161e7a555443c2a072" S = "${WORKDIR}/git" EXTRA_OEMESON += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-Dsystemd=enabled -Dsystemd_system_unit_dir=${systemd_system_unitdir} -Dsystemd_user_unit_dir=${systemd_system_unitdir}', '-Dsystemd=disabled', d)}" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.70.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.71.bb index 56595e7686..7f117e10b2 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.70.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.71.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = " \ DEPENDS = "dbus ncurses" -SRCREV = "9f7d60c1e84cc0481afc3f6ccf76e127567943a8" +SRCREV = "bd225b14bbda1a6e2dc7a52780eaf728920e0ff2" SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb index dd6eceae51..92f05544dd 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb @@ -101,6 +101,7 @@ do_configure:append() { for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do mkdir -p "${B}/modules/gui/qt/$qtpath" done + sed -i -e 's|${WORKDIR}||g' ${B}/config.h } # This recipe packages vlc as a library as well, so qt4 dependencies diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb index d786afe81e..250af58e17 100644 --- a/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb +++ b/meta-openembedded/meta-multimedia/recipes-multimedia/x265/x265_3.2.1.bb @@ -17,6 +17,10 @@ SRC_URI[sha256sum] = "fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b5 inherit lib_package pkgconfig cmake +do_generate_toolchain_file:append() { + echo "set(CMAKE_ASM_NASM_FLAGS --debug-prefix-map ${S}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR})" >> ${WORKDIR}/toolchain.cmake +} + EXTRA_OECMAKE:append:x86 = " -DENABLE_ASSEMBLY=OFF" EXTRA_OECMAKE:append:aarch64 = " -DENABLE_PIC=ON" |