gerbera: update to 1.10.0
Backport some bug fixes. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
ddfdf4148d
commit
e7a2bddbb7
5 changed files with 91 additions and 41 deletions
|
@ -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
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
From 82d84ac5e62c23e717198fc7b2ef190ff95e70d1 Mon Sep 17 00:00:00 2001
|
||||
From: kyak <bas@bmail.ru>
|
||||
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 <fmt/format.h>
|
||||
#include <spdlog/spdlog.h>
|
||||
+#include <type_traits>
|
||||
|
||||
#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 <typename T>
|
||||
+struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>>
|
||||
+ : formatter<std::underlying_type_t<T>> {
|
||||
+ template <typename FormatContext>
|
||||
+ auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out())
|
||||
+ {
|
||||
+ return fmt::formatter<std::underlying_type_t<T>>::format(
|
||||
+ static_cast<std::underlying_type_t<T>>(value), ctx);
|
||||
+ }
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
#endif // __LOGGER_H__
|
21
multimedia/gerbera/patches/010-matroska-memory-leak.patch
Normal file
21
multimedia/gerbera/patches/010-matroska-memory-leak.patch
Normal file
|
@ -0,0 +1,21 @@
|
|||
From c479fba2f0f478e828cd08dde3c3b5e8ae7908d4 Mon Sep 17 00:00:00 2001
|
||||
From: Rosen Penev <rosenp@gmail.com>
|
||||
Date: Mon, 29 Nov 2021 18:31:14 -0800
|
||||
Subject: [PATCH] fix matroska memory leaks
|
||||
|
||||
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||
---
|
||||
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));
|
22
multimedia/gerbera/patches/020-m3u.patch
Normal file
22
multimedia/gerbera/patches/020-m3u.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
From 97c5a5fbc27452ee5970f9c7be946d3819a79d05 Mon Sep 17 00:00:00 2001
|
||||
From: Karlchen <k_straussberger@netzland.net>
|
||||
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<CdsItem>(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());
|
46
multimedia/gerbera/patches/030-ffmpeg.patch
Normal file
46
multimedia/gerbera/patches/030-ffmpeg.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
From 1ee40116ece90a5504cd33a23d6bc7002d00b68a Mon Sep 17 00:00:00 2001
|
||||
From: Ian Whyman <ian.whyman@spin.pm>
|
||||
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);
|
Loading…
Reference in a new issue