From: Rosen Penev Date: Wed, 9 Mar 2022 05:16:04 +0000 (-0800) Subject: gerbera: update to 1.10.0 X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=e7a2bddbb7655acb73f3b2638b57573a05c27139;p=openwrt-packages.git gerbera: update to 1.10.0 Backport some bug fixes. Signed-off-by: Rosen Penev --- diff --git a/multimedia/gerbera/Makefile b/multimedia/gerbera/Makefile index 67b7eb740..1f4090db8 100644 --- a/multimedia/gerbera/Makefile +++ b/multimedia/gerbera/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gerbera -PKG_VERSION:=1.9.1 +PKG_VERSION:=1.10.0 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/gerbera/gerbera/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=5d323c6cb4150e3454b8c6e0012f41648441799ba44cb59436b124b54d3fc82b +PKG_HASH:=bd6c7b2c6380e2e265a998bbc0df9eec14b9c6a65bc91e7f2c0ae0b67fd0c9cf PKG_MAINTAINER:= PKG_LICENSE:=GPL-2.0-or-later diff --git a/multimedia/gerbera/patches/010-fmt.patch b/multimedia/gerbera/patches/010-fmt.patch deleted file mode 100644 index 72668a845..000000000 --- a/multimedia/gerbera/patches/010-fmt.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 82d84ac5e62c23e717198fc7b2ef190ff95e70d1 Mon Sep 17 00:00:00 2001 -From: kyak -Date: Wed, 12 Jan 2022 19:41:37 +0300 -Subject: [PATCH] Fix for fmt > 8.0 - ---- - src/util/logger.h | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - ---- a/src/util/logger.h -+++ b/src/util/logger.h -@@ -32,7 +32,9 @@ - #ifndef __LOGGER_H__ - #define __LOGGER_H__ - -+#include - #include -+#include - - #define log_debug SPDLOG_DEBUG - #define log_info SPDLOG_INFO -@@ -40,4 +42,17 @@ - #define log_error SPDLOG_ERROR - #define log_js SPDLOG_INFO - -+#if FMT_VERSION >= 80100 -+template -+struct fmt::formatter, char>> -+ : formatter> { -+ template -+ auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) -+ { -+ return fmt::formatter>::format( -+ static_cast>(value), ctx); -+ } -+}; -+#endif -+ - #endif // __LOGGER_H__ diff --git a/multimedia/gerbera/patches/010-matroska-memory-leak.patch b/multimedia/gerbera/patches/010-matroska-memory-leak.patch new file mode 100644 index 000000000..da58fc628 --- /dev/null +++ b/multimedia/gerbera/patches/010-matroska-memory-leak.patch @@ -0,0 +1,21 @@ +From c479fba2f0f478e828cd08dde3c3b5e8ae7908d4 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Mon, 29 Nov 2021 18:31:14 -0800 +Subject: [PATCH] fix matroska memory leaks + +Signed-off-by: Rosen Penev +--- + src/metadata/matroska_handler.cc | 2 -- + 1 file changed, 2 deletions(-) + +--- a/src/metadata/matroska_handler.cc ++++ b/src/metadata/matroska_handler.cc +@@ -137,8 +137,6 @@ void MatroskaHandler::parseMKV(const std + + delete (elL1->SkipData(ebmlStream, elL1->Generic().Context)); + delete elL1; +- if (activeFlag == 0) // terminate search +- break; + } // while elementLevel1 + + delete (elL0->SkipData(ebmlStream, LIBMATROSKA_NAMESPACE::KaxSegment_Context)); diff --git a/multimedia/gerbera/patches/020-m3u.patch b/multimedia/gerbera/patches/020-m3u.patch new file mode 100644 index 000000000..0b43a6ccd --- /dev/null +++ b/multimedia/gerbera/patches/020-m3u.patch @@ -0,0 +1,22 @@ +From 97c5a5fbc27452ee5970f9c7be946d3819a79d05 Mon Sep 17 00:00:00 2001 +From: Karlchen +Date: Sat, 26 Feb 2022 23:32:42 +0100 +Subject: [PATCH] Fix playlist parser error + +closes #2463 +--- + src/content/scripting/playlist_parser_script.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/content/scripting/playlist_parser_script.cc ++++ b/src/content/scripting/playlist_parser_script.cc +@@ -218,8 +218,8 @@ void PlaylistParserScript::processPlayli + auto item = std::static_pointer_cast(obj); + + log_debug("Checking playlist {} ...", obj->getLocation().string()); ++ GrbFile file(item->getLocation()); + if (item->getMimeType() != MIME_TYPE_ASX_PLAYLIST) { +- GrbFile file(item->getLocation()); + currentHandle = file.open("r"); + } else { + pugi::xml_parse_result result = xmlDoc->load_file(item->getLocation().c_str()); diff --git a/multimedia/gerbera/patches/030-ffmpeg.patch b/multimedia/gerbera/patches/030-ffmpeg.patch new file mode 100644 index 000000000..b41ae5d7c --- /dev/null +++ b/multimedia/gerbera/patches/030-ffmpeg.patch @@ -0,0 +1,46 @@ +From 1ee40116ece90a5504cd33a23d6bc7002d00b68a Mon Sep 17 00:00:00 2001 +From: Ian Whyman +Date: Tue, 8 Mar 2022 17:36:37 +0000 +Subject: [PATCH] Fix default tag matches with ffmpeg_handler + +Some of the keys were uppercase e.g. ARTIST when returned from the FLAC +parser, so lowercase the keys first. + +Fixes: https://github.com/gerbera/gerbera/issues/2176 +--- + src/metadata/ffmpeg_handler.cc | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +--- a/src/metadata/ffmpeg_handler.cc ++++ b/src/metadata/ffmpeg_handler.cc +@@ -93,8 +93,9 @@ void FfmpegHandler::addFfmpegMetadataFie + auto sc = StringConverter::m2i(CFG_IMPORT_LIBOPTS_FFMPEG_CHARSET, item->getLocation(), config); + + while ((e = av_dict_get(pFormatCtx->metadata, "", e, AV_DICT_IGNORE_SUFFIX))) { +- std::string key = e->key; ++ std::string key = toLower(e->key); + std::string value = e->value; ++ log_debug("FFMpeg tag: {}: {}", key, value); + auto it = specialPropertyMap.find(e->key); + if (it != specialPropertyMap.end()) { + // only use ffmpeg meta data if not found by other handler +@@ -105,7 +106,9 @@ void FfmpegHandler::addFfmpegMetadataFie + } + } + auto pIt = std::find_if(propertyMap.begin(), propertyMap.end(), +- [&](auto&& p) { return p.second == key && item->getMetaData(p.first).empty(); }); ++ [&](auto&& p) { ++ return p.second == key && item->getMetaData(p.first).empty(); ++ }); + if (pIt != propertyMap.end()) { + log_debug("Identified default metadata '{}': {}", pIt->second, value); + const auto field = pIt->first; +@@ -128,7 +131,7 @@ void FfmpegHandler::addFfmpegMetadataFie + constexpr auto field = M_CREATION_DATE; + if (item->getMetaData(field).empty()) { + log_debug("Identified metadata 'creation_time': {}", e->value); +- std::tm tmWork; ++ std::tm tmWork {}; + if (strptime(e->value, "%Y-%m-%dT%T.000000%Z", &tmWork)) { + // convert creation_time to local time + auto utcTime = timegm(&tmWork);