[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: