Package: release.debian.org Severity: normal User: [email protected] Usertags: unblock X-Debbugs-Cc: [email protected] Control: affects -1 + src:kodi-inputstream-ffmpegdirect
Please unblock package kodi-inputstream-ffmpegdirect [ Reason ] A regression in kodi-inputstream-ffmpegdirect crashes Kodi on media playback stop if JSON-RPC client is in use (like remote control app) [ Impact ] Users have to restart Kodi each time they finish playing IPTV or similar streams that require inputstream.ffmpegdirect addon to be played. [ Tests ] Run various manual tests during several days [ Risks ] Low-risk change as it moves the name-duplicating class into separate namespace. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing [ Other info ] None applicable unblock kodi-inputstream-ffmpegdirect/21.3.7+ds-1
diff -Nru kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/changelog kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/changelog --- kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/changelog 2025-01-27 08:45:17.000000000 +0000 +++ kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/changelog 2025-06-09 16:40:26.000000000 +0000 @@ -1,3 +1,9 @@ +kodi-inputstream-ffmpegdirect (21.3.7+ds-2) unstable; urgency=medium + + * Fix crash on the end of media + + -- Vasyl Gello <[email protected]> Mon, 09 Jun 2025 16:40:26 +0000 + kodi-inputstream-ffmpegdirect (21.3.7+ds-1) unstable; urgency=high * New upstream version 21.3.7+ds diff -Nru kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/0001-pr320.patch kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/0001-pr320.patch --- kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/0001-pr320.patch 1970-01-01 00:00:00.000000000 +0000 +++ kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/0001-pr320.patch 2025-06-09 16:40:26.000000000 +0000 @@ -0,0 +1,96 @@ +From bd32ef072f01aa157e61b3ca50157305d6f12f49 Mon Sep 17 00:00:00 2001 +From: David Sh <[email protected]> +Date: Fri, 28 Mar 2025 16:13:39 -0400 +Subject: [PATCH 1/3] Put CVariant into ffmpegdirect namespace to avoid + collision with CVariant in the main XBMC tree. + +--- + src/stream/url/URL.cpp | 1 + + src/stream/url/UrlOptions.cpp | 2 +- + src/stream/url/UrlOptions.h | 4 ++-- + src/stream/url/Variant.cpp | 2 ++ + src/stream/url/Variant.h | 4 ++++ + 5 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/src/stream/url/URL.cpp b/src/stream/url/URL.cpp +index a01f4b1c..76060fca 100644 +--- a/src/stream/url/URL.cpp ++++ b/src/stream/url/URL.cpp +@@ -25,6 +25,7 @@ + #include <kodi/tools/StringUtils.h> + + using namespace kodi::tools; ++using namespace ffmpegdirect; + //using namespace ADDON; + + namespace +diff --git a/src/stream/url/UrlOptions.cpp b/src/stream/url/UrlOptions.cpp +index 38b42c46..d8d50a3b 100644 +--- a/src/stream/url/UrlOptions.cpp ++++ b/src/stream/url/UrlOptions.cpp +@@ -157,7 +157,7 @@ bool CUrlOptions::HasOption(const std::string &key) const + return m_options.find(key) != m_options.end(); + } + +-bool CUrlOptions::GetOption(const std::string &key, CVariant &value) const ++bool CUrlOptions::GetOption(const std::string &key, ffmpegdirect::CVariant &value) const + { + if (key.empty()) + return false; +diff --git a/src/stream/url/UrlOptions.h b/src/stream/url/UrlOptions.h +index 589206e1..67e457dd 100644 +--- a/src/stream/url/UrlOptions.h ++++ b/src/stream/url/UrlOptions.h +@@ -15,7 +15,7 @@ + class CUrlOptions + { + public: +- typedef std::map<std::string, CVariant> UrlOptions; ++ typedef std::map<std::string, ffmpegdirect::CVariant> UrlOptions; + + CUrlOptions(); + CUrlOptions(const std::string &options, const char *strLead = ""); +@@ -37,7 +37,7 @@ class CUrlOptions + virtual void RemoveOption(const std::string &key); + + bool HasOption(const std::string &key) const; +- bool GetOption(const std::string &key, CVariant &value) const; ++ bool GetOption(const std::string &key, ffmpegdirect::CVariant &value) const; + + protected: + UrlOptions m_options; +diff --git a/src/stream/url/Variant.cpp b/src/stream/url/Variant.cpp +index a6ba76bf..1593dfbb 100644 +--- a/src/stream/url/Variant.cpp ++++ b/src/stream/url/Variant.cpp +@@ -11,6 +11,8 @@ + #include <string.h> + #include <utility> + ++using namespace ffmpegdirect; ++ + #ifndef strtoll + #ifdef TARGET_WINDOWS + #define strtoll _strtoi64 +diff --git a/src/stream/url/Variant.h b/src/stream/url/Variant.h +index 5f609c11..28e6e840 100644 +--- a/src/stream/url/Variant.h ++++ b/src/stream/url/Variant.h +@@ -25,6 +25,8 @@ double str2double(const std::wstring &str, double fallback = 0.0); + #pragma pack(8) + #endif + ++namespace ffmpegdirect ++{ + class CVariant + { + public: +@@ -162,6 +164,8 @@ class CVariant + static VariantMap EMPTY_MAP; + }; + ++} // namespace ffmpegdirect ++ + #ifdef TARGET_WINDOWS_STORE + #pragma pack(pop) + #endif diff -Nru kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/series kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/series --- kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/series 2025-01-27 08:45:17.000000000 +0000 +++ kodi-inputstream-ffmpegdirect-21.3.7+ds/debian/patches/series 2025-06-09 16:40:26.000000000 +0000 @@ -1 +1,2 @@ 0000-ffmpeg7.patch +0001-pr320.patch

