Bug#1107646: unblock: kodi-inputstream-ffmpegdirect/21.3.7+ds-2
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: kodi-inputstream-ffmpegdirect@packages.debian.org
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 <vasek.gello@gmail.com> 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 <7243697+David-EIPI@users.noreply.github.com>
+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
Reply to: