From patchwork Thu May 13 05:40:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Kuhls X-Patchwork-Id: 1477912 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FggWZ3yx2z9sWl for ; Thu, 13 May 2021 15:41:30 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id AD3D740F91; Thu, 13 May 2021 05:41:26 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sN7UWhlojlA7; Thu, 13 May 2021 05:41:22 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id EC5E340F78; Thu, 13 May 2021 05:41:21 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id C1B0B1BF860 for ; Thu, 13 May 2021 05:41:19 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id A66BF40F78 for ; Thu, 13 May 2021 05:41:19 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cpy4Z4mJKT2B for ; Thu, 13 May 2021 05:41:14 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from mailout02.t-online.de (mailout02.t-online.de [194.25.134.17]) by smtp4.osuosl.org (Postfix) with ESMTPS id C718740F75 for ; Thu, 13 May 2021 05:41:10 +0000 (UTC) Received: from fwd01.aul.t-online.de (fwd01.aul.t-online.de [172.20.27.147]) by mailout02.t-online.de (Postfix) with SMTP id 2EC4D5C170 for ; Thu, 13 May 2021 07:41:03 +0200 (CEST) Received: from fli4l.lan.fli4l (bVR4HTZJYhDIaLhiU1W0sDI4rdalhcuO4DZHyXkR5wo-I-2uY14Ihn3ICdKCHfhg+H@[79.214.203.97]) by fwd01.t-online.de with (TLSv1:ECDHE-RSA-AES256-SHA encrypted) esmtp id 1lh45l-1ZMxiC0; Thu, 13 May 2021 07:41:01 +0200 Received: from mahler.lan.fli4l ([192.168.1.1]:46386) by fli4l.lan.fli4l with esmtp (Exim 4.94.2) (envelope-from ) id 1lh45j-0005ak-Eu for buildroot@buildroot.org; Thu, 13 May 2021 07:41:01 +0200 From: Bernd Kuhls To: buildroot@buildroot.org Date: Thu, 13 May 2021 07:40:59 +0200 Message-Id: <20210513054059.5712-1-bernd.kuhls@t-online.de> X-Mailer: git-send-email 2.29.2 MIME-Version: 1.0 X-ID: bVR4HTZJYhDIaLhiU1W0sDI4rdalhcuO4DZHyXkR5wo-I-2uY14Ihn3ICdKCHfhg+H X-TOI-EXPURGATEID: 150726::1620884461-0000B607-FF89E7C7/0/0 CLEAN NORMAL X-TOI-MSGID: 487d5e10-0a36-443f-af8b-463e62792151 Subject: [Buildroot] [PATCH 1/1] package/kodi-pvr-mediaportal-tvserver: bump version to 8.1.1 X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Removed all patches which were applied upstream: https://github.com/kodi-pvr/pvr.mediaportal.tvserver/commits/Matrix Changelog: https://github.com/kodi-pvr/pvr.mediaportal.tvserver/blob/Matrix/pvr.mediaportal.tvserver/changelog.txt Signed-off-by: Bernd Kuhls --- Please note that some patches include DOS line breaks which will get lost while this mail is processed by patchworks. Just remove all patches from the package. Sent this bump for master branch because upstream did not commit any additional patches. ...o-more-supported-C-17-declaration-ke.patch | 29 - .../0002-Remove-p8-os-includes.patch | 157 ---- .../0003-Use-kodi-StringUtils.patch | 124 ---- .../0004-Remove-SAFE_DELETE.patch | 289 -------- ...d-sleep_for-instead-of-p8-time-utils.patch | 308 -------- ...td-mutex-condition_variable-instead-.patch | 673 ------------------ ...-Remove-charset-converter-dependency.patch | 55 -- .../0008-Remove-p8-platform-dependency.patch | 74 -- .../0009-Travis-changes-for-cpp17.patch | 28 - ...-keyword-as-no-longer-valid-in-CPP17.patch | 23 - .../0011-changelog-and-version-v8.1.1.patch | 42 -- .../kodi-pvr-mediaportal-tvserver.hash | 2 +- .../kodi-pvr-mediaportal-tvserver.mk | 2 +- 13 files changed, 2 insertions(+), 1804 deletions(-) delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0001-Revert-Removed-no-more-supported-C-17-declaration-ke.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0002-Remove-p8-os-includes.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0003-Use-kodi-StringUtils.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0004-Remove-SAFE_DELETE.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0005-Use-thread-sleep_for-instead-of-p8-time-utils.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0006-Use-std-thread-std-mutex-condition_variable-instead-.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0007-Remove-charset-converter-dependency.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0008-Remove-p8-platform-dependency.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0009-Travis-changes-for-cpp17.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0010-Remove-register-keyword-as-no-longer-valid-in-CPP17.patch delete mode 100644 package/kodi-pvr-mediaportal-tvserver/0011-changelog-and-version-v8.1.1.patch diff --git a/package/kodi-pvr-mediaportal-tvserver/0001-Revert-Removed-no-more-supported-C-17-declaration-ke.patch b/package/kodi-pvr-mediaportal-tvserver/0001-Revert-Removed-no-more-supported-C-17-declaration-ke.patch deleted file mode 100644 index c09bbc14de..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0001-Revert-Removed-no-more-supported-C-17-declaration-ke.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8696d5408d6ec14b1ff4395ed538b7a48528fe68 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Thu, 8 Oct 2020 16:12:18 +0100 -Subject: [PATCH] Revert "Removed no more supported (C++17) declaration keyword - (register)" - -This reverts commit a8edcafe6cc7a424615319995f4f7bdfab3856b1. - -Signed-off-by: Bernd Kuhls ---- - src/lib/tsreader/DvbUtil.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lib/tsreader/DvbUtil.cpp b/src/lib/tsreader/DvbUtil.cpp -index c973062..8c4798a 100644 ---- a/src/lib/tsreader/DvbUtil.cpp -+++ b/src/lib/tsreader/DvbUtil.cpp -@@ -77,7 +77,7 @@ namespace MPTV - //******************************************************************* - uint32_t crc32(char *data, int len) - { -- int i; -+ register int i; - uint32_t crc = 0xffffffff; - - for (i = 0; i < len; i++) --- -2.29.2 - diff --git a/package/kodi-pvr-mediaportal-tvserver/0002-Remove-p8-os-includes.patch b/package/kodi-pvr-mediaportal-tvserver/0002-Remove-p8-os-includes.patch deleted file mode 100644 index b18d1ff82c..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0002-Remove-p8-os-includes.patch +++ /dev/null @@ -1,157 +0,0 @@ -From be13de0679d1707eadaf5349ab904a07fa83bb13 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Wed, 7 Oct 2020 17:34:56 +0100 -Subject: [PATCH] Remove p8 os includes - -Signed-off-by: Bernd Kuhls ---- - src/Socket.cpp | 1 - - src/lib/tsreader/FileReader.h | 1 - - src/lib/tsreader/MemorySink.cpp | 1 - - src/lib/tsreader/Section.cpp | 2 ++ - src/os-dependent.h | 40 ++++++++++++++++++--------------- - src/timers.cpp | 1 - - src/windows/FileUtils.cpp | 6 ++++- - 7 files changed, 29 insertions(+), 23 deletions(-) - -diff --git a/src/Socket.cpp b/src/Socket.cpp -index 12f7e80..b7dd250 100644 ---- a/src/Socket.cpp -+++ b/src/Socket.cpp -@@ -7,7 +7,6 @@ - - #include "utils.h" - #include --#include "p8-platform/os.h" - #include "Socket.h" - - #include -diff --git a/src/lib/tsreader/FileReader.h b/src/lib/tsreader/FileReader.h -index 986bbc4..edb01f2 100644 ---- a/src/lib/tsreader/FileReader.h -+++ b/src/lib/tsreader/FileReader.h -@@ -33,7 +33,6 @@ - * http://forums.dvbowners.com/ - */ - --#include "p8-platform/os.h" // for __stat - #include - #include - -diff --git a/src/lib/tsreader/MemorySink.cpp b/src/lib/tsreader/MemorySink.cpp -index 2d60696..dafef56 100644 ---- a/src/lib/tsreader/MemorySink.cpp -+++ b/src/lib/tsreader/MemorySink.cpp -@@ -29,7 +29,6 @@ - - #if defined LIVE555 - --#include "p8-platform/os.h" - #include "MemorySink.h" - #include "GroupsockHelper.hh" - #include //for kodi::Log -diff --git a/src/lib/tsreader/Section.cpp b/src/lib/tsreader/Section.cpp -index 258c6a9..aac6b53 100644 ---- a/src/lib/tsreader/Section.cpp -+++ b/src/lib/tsreader/Section.cpp -@@ -22,6 +22,8 @@ - #include "os-dependent.h" - #include "Section.h" - -+#include -+ - namespace MPTV - { - CSection::CSection(void) -diff --git a/src/os-dependent.h b/src/os-dependent.h -index 1f368ea..cdc6980 100644 ---- a/src/os-dependent.h -+++ b/src/os-dependent.h -@@ -7,29 +7,33 @@ - - #pragma once - --#include "p8-platform/os.h" -+#include - --#ifdef TARGET_LINUX --// Retrieve the number of milliseconds that have elapsed since the system was started --#include --inline unsigned long long GetTickCount64(void) --{ -- struct timespec ts; -- if(clock_gettime(CLOCK_MONOTONIC, &ts) != 0) -- { -- return 0; -- } -- return (unsigned long long)( (ts.tv_sec * 1000) + (ts.tv_nsec / 1000000) ); --}; --#elif defined(TARGET_DARWIN) --#include -+#if (defined(_WIN32) || defined(_WIN64)) -+ -+#ifndef _SSIZE_T_DEFINED -+#ifdef _WIN64 -+typedef __int64 ssize_t; -+#else -+typedef _W64 int ssize_t; -+#endif -+#define _SSIZE_T_DEFINED -+#endif -+ -+#else -+ -+#if (defined(TARGET_LINUX) || defined(TARGET_DARWIN)) -+#include -+#include -+#include - inline unsigned long long GetTickCount64(void) - { -- struct timeval tv; -- gettimeofday(&tv, NULL); -- return (unsigned long long)( (tv.tv_sec * 1000) + (tv.tv_usec / 1000) ); -+ auto now = std::chrono::steady_clock::now(); -+ return std::chrono::duration_cast(now.time_since_epoch()).count(); - }; - #endif /* TARGET_LINUX || TARGET_DARWIN */ - -+#endif -+ - // Additional typedefs - typedef uint8_t byte; -diff --git a/src/timers.cpp b/src/timers.cpp -index a8760e4..a60b4c2 100644 ---- a/src/timers.cpp -+++ b/src/timers.cpp -@@ -11,7 +11,6 @@ - - using namespace std; - --#include "p8-platform/os.h" //needed for snprintf - #include "timers.h" - #include "settings.h" - #include "utils.h" -diff --git a/src/windows/FileUtils.cpp b/src/windows/FileUtils.cpp -index 0d26bc6..0c8a03e 100644 ---- a/src/windows/FileUtils.cpp -+++ b/src/windows/FileUtils.cpp -@@ -6,7 +6,6 @@ - */ - - #include "../FileUtils.h" --#include "p8-platform/os.h" - #include "p8-platform/windows/CharsetConverter.h" - #include - #include "../utils.h" -@@ -14,6 +13,11 @@ - #include - #endif - -+#ifdef TARGET_WINDOWS -+#include -+#include -+#endif -+ - namespace OS - { - bool CFile::Exists(const std::string& strFileName, long* errCode) diff --git a/package/kodi-pvr-mediaportal-tvserver/0003-Use-kodi-StringUtils.patch b/package/kodi-pvr-mediaportal-tvserver/0003-Use-kodi-StringUtils.patch deleted file mode 100644 index 597e76af28..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0003-Use-kodi-StringUtils.patch +++ /dev/null @@ -1,124 +0,0 @@ -From 621a98436875f8b4ceea18218a23025e0b59aeb3 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Wed, 7 Oct 2020 17:46:14 +0100 -Subject: [PATCH] Use kodi StringUtils - -Signed-off-by: Bernd Kuhls ---- - src/GUIDialogRecordSettings.cpp | 6 +++--- - src/lib/tsreader/TSReader.cpp | 10 +++++----- - src/pvrclient-mediaportal.cpp | 3 ++- - src/utils.cpp | 3 ++- - 4 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/src/GUIDialogRecordSettings.cpp b/src/GUIDialogRecordSettings.cpp -index cf36d82..8e942d2 100644 ---- a/src/GUIDialogRecordSettings.cpp -+++ b/src/GUIDialogRecordSettings.cpp -@@ -9,9 +9,9 @@ - #include "timers.h" - #include "utils.h" - #include "DateTime.h" --#include "p8-platform/util/StringUtils.h" - - #include -+#include - - /* Dialog item identifiers */ - #define BUTTON_OK 1 -@@ -106,7 +106,7 @@ bool CGUIDialogRecordSettings::OnInit() - - // Populate PreRecord spin control - std::string marginStart; -- marginStart = StringUtils::Format("%d (%s)", m_timerinfo.GetMarginStart(), kodi::GetLocalizedString(30136).c_str()); -+ marginStart = kodi::tools::StringUtils::Format("%d (%s)", m_timerinfo.GetMarginStart(), kodi::GetLocalizedString(30136).c_str()); - m_spinPreRecord->SetType(kodi::gui::controls::ADDON_SPIN_CONTROL_TYPE_TEXT); - m_spinPreRecord->AddLabel(kodi::GetLocalizedString(30135), -1); - m_spinPreRecord->AddLabel(marginStart, m_timerinfo.GetMarginStart()); //value from XBMC -@@ -120,7 +120,7 @@ bool CGUIDialogRecordSettings::OnInit() - - // Populate PostRecord spin control - std::string marginEnd; -- marginEnd = StringUtils::Format("%d (%s)", m_timerinfo.GetMarginEnd(), kodi::GetLocalizedString(30136).c_str()); -+ marginEnd = kodi::tools::StringUtils::Format("%d (%s)", m_timerinfo.GetMarginEnd(), kodi::GetLocalizedString(30136).c_str()); - m_spinPostRecord->SetType(kodi::gui::controls::ADDON_SPIN_CONTROL_TYPE_TEXT); - m_spinPostRecord->AddLabel(kodi::GetLocalizedString(30135), -1); - m_spinPostRecord->AddLabel(marginEnd, m_timerinfo.GetMarginEnd()); //value from XBMC -diff --git a/src/lib/tsreader/TSReader.cpp b/src/lib/tsreader/TSReader.cpp -index 1129c8e..3f9725b 100644 ---- a/src/lib/tsreader/TSReader.cpp -+++ b/src/lib/tsreader/TSReader.cpp -@@ -34,7 +34,7 @@ - #include "utils.h" - #include "TSDebug.h" - #include "p8-platform/util/timeutils.h" --#include "p8-platform/util/StringUtils.h" -+#include - #ifdef LIVE555 - #include "MemoryReader.h" - #include "MepoRTSPClient.h" -@@ -104,7 +104,7 @@ namespace MPTV - { - if (!tscard.TimeshiftFolderUNC.empty()) - { -- StringUtils::Replace(sFileName, tscard.TimeshiftFolder.c_str(), tscard.TimeshiftFolderUNC.c_str()); -+ kodi::tools::StringUtils::Replace(sFileName, tscard.TimeshiftFolder.c_str(), tscard.TimeshiftFolderUNC.c_str()); - bFound = true; - } - else -@@ -129,7 +129,7 @@ namespace MPTV - if (!it->RecordingFolderUNC.empty()) - { - // Remove the original base path and replace it with the given path -- StringUtils::Replace(sFileName, it->RecordingFolder.c_str(), it->RecordingFolderUNC.c_str()); -+ kodi::tools::StringUtils::Replace(sFileName, it->RecordingFolder.c_str(), it->RecordingFolderUNC.c_str()); - bFound = true; - break; - } -@@ -412,8 +412,8 @@ namespace MPTV - if (tmp.find("smb://") != string::npos) - { - // Convert XBMC smb share name back to a real windows network share... -- StringUtils::Replace(tmp, "smb://", "\\\\"); -- StringUtils::Replace(tmp, "/", "\\"); -+ kodi::tools::StringUtils::Replace(tmp, "smb://", "\\\\"); -+ kodi::tools::StringUtils::Replace(tmp, "/", "\\"); - } - #else - //TODO: do something useful... -diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp -index 93ca1bc..fdb31e7 100644 ---- a/src/pvrclient-mediaportal.cpp -+++ b/src/pvrclient-mediaportal.cpp -@@ -11,7 +11,7 @@ - #include - - #include "p8-platform/util/timeutils.h" --#include "p8-platform/util/StringUtils.h" -+#include - - #include "timers.h" - #include "channels.h" -@@ -29,6 +29,7 @@ - #include - #include - -+using namespace kodi::tools; - using namespace std; - using namespace MPTV; - -diff --git a/src/utils.cpp b/src/utils.cpp -index 63c823a..9b8def8 100644 ---- a/src/utils.cpp -+++ b/src/utils.cpp -@@ -13,8 +13,9 @@ - #include "settings.h" - #include - #include --#include "p8-platform/util/StringUtils.h" -+#include - -+using namespace kodi::tools; - using namespace std; - - void Tokenize(const string& str, vector& tokens, const string& delimiters = " ") diff --git a/package/kodi-pvr-mediaportal-tvserver/0004-Remove-SAFE_DELETE.patch b/package/kodi-pvr-mediaportal-tvserver/0004-Remove-SAFE_DELETE.patch deleted file mode 100644 index 98667913a8..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0004-Remove-SAFE_DELETE.patch +++ /dev/null @@ -1,289 +0,0 @@ -From 00d0d90fdac9257ed02e24677ba4f008f2486c94 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Wed, 7 Oct 2020 18:00:57 +0100 -Subject: [PATCH] Remove SAFE_DELETE - -Signed-off-by: Bernd Kuhls ---- - src/lib/tsreader/FileReader.cpp | 9 ++++++++- - src/lib/tsreader/MemoryBuffer.cpp | 22 +++++++++++++--------- - src/lib/tsreader/MultiFileReader.cpp | 11 ++++++++++- - src/lib/tsreader/TSReader.cpp | 25 +++++++++++++++++-------- - src/pvrclient-mediaportal.cpp | 27 ++++++++++++++++++--------- - src/utils.h | 2 -- - 6 files changed, 66 insertions(+), 30 deletions(-) - -diff --git a/src/lib/tsreader/FileReader.cpp b/src/lib/tsreader/FileReader.cpp -index ac8725c..3df22f2 100644 ---- a/src/lib/tsreader/FileReader.cpp -+++ b/src/lib/tsreader/FileReader.cpp -@@ -38,7 +38,6 @@ - #include "p8-platform/threads/threads.h" - #include //std::min, std::max - #include "p8-platform/util/timeutils.h" // for usleep --#include "p8-platform/util/util.h" - #include "utils.h" - #include - -@@ -58,6 +57,14 @@ - /* calcuate bitrate for file while reading */ - #define READ_BITRATE 0x10 - -+template void SafeDelete(T*& p) -+{ -+ if (p) -+ { -+ delete p; -+ p = nullptr; -+ } -+} - namespace MPTV - { - FileReader::FileReader() : -diff --git a/src/lib/tsreader/MemoryBuffer.cpp b/src/lib/tsreader/MemoryBuffer.cpp -index 6d411d7..609b575 100644 ---- a/src/lib/tsreader/MemoryBuffer.cpp -+++ b/src/lib/tsreader/MemoryBuffer.cpp -@@ -31,7 +31,6 @@ - - #include "p8-platform/util/timeutils.h" - #include "p8-platform/threads/mutex.h" --#include "p8-platform/util/util.h" - #include "MemoryBuffer.h" - #include //for kodi::Log - #include "TSDebug.h" -@@ -59,11 +58,14 @@ void CMemoryBuffer::Clear() - P8PLATFORM::CLockObject BufferLock(m_BufferLock); - std::vector::iterator it = m_Array.begin(); - -- for ( ; it != m_Array.end(); ++it ) -+ for (auto& item : m_Array) - { -- BufferItem *item = *it; -- SAFE_DELETE_ARRAY(item->data); -- SAFE_DELETE(item); -+ if (item) -+ { -+ if (item->data) -+ delete[] item->data; -+ delete item; -+ } - } - - m_Array.clear(); -@@ -150,8 +152,9 @@ size_t CMemoryBuffer::ReadFromBuffer(unsigned char *pbData, size_t lDataLength) - if (item->nOffset >= item->nDataLength) - { - m_Array.erase(m_Array.begin()); -- SAFE_DELETE_ARRAY(item->data); -- SAFE_DELETE(item); -+ if (item->data) -+ delete[] item->data; -+ delete item; - } - } - return bytesWritten; -@@ -182,8 +185,9 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength) - - m_BytesInBuffer -= copyLength; - m_Array.erase(m_Array.begin()); -- SAFE_DELETE_ARRAY(item2->data); -- SAFE_DELETE(item2); -+ if (item2->data) -+ delete[] item2->data; -+ delete item2; - } - if (m_BytesInBuffer > 0) - { -diff --git a/src/lib/tsreader/MultiFileReader.cpp b/src/lib/tsreader/MultiFileReader.cpp -index b8005b3..3828e06 100644 ---- a/src/lib/tsreader/MultiFileReader.cpp -+++ b/src/lib/tsreader/MultiFileReader.cpp -@@ -48,6 +48,15 @@ using namespace P8PLATFORM; - //Maximum time in msec to wait for the buffer file to become available - Needed for DVB radio (this sometimes takes some time) - #define MAX_BUFFER_TIMEOUT 1500 - -+template void SafeDelete(T*& p) -+{ -+ if (p) -+ { -+ delete p; -+ p = nullptr; -+ } -+} -+ - namespace MPTV - { - MultiFileReader::MultiFileReader() : -@@ -484,7 +493,7 @@ namespace MPTV - - TSDEBUG(ADDON_LOG_DEBUG, "MultiFileReader: Removing file %s\n", file->filename.c_str()); - -- SAFE_DELETE(file); -+ SafeDelete(file); - m_tsFiles.erase(m_tsFiles.begin()); - - filesToRemove--; -diff --git a/src/lib/tsreader/TSReader.cpp b/src/lib/tsreader/TSReader.cpp -index 3f9725b..4a72f4f 100644 ---- a/src/lib/tsreader/TSReader.cpp -+++ b/src/lib/tsreader/TSReader.cpp -@@ -44,6 +44,15 @@ - - using namespace std; - -+template void SafeDelete(T*& p) -+{ -+ if (p) -+ { -+ delete p; -+ p = nullptr; -+ } -+} -+ - namespace MPTV - { - CTsReader::CTsReader() : m_demultiplexer(*this), -@@ -69,10 +78,10 @@ namespace MPTV - - CTsReader::~CTsReader(void) - { -- SAFE_DELETE(m_fileReader); -+ SafeDelete(m_fileReader); - #ifdef LIVE555 -- SAFE_DELETE(m_buffer); -- SAFE_DELETE(m_rtspClient); -+ SafeDelete(m_buffer); -+ SafeDelete(m_rtspClient); - #endif - } - -@@ -225,8 +234,8 @@ namespace MPTV - - if ( !m_rtspClient->OpenStream(m_fileName.c_str()) ) - { -- SAFE_DELETE(m_rtspClient); -- SAFE_DELETE(m_buffer); -+ SafeDelete(m_rtspClient); -+ SafeDelete(m_buffer); - return E_FAIL; - } - -@@ -318,8 +327,8 @@ namespace MPTV - #ifdef LIVE555 - kodi::Log(ADDON_LOG_INFO, "TsReader: closing RTSP client"); - m_rtspClient->Stop(); -- SAFE_DELETE(m_rtspClient); -- SAFE_DELETE(m_buffer); -+ SafeDelete(m_rtspClient); -+ SafeDelete(m_buffer); - #endif - } - else -@@ -327,7 +336,7 @@ namespace MPTV - kodi::Log(ADDON_LOG_INFO, "TsReader: closing file"); - m_fileReader->CloseFile(); - } -- SAFE_DELETE(m_fileReader); -+ SafeDelete(m_fileReader); - m_State = State_Stopped; - } - } -diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp -index fdb31e7..5479950 100644 ---- a/src/pvrclient-mediaportal.cpp -+++ b/src/pvrclient-mediaportal.cpp -@@ -42,6 +42,15 @@ int g_iTVServerKodiBuild = 0; - #define TVSERVERKODI_RECOMMENDED_VERSION_STRING "1.2.3.122 till 1.20.0.140" - #define TVSERVERKODI_RECOMMENDED_VERSION_BUILD 140 - -+template void SafeDelete(T*& p) -+{ -+ if (p) -+ { -+ delete p; -+ p = nullptr; -+ } -+} -+ - /************************************************************/ - /** Class interface */ - -@@ -75,10 +84,10 @@ cPVRClientMediaPortal::~cPVRClientMediaPortal() - kodi::Log(ADDON_LOG_DEBUG, "->~cPVRClientMediaPortal()"); - Disconnect(); - -- SAFE_DELETE(Timer::lifetimeValues); -- SAFE_DELETE(m_tcpclient); -- SAFE_DELETE(m_genretable); -- SAFE_DELETE(m_lastSelectedRecording); -+ SafeDelete(Timer::lifetimeValues); -+ SafeDelete(m_tcpclient); -+ SafeDelete(m_genretable); -+ SafeDelete(m_lastSelectedRecording); - } - - string cPVRClientMediaPortal::SendCommand(const char* command) -@@ -321,7 +330,7 @@ void cPVRClientMediaPortal::Disconnect() - if ((CSettings::Get().GetStreamingMethod()==TSReader) && (m_tsreader != NULL)) - { - m_tsreader->Close(); -- SAFE_DELETE(m_tsreader); -+ SafeDelete(m_tsreader); - } - SendCommand("StopTimeshift:\n"); - } -@@ -1748,7 +1757,7 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe - m_iCurrentChannel = -1; - if (m_tsreader != nullptr) - { -- SAFE_DELETE(m_tsreader); -+ SafeDelete(m_tsreader); - } - return false; - } -@@ -1959,7 +1968,7 @@ void cPVRClientMediaPortal::CloseLiveStream(void) - if (CSettings::Get().GetStreamingMethod() == TSReader && m_tsreader) - { - m_tsreader->Close(); -- SAFE_DELETE(m_tsreader); -+ SafeDelete(m_tsreader); - } - result = SendCommand("StopTimeshift:\n"); - kodi::Log(ADDON_LOG_INFO, "CloseLiveStream: %s", result.c_str()); -@@ -2141,7 +2150,7 @@ void cPVRClientMediaPortal::CloseRecordedStream(void) - { - kodi::Log(ADDON_LOG_INFO, "CloseRecordedStream: Stop TSReader..."); - m_tsreader->Close(); -- SAFE_DELETE(m_tsreader); -+ SafeDelete(m_tsreader); - } - else - { -@@ -2409,7 +2418,7 @@ cRecording* cPVRClientMediaPortal::GetRecordingInfo(const kodi::addon::PVRRecord - { - return m_lastSelectedRecording; - } -- SAFE_DELETE(m_lastSelectedRecording); -+ SafeDelete(m_lastSelectedRecording); - } - - if (!IsUp()) -diff --git a/src/utils.h b/src/utils.h -index 823b46e..d03569a 100644 ---- a/src/utils.h -+++ b/src/utils.h -@@ -11,13 +11,11 @@ - #include - #include - #include "uri.h" --#include "p8-platform/util/util.h" - - #ifdef TARGET_WINDOWS - #include "windows/WindowsUtils.h" - #endif - -- - /** - * String tokenize - * Split string using the given delimiter into a vector of substrings diff --git a/package/kodi-pvr-mediaportal-tvserver/0005-Use-thread-sleep_for-instead-of-p8-time-utils.patch b/package/kodi-pvr-mediaportal-tvserver/0005-Use-thread-sleep_for-instead-of-p8-time-utils.patch deleted file mode 100644 index 4d61d15b2d..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0005-Use-thread-sleep_for-instead-of-p8-time-utils.patch +++ /dev/null @@ -1,308 +0,0 @@ -From 4b4a16157870d5816339700616f1efdb60fb59e3 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Wed, 7 Oct 2020 18:12:10 +0100 -Subject: [PATCH] Use thread sleep_for instead of p8 time utils - -Signed-off-by: Bernd Kuhls ---- - src/lib/tsreader/DeMultiplexer.cpp | 6 ++++-- - src/lib/tsreader/FileReader.cpp | 5 +++-- - src/lib/tsreader/MemoryBuffer.cpp | 5 +++-- - src/lib/tsreader/MepoRTSPClient.cpp | 5 +++-- - src/lib/tsreader/MultiFileReader.cpp | 9 +++++---- - src/lib/tsreader/TSReader.cpp | 5 +++-- - src/pvrclient-mediaportal.cpp | 23 +++++++++++++---------- - 7 files changed, 34 insertions(+), 24 deletions(-) - -diff --git a/src/lib/tsreader/DeMultiplexer.cpp b/src/lib/tsreader/DeMultiplexer.cpp -index 63bf20e..436e452 100644 ---- a/src/lib/tsreader/DeMultiplexer.cpp -+++ b/src/lib/tsreader/DeMultiplexer.cpp -@@ -37,6 +37,8 @@ - #include //for kodi::Log - #include "TSReader.h" - -+#include -+ - #define MAX_BUF_SIZE 8000 - #define BUFFER_LENGTH 0x1000 - #define READ_SIZE (1316*30) -@@ -83,7 +85,7 @@ namespace MPTV - { - size_t BytesRead = ReadFromFile(); - if (0 == BytesRead) -- usleep(10000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); - } - m_bStarting = false; - } -@@ -248,7 +250,7 @@ namespace MPTV - { - size_t BytesRead = ReadFromFile(); - if (0 == BytesRead) -- usleep(10000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); - dwBytesProcessed += BytesRead; - } - -diff --git a/src/lib/tsreader/FileReader.cpp b/src/lib/tsreader/FileReader.cpp -index 3df22f2..73b23af 100644 ---- a/src/lib/tsreader/FileReader.cpp -+++ b/src/lib/tsreader/FileReader.cpp -@@ -37,10 +37,10 @@ - #include "TSDebug.h" - #include "p8-platform/threads/threads.h" - #include //std::min, std::max --#include "p8-platform/util/timeutils.h" // for usleep - #include "utils.h" - #include - -+#include - - /* indicate that caller can handle truncated reads, where function returns before entire buffer has been filled */ - #define READ_TRUNCATED 0x01 -@@ -145,7 +145,8 @@ namespace MPTV - } - } - } -- usleep(20000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(20)); -+ - } while (--Tmo); - - if (Tmo) -diff --git a/src/lib/tsreader/MemoryBuffer.cpp b/src/lib/tsreader/MemoryBuffer.cpp -index 609b575..0e736f2 100644 ---- a/src/lib/tsreader/MemoryBuffer.cpp -+++ b/src/lib/tsreader/MemoryBuffer.cpp -@@ -29,12 +29,13 @@ - - #ifdef LIVE555 - --#include "p8-platform/util/timeutils.h" - #include "p8-platform/threads/mutex.h" - #include "MemoryBuffer.h" - #include //for kodi::Log - #include "TSDebug.h" - -+#include -+ - #define MAX_MEMORY_BUFFER_SIZE (1024L*1024L*12L) - - CMemoryBuffer::CMemoryBuffer(void) -@@ -197,7 +198,7 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength) - - if (sleep) - { -- usleep(10000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); - } - return S_OK; - } -diff --git a/src/lib/tsreader/MepoRTSPClient.cpp b/src/lib/tsreader/MepoRTSPClient.cpp -index 4971986..ccd6761 100644 ---- a/src/lib/tsreader/MepoRTSPClient.cpp -+++ b/src/lib/tsreader/MepoRTSPClient.cpp -@@ -18,13 +18,14 @@ - - #if defined LIVE555 - --#include "p8-platform/util/timeutils.h" - #include "MepoRTSPClient.h" - #include "MemorySink.h" - #include //for kodi::Log - #include "utils.h" - #include "os-dependent.h" - -+#include -+ - CRTSPClient::CRTSPClient() - { - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::CRTSPClient()"); -@@ -531,7 +532,7 @@ void CRTSPClient::FillBuffer(unsigned long byteCount) - - while ( IsRunning() && m_buffer->Size() < byteCount) - { -- usleep(5000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(5)); - if (GetTickCount64() - tickCount > 3000) - break; - } -diff --git a/src/lib/tsreader/MultiFileReader.cpp b/src/lib/tsreader/MultiFileReader.cpp -index 3828e06..21fd7b2 100644 ---- a/src/lib/tsreader/MultiFileReader.cpp -+++ b/src/lib/tsreader/MultiFileReader.cpp -@@ -39,10 +39,11 @@ - #include - #include "utils.h" - #include --#include "p8-platform/util/timeutils.h" - #include "p8-platform/threads/threads.h" - #include - -+#include -+ - using namespace P8PLATFORM; - - //Maximum time in msec to wait for the buffer file to become available - Needed for DVB radio (this sometimes takes some time) -@@ -112,7 +113,7 @@ namespace MPTV - retryCount++; - kodi::Log(ADDON_LOG_DEBUG, "MultiFileReader: buffer file has zero length, closing, waiting 100 ms and re-opening. Attempt: %d.", retryCount); - m_TSBufferFile.CloseFile(); -- usleep(100000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(100)); - hResult = m_TSBufferFile.OpenFile(); - kodi::Log(ADDON_LOG_DEBUG, "MultiFileReader: buffer file opened return code %d.", hResult); - } -@@ -124,7 +125,7 @@ namespace MPTV - - do - { -- usleep(100000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(100)); - if (timeout.TimeLeft() == 0) - { - kodi::Log(ADDON_LOG_ERROR, "MultiFileReader: timed out while waiting for buffer file to become available"); -@@ -457,7 +458,7 @@ namespace MPTV - // try to clear local / remote SMB file cache. This should happen when we close the filehandle - m_TSBufferFile.CloseFile(); - m_TSBufferFile.OpenFile(); -- usleep(5000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(5)); - } - - if (Error) -diff --git a/src/lib/tsreader/TSReader.cpp b/src/lib/tsreader/TSReader.cpp -index 4a72f4f..40a4faf 100644 ---- a/src/lib/tsreader/TSReader.cpp -+++ b/src/lib/tsreader/TSReader.cpp -@@ -33,7 +33,6 @@ - #include "MultiFileReader.h" - #include "utils.h" - #include "TSDebug.h" --#include "p8-platform/util/timeutils.h" - #include - #ifdef LIVE555 - #include "MemoryReader.h" -@@ -42,6 +41,8 @@ - #endif - #include "FileUtils.h" - -+#include -+ - using namespace std; - - template void SafeDelete(T*& p) -@@ -396,7 +397,7 @@ namespace MPTV - fileReader->OnChannelChange(); - - kodi::Log(ADDON_LOG_DEBUG, "%s:: move from %I64d to %I64d tsbufpos %I64d", __FUNCTION__, pos_before, pos_after, timeShiftBufferPos); -- usleep(100000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(100)); - - // Set the stream start times to this new channel - time(&m_startTime); -diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp -index 5479950..851b940 100644 ---- a/src/pvrclient-mediaportal.cpp -+++ b/src/pvrclient-mediaportal.cpp -@@ -10,7 +10,6 @@ - #include - #include - --#include "p8-platform/util/timeutils.h" - #include - - #include "timers.h" -@@ -29,6 +28,8 @@ - #include - #include - -+#include -+ - using namespace kodi::tools; - using namespace std; - using namespace MPTV; -@@ -389,7 +390,7 @@ void* cPVRClientMediaPortal::Process(void) - if (keepWaiting) - { - // Wait for 1 minute before re-trying -- usleep(60000000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(60000)); - } - } - SetConnectionState(state); -@@ -1571,7 +1572,8 @@ PVR_ERROR cPVRClientMediaPortal::AddTimer(const kodi::addon::PVRTimer& timerinfo - if (timerinfo.GetStartTime() <= 0) - { - // Refresh the recordings list to see the newly created recording -- usleep(100000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(100)); -+ - kodi::addon::CInstancePVRClient::TriggerRecordingUpdate(); - } - -@@ -1785,7 +1787,8 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe - kodi::Log(ADDON_LOG_INFO, "Channel timeshift buffer: %s", timeshiftfields[2].c_str()); - if (channelinfo.GetIsRadio()) - { -- usleep(100000); // 100 ms sleep to allow the buffer to fill -+ // 100 ms sleep to allow the buffer to fill -+ std::this_thread::sleep_for(std::chrono::milliseconds(100)); - } - } - else -@@ -1796,7 +1799,7 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe - if (CSettings::Get().GetSleepOnRTSPurl() > 0) - { - kodi::Log(ADDON_LOG_INFO, "Sleeping %i ms before opening stream: %s", CSettings::Get().GetSleepOnRTSPurl(), timeshiftfields[0].c_str()); -- usleep(CSettings::Get().GetSleepOnRTSPurl() * 1000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(CSettings::Get().GetSleepOnRTSPurl())); - } - - // Check the returned stream URL. When the URL is an rtsp stream, we need -@@ -1878,7 +1881,7 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe - CloseLiveStream(); - return false; - } -- usleep(400000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(400)); - } - } - -@@ -1924,7 +1927,7 @@ int cPVRClientMediaPortal::ReadLiveStream(unsigned char *pBuffer, unsigned int i - - if (m_tsreader->Read(bufptr, read_wanted, &read_wanted) > 0) - { -- usleep(20000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(20)); - read_timeouts++; - return static_cast(read_wanted); - } -@@ -1948,7 +1951,7 @@ int cPVRClientMediaPortal::ReadLiveStream(unsigned char *pBuffer, unsigned int i - } - bufptr += read_wanted; - read_timeouts++; -- usleep(10000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(10)); - } - } - read_timeouts = 0; -@@ -2175,7 +2178,7 @@ int cPVRClientMediaPortal::ReadRecordedStream(unsigned char *pBuffer, unsigned i - - if (m_tsreader->Read(bufptr, read_wanted, &read_wanted) > 0) - { -- usleep(20000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(20)); - return static_cast(read_wanted); - } - read_done += read_wanted; -@@ -2183,7 +2186,7 @@ int cPVRClientMediaPortal::ReadRecordedStream(unsigned char *pBuffer, unsigned i - if ( read_done < static_cast(iBufferSize) ) - { - bufptr += read_wanted; -- usleep(20000); -+ std::this_thread::sleep_for(std::chrono::milliseconds(20)); - } - } - diff --git a/package/kodi-pvr-mediaportal-tvserver/0006-Use-std-thread-std-mutex-condition_variable-instead-.patch b/package/kodi-pvr-mediaportal-tvserver/0006-Use-std-thread-std-mutex-condition_variable-instead-.patch deleted file mode 100644 index 7d6e14115f..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0006-Use-std-thread-std-mutex-condition_variable-instead-.patch +++ /dev/null @@ -1,673 +0,0 @@ -From 482d898333facf53bd3208cf5e44a0cf3e1f4f3b Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Thu, 8 Oct 2020 14:59:55 +0100 -Subject: [PATCH] Use std::thread, std::mutex, condition_variable instead of - event - -Signed-off-by: Bernd Kuhls ---- - src/lib/tsreader/DeMultiplexer.cpp | 2 +- - src/lib/tsreader/DeMultiplexer.h | 4 +- - src/lib/tsreader/FileReader.cpp | 2 +- - src/lib/tsreader/MemoryBuffer.cpp | 15 +++-- - src/lib/tsreader/MemoryBuffer.h | 7 +- - src/lib/tsreader/MemoryReader.h | 1 + - src/lib/tsreader/MemorySink.cpp | 2 +- - src/lib/tsreader/MemorySink.h | 4 +- - src/lib/tsreader/MepoRTSPClient.cpp | 28 ++++---- - src/lib/tsreader/MepoRTSPClient.h | 10 ++- - src/lib/tsreader/MultiFileReader.cpp | 9 ++- - src/os-dependent.h | 95 ++++++++++++++++++++++++++++ - src/pvrclient-mediaportal.cpp | 29 ++++----- - src/pvrclient-mediaportal.h | 21 +++--- - 14 files changed, 168 insertions(+), 61 deletions(-) - -diff --git a/src/lib/tsreader/DeMultiplexer.cpp b/src/lib/tsreader/DeMultiplexer.cpp -index 436e452..3d0d9a2 100644 ---- a/src/lib/tsreader/DeMultiplexer.cpp -+++ b/src/lib/tsreader/DeMultiplexer.cpp -@@ -104,7 +104,7 @@ namespace MPTV - if (m_filter.IsSeeking()) - return 0; // Ambass : to check - -- P8PLATFORM::CLockObject lock(m_sectionRead); -+ std::lock_guard lock(m_sectionRead); - if (NULL == m_reader) - return 0; - -diff --git a/src/lib/tsreader/DeMultiplexer.h b/src/lib/tsreader/DeMultiplexer.h -index c7cd577..72ed87d 100644 ---- a/src/lib/tsreader/DeMultiplexer.h -+++ b/src/lib/tsreader/DeMultiplexer.h -@@ -37,7 +37,7 @@ - #include "PacketSync.h" - #include "TSHeader.h" - #include "PatParser.h" --#include "p8-platform/threads/mutex.h" -+#include - - namespace MPTV - { -@@ -60,7 +60,7 @@ namespace MPTV - private: - unsigned long long m_LastDataFromRtsp; - bool m_bEndOfFile; -- P8PLATFORM::CMutex m_sectionRead; -+ std::mutex m_sectionRead; - FileReader* m_reader; - CPatParser m_patParser; - CTsReader& m_filter; -diff --git a/src/lib/tsreader/FileReader.cpp b/src/lib/tsreader/FileReader.cpp -index 73b23af..358b05f 100644 ---- a/src/lib/tsreader/FileReader.cpp -+++ b/src/lib/tsreader/FileReader.cpp -@@ -35,7 +35,7 @@ - #include "FileReader.h" - #include //for kodi::Log - #include "TSDebug.h" --#include "p8-platform/threads/threads.h" -+#include "os-dependent.h" - #include //std::min, std::max - #include "utils.h" - #include -diff --git a/src/lib/tsreader/MemoryBuffer.cpp b/src/lib/tsreader/MemoryBuffer.cpp -index 0e736f2..b5400da 100644 ---- a/src/lib/tsreader/MemoryBuffer.cpp -+++ b/src/lib/tsreader/MemoryBuffer.cpp -@@ -29,7 +29,7 @@ - - #ifdef LIVE555 - --#include "p8-platform/threads/mutex.h" -+#include "os-dependent.h" - #include "MemoryBuffer.h" - #include //for kodi::Log - #include "TSDebug.h" -@@ -56,7 +56,7 @@ bool CMemoryBuffer::IsRunning() - - void CMemoryBuffer::Clear() - { -- P8PLATFORM::CLockObject BufferLock(m_BufferLock); -+ std::lock_guard BufferLock(m_BufferLock); - std::vector::iterator it = m_Array.begin(); - - for (auto& item : m_Array) -@@ -104,14 +104,17 @@ size_t CMemoryBuffer::ReadFromBuffer(unsigned char *pbData, size_t lDataLength) - { - if (!m_bRunning) - return 0; -- m_event.Wait(5000); -+ -+ std::unique_lock lock(m_BufferLock); -+ m_condition.wait_for(lock, std::chrono::milliseconds(5000)); -+ - if (!m_bRunning) - return 0; - } - - // kodi::Log(ADDON_LOG_DEBUG, "get..%d/%d", lDataLength, m_BytesInBuffer); - size_t bytesWritten = 0; -- P8PLATFORM::CLockObject BufferLock(m_BufferLock); -+ std::lock_guard BufferLock(m_BufferLock); - - while (bytesWritten < lDataLength) - { -@@ -172,7 +175,7 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength) - memcpy(item->data, pbData, lDataLength); - bool sleep = false; - { -- P8PLATFORM::CLockObject BufferLock(m_BufferLock); -+ std::lock_guard BufferLock(m_BufferLock); - m_Array.push_back(item); - m_BytesInBuffer += lDataLength; - -@@ -192,7 +195,7 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength) - } - if (m_BytesInBuffer > 0) - { -- m_event.Broadcast(); -+ m_condition.notify_one(); - } - } - -diff --git a/src/lib/tsreader/MemoryBuffer.h b/src/lib/tsreader/MemoryBuffer.h -index 080553b..4f8708f 100644 ---- a/src/lib/tsreader/MemoryBuffer.h -+++ b/src/lib/tsreader/MemoryBuffer.h -@@ -30,7 +30,8 @@ - - #ifdef LIVE555 - --#include "p8-platform/threads/mutex.h" -+#include -+#include - #include - - class CMemoryBuffer -@@ -55,9 +56,9 @@ class CMemoryBuffer - - protected: - std::vector m_Array; -- P8PLATFORM::CMutex m_BufferLock; -+ std::mutex m_BufferLock; - size_t m_BytesInBuffer; -- P8PLATFORM::CEvent m_event; -+ std::condition_variable m_condition; - bool m_bRunning; - }; - #endif //LIVE555 -diff --git a/src/lib/tsreader/MemoryReader.h b/src/lib/tsreader/MemoryReader.h -index fef4f98..288984b 100644 ---- a/src/lib/tsreader/MemoryReader.h -+++ b/src/lib/tsreader/MemoryReader.h -@@ -32,6 +32,7 @@ - - #include "FileReader.h" - #include "MemoryBuffer.h" -+#include "os-dependent.h" - - namespace MPTV - { -diff --git a/src/lib/tsreader/MemorySink.cpp b/src/lib/tsreader/MemorySink.cpp -index dafef56..af8b74c 100644 ---- a/src/lib/tsreader/MemorySink.cpp -+++ b/src/lib/tsreader/MemorySink.cpp -@@ -84,7 +84,7 @@ void CMemorySink::addData(unsigned char* data, size_t dataSize, struct timeval U - return; - } - -- P8PLATFORM::CLockObject BufferLock(m_BufferLock); -+ std::lock_guard BufferLock(m_BufferLock); - - m_bReEntrant = true; - m_buffer.PutBuffer(data, dataSize); -diff --git a/src/lib/tsreader/MemorySink.h b/src/lib/tsreader/MemorySink.h -index cc0f3c8..22d91c6 100644 ---- a/src/lib/tsreader/MemorySink.h -+++ b/src/lib/tsreader/MemorySink.h -@@ -35,7 +35,7 @@ - #endif - - #include "MemoryBuffer.h" --#include "p8-platform/threads/mutex.h" -+#include - - class CMemorySink: public MediaSink - { -@@ -57,7 +57,7 @@ class CMemorySink: public MediaSink - private: // redefined virtual functions: - virtual Boolean continuePlaying(); - -- P8PLATFORM::CMutex m_BufferLock; -+ std::mutex m_BufferLock; - unsigned char* m_pSubmitBuffer; - int m_iSubmitBufferPos; - bool m_bReEntrant; -diff --git a/src/lib/tsreader/MepoRTSPClient.cpp b/src/lib/tsreader/MepoRTSPClient.cpp -index ccd6761..688ae84 100644 ---- a/src/lib/tsreader/MepoRTSPClient.cpp -+++ b/src/lib/tsreader/MepoRTSPClient.cpp -@@ -54,7 +54,7 @@ CRTSPClient::CRTSPClient() - m_env = NULL; - m_fDuration = 0.0f; - m_url[0] = '\0'; -- m_bRunning = false; -+ m_running = false; - } - - CRTSPClient::~CRTSPClient() -@@ -496,7 +496,9 @@ void CRTSPClient::StartBufferThread() - - if (!m_BufferThreadActive) - { -- CreateThread(); -+ m_running = true; -+ m_thread = std::thread([&] { Process(); }); -+ - m_BufferThreadActive = true; - } - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::StartBufferThread done"); -@@ -505,11 +507,12 @@ void CRTSPClient::StartBufferThread() - void CRTSPClient::StopBufferThread() - { - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::StopBufferThread"); -- m_bRunning = false; -+ m_running = false; - if (!m_BufferThreadActive) - return; - -- StopThread(); -+ if (m_thread.joinable()) -+ m_thread.join(); - - m_BufferThreadActive = false; - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::StopBufferThread done"); -@@ -539,25 +542,22 @@ void CRTSPClient::FillBuffer(unsigned long byteCount) - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::Fillbuffer...%d/%d\n", byteCount, m_buffer->Size() ); - } - --void *CRTSPClient::Process() -+void CRTSPClient::Process() - { - m_BufferThreadActive = true; -- m_bRunning = true; - - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient:: thread started"); - -- while (m_env != NULL && !IsStopped()) -+ while (m_env != NULL && m_running) - { - m_env->taskScheduler().doEventLoop(); -- if (m_bRunning == false) -+ if (m_running == false) - break; - } - - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient:: thread stopped"); - - m_BufferThreadActive = false; -- -- return NULL; - } - - void CRTSPClient::Continue() -@@ -582,8 +582,12 @@ bool CRTSPClient::Pause() - if (m_ourClient != NULL && m_session != NULL) - { - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::Pause() stopthread"); -- StopThread(10000); // Ambass : sometimes 100mS ( prev value ) is not enough and thread is not stopped. -- // now stopping takes around 5 secs ?!?! why ???? -+ // Ambass : sometimes 100mS ( prev value ) is not enough and thread is not stopped. -+ // now stopping takes around 5 secs ?!?! why ???? -+ m_running = false; -+ if (m_thread.joinable()) -+ m_thread.join(); -+ - kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::Pause() thread stopped"); - RTSPClient* rtspClient=(RTSPClient*)m_ourClient; - rtspClient->pauseMediaSession(*m_session); -diff --git a/src/lib/tsreader/MepoRTSPClient.h b/src/lib/tsreader/MepoRTSPClient.h -index bd6e578..9bb0421 100644 ---- a/src/lib/tsreader/MepoRTSPClient.h -+++ b/src/lib/tsreader/MepoRTSPClient.h -@@ -31,7 +31,8 @@ - - #ifdef LIVE555 - --#include "p8-platform/threads/threads.h" -+#include -+#include - #include "lib/tsreader/MemoryBuffer.h" - - #include "liveMedia.hh" -@@ -41,7 +42,7 @@ - - #define RTSP_URL_BUFFERSIZE 2048 - --class CRTSPClient: public P8PLATFORM::CThread -+class CRTSPClient - { - public: - CRTSPClient(); -@@ -101,7 +102,7 @@ class CRTSPClient: public P8PLATFORM::CThread - - // Thread - private: -- virtual void *Process(void); -+ void Process(); - void StartBufferThread(); - void StopBufferThread(); - bool m_BufferThreadActive; -@@ -113,5 +114,8 @@ class CRTSPClient: public P8PLATFORM::CThread - bool m_bRunning; - bool m_bPaused; - char m_outFileName[1000]; -+ -+ std::atomic m_running = {false}; -+ std::thread m_thread; - }; - #endif //LIVE555 -diff --git a/src/lib/tsreader/MultiFileReader.cpp b/src/lib/tsreader/MultiFileReader.cpp -index 21fd7b2..5106418 100644 ---- a/src/lib/tsreader/MultiFileReader.cpp -+++ b/src/lib/tsreader/MultiFileReader.cpp -@@ -35,17 +35,16 @@ - #include "MultiFileReader.h" - #include //for kodi::Log - #include -+#include - #include "TSDebug.h" - #include - #include "utils.h" - #include --#include "p8-platform/threads/threads.h" - #include -+#include "os-dependent.h" - - #include - --using namespace P8PLATFORM; -- - //Maximum time in msec to wait for the buffer file to become available - Needed for DVB radio (this sometimes takes some time) - #define MAX_BUFFER_TIMEOUT 1500 - -@@ -121,12 +120,12 @@ namespace MPTV - if (RefreshTSBufferFile() == S_FALSE) - { - // For radio the buffer sometimes needs some time to become available, so wait and try it more than once -- P8PLATFORM::CTimeout timeout(MAX_BUFFER_TIMEOUT); -+ kodi::tools::CEndTime timeout(MAX_BUFFER_TIMEOUT); - - do - { - std::this_thread::sleep_for(std::chrono::milliseconds(100)); -- if (timeout.TimeLeft() == 0) -+ if (timeout.MillisLeft() == 0) - { - kodi::Log(ADDON_LOG_ERROR, "MultiFileReader: timed out while waiting for buffer file to become available"); - kodi::QueueNotification(QUEUE_ERROR, "", "Time out while waiting for buffer file"); -diff --git a/src/os-dependent.h b/src/os-dependent.h -index cdc6980..28c162c 100644 ---- a/src/os-dependent.h -+++ b/src/os-dependent.h -@@ -11,6 +11,13 @@ - - #if (defined(_WIN32) || defined(_WIN64)) - -+#include -+ -+/* Handling of 2-byte Windows wchar strings */ -+#define WcsLen wcslen -+#define WcsToMbs wcstombs -+typedef wchar_t Wchar_t; /* sizeof(wchar_t) = 2 bytes on Windows */ -+ - #ifndef _SSIZE_T_DEFINED - #ifdef _WIN64 - typedef __int64 ssize_t; -@@ -20,20 +27,108 @@ typedef _W64 int ssize_t; - #define _SSIZE_T_DEFINED - #endif - -+/* Prevent deprecation warnings */ -+#define strnicmp _strnicmp -+ -+#define PATH_SEPARATOR_CHAR '\\' -+ - #else - - #if (defined(TARGET_LINUX) || defined(TARGET_DARWIN)) - #include - #include - #include -+ -+#define strnicmp(X,Y,N) strncasecmp(X,Y,N) -+ - inline unsigned long long GetTickCount64(void) - { - auto now = std::chrono::steady_clock::now(); - return std::chrono::duration_cast(now.time_since_epoch()).count(); - }; -+ -+#define PATH_SEPARATOR_CHAR '/' -+ -+#if defined(__APPLE__) -+// for HRESULT -+#include -+#endif -+ -+/* Handling of 2-byte Windows wchar strings on non-Windows targets -+ * Used by The MediaPortal and ForTheRecord pvr addons -+ */ -+typedef uint16_t Wchar_t; /* sizeof(wchar_t) = 4 bytes on Linux, but the MediaPortal buffer files have 2-byte wchars */ -+ -+/* This is a replacement of the Windows wcslen() function which assumes that -+ * wchar_t is a 2-byte character. -+ * It is used for processing Windows wchar strings -+ */ -+inline size_t WcsLen(const Wchar_t *str) -+{ -+ const unsigned short *eos = (const unsigned short*)str; -+ while( *eos++ ) ; -+ return( (size_t)(eos - (const unsigned short*)str) -1); -+}; -+ -+/* This is a replacement of the Windows wcstombs() function which assumes that -+ * wchar_t is a 2-byte character. -+ * It is used for processing Windows wchar strings -+ */ -+inline size_t WcsToMbs(char *s, const Wchar_t *w, size_t n) -+{ -+ size_t i = 0; -+ const unsigned short *wc = (const unsigned short*) w; -+ while(wc[i] && (i < n)) -+ { -+ s[i] = wc[i]; -+ ++i; -+ } -+ if (i < n) s[i] = '\0'; -+ -+ return (i); -+}; -+ - #endif /* TARGET_LINUX || TARGET_DARWIN */ - - #endif - -+typedef long LONG; -+#if !defined(__APPLE__) -+typedef LONG HRESULT; -+#endif -+ -+#ifndef FAILED -+#define FAILED(Status) ((HRESULT)(Status)<0) -+#endif -+ -+#ifndef SUCCEEDED -+#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0) -+#endif -+ -+#define _FILE_OFFSET_BITS 64 -+#define FILE_BEGIN 0 -+#define FILE_CURRENT 1 -+#define FILE_END 2 -+ -+#ifndef S_OK -+#define S_OK 0L -+#endif -+ -+#ifndef S_FALSE -+#define S_FALSE 1L -+#endif -+ -+// Error codes -+#define ERROR_FILENAME_EXCED_RANGE 206L -+#define ERROR_INVALID_NAME 123L -+ -+#ifndef E_OUTOFMEMORY -+#define E_OUTOFMEMORY 0x8007000EL -+#endif -+ -+#ifndef E_FAIL -+#define E_FAIL 0x8004005EL -+#endif -+ - // Additional typedefs - typedef uint8_t byte; -diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp -index 851b940..c1052e3 100644 ---- a/src/pvrclient-mediaportal.cpp -+++ b/src/pvrclient-mediaportal.cpp -@@ -28,8 +28,6 @@ - #include - #include - --#include -- - using namespace kodi::tools; - using namespace std; - using namespace MPTV; -@@ -70,7 +68,6 @@ cPVRClientMediaPortal::cPVRClientMediaPortal(KODI_HANDLE instance, const std::st - m_BackendTime = 0; - m_tsreader = NULL; - m_genretable = NULL; -- m_iLastRecordingUpdate = 0; - m_signalStateCounter = 0; - m_iSignal = 0; - m_iSNR = 0; -@@ -99,7 +96,7 @@ string cPVRClientMediaPortal::SendCommand(const char* command) - - string cPVRClientMediaPortal::SendCommand(const string& command) - { -- P8PLATFORM::CLockObject critsec(m_mutex); -+ std::lock_guard critsec(m_mutex); - - if ( !m_tcpclient->send(command) ) - { -@@ -174,10 +171,10 @@ ADDON_STATUS cPVRClientMediaPortal::TryConnect() - case PVR_CONNECTION_STATE_SERVER_UNREACHABLE: - kodi::Log(ADDON_LOG_ERROR, "Could not connect to MediaPortal TV Server backend."); - // Start background thread for connecting to the backend -- if (!IsRunning()) -+ if (!m_running) - { -- kodi::Log(ADDON_LOG_INFO, "Waiting for a connection in the background."); -- CreateThread(); -+ m_running = true; -+ m_thread = std::thread([&] { Process(); }); - } - return ADDON_STATUS_LOST_CONNECTION; - case PVR_CONNECTION_STATE_CONNECTING: -@@ -190,7 +187,7 @@ ADDON_STATUS cPVRClientMediaPortal::TryConnect() - - PVR_CONNECTION_STATE cPVRClientMediaPortal::Connect(bool updateConnectionState) - { -- P8PLATFORM::CLockObject critsec(m_connectionMutex); -+ std::lock_guard critsec(m_connectionMutex); - - string result; - -@@ -317,9 +314,11 @@ void cPVRClientMediaPortal::Disconnect() - - kodi::Log(ADDON_LOG_INFO, "Disconnect"); - -- if (IsRunning()) -+ if (m_running) - { -- StopThread(1000); -+ m_running = false; -+ if (m_thread.joinable()) -+ m_thread.join(); - } - - if (m_tcpclient->is_valid() && m_bTimeShiftStarted) -@@ -361,14 +360,14 @@ bool cPVRClientMediaPortal::IsUp() - } - } - --void* cPVRClientMediaPortal::Process(void) -+void cPVRClientMediaPortal::Process() - { - kodi::Log(ADDON_LOG_DEBUG, "Background thread started."); - - bool keepWaiting = true; - PVR_CONNECTION_STATE state; - -- while (!IsStopped() && keepWaiting) -+ while (m_running && keepWaiting) - { - state = Connect(false); - -@@ -396,8 +395,6 @@ void* cPVRClientMediaPortal::Process(void) - SetConnectionState(state); - - kodi::Log(ADDON_LOG_DEBUG, "Background thread finished."); -- -- return NULL; - } - - -@@ -1188,7 +1185,7 @@ PVR_ERROR cPVRClientMediaPortal::GetRecordings(bool deleted, kodi::addon::PVRRec - } - } - -- m_iLastRecordingUpdate = P8PLATFORM::GetTimeMs(); -+ m_iLastRecordingUpdate = std::chrono::system_clock::now(); - - return PVR_ERROR_NO_ERROR; - } -@@ -1383,7 +1380,7 @@ PVR_ERROR cPVRClientMediaPortal::GetTimers(kodi::addon::PVRTimersResultSet& resu - } - } - -- if ( P8PLATFORM::GetTimeMs() > m_iLastRecordingUpdate + 15000) -+ if ( std::chrono::system_clock::now() > m_iLastRecordingUpdate + std::chrono::milliseconds(15000)) - { - kodi::addon::CInstancePVRClient::TriggerRecordingUpdate(); - } -diff --git a/src/pvrclient-mediaportal.h b/src/pvrclient-mediaportal.h -index 3087634..e5da832 100644 ---- a/src/pvrclient-mediaportal.h -+++ b/src/pvrclient-mediaportal.h -@@ -7,6 +7,10 @@ - - #pragma once - -+#include -+#include -+#include -+#include - #include - - /* Master defines for client control */ -@@ -17,8 +21,6 @@ - #include "Cards.h" - #include "epg.h" - #include "channels.h" --#include "p8-platform/threads/mutex.h" --#include "p8-platform/threads/threads.h" - - /* Use a forward declaration here. Including RTSPClient.h via TSReader.h at this point gives compile errors */ - namespace MPTV -@@ -28,9 +30,7 @@ namespace MPTV - class cRecording; - - class ATTRIBUTE_HIDDEN cPVRClientMediaPortal -- : public kodi::addon::CInstancePVRClient, -- public P8PLATFORM::PreventCopy, -- public P8PLATFORM::CThread -+ : public kodi::addon::CInstancePVRClient - { - public: - /* Class interface */ -@@ -110,7 +110,7 @@ class ATTRIBUTE_HIDDEN cPVRClientMediaPortal - - private: - /* TVServerKodi Listening Thread */ -- void* Process(void); -+ void Process(); - PVR_CONNECTION_STATE Connect(bool updateConnectionState = true); - - void LoadGenreTable(void); -@@ -134,9 +134,9 @@ class ATTRIBUTE_HIDDEN cPVRClientMediaPortal - time_t m_BackendTime; - CCards m_cCards; - CGenreTable* m_genretable; -- P8PLATFORM::CMutex m_mutex; -- P8PLATFORM::CMutex m_connectionMutex; -- int64_t m_iLastRecordingUpdate; -+ std::mutex m_mutex; -+ std::mutex m_connectionMutex; -+ std::chrono::system_clock::time_point m_iLastRecordingUpdate; - MPTV::CTsReader* m_tsreader; - std::map m_channels; - int m_signalStateCounter; -@@ -145,6 +145,9 @@ class ATTRIBUTE_HIDDEN cPVRClientMediaPortal - - cRecording* m_lastSelectedRecording; - -+ std::atomic m_running = {false}; -+ std::thread m_thread; -+ - //Used for TV Server communication: - std::string SendCommand(const char* command); - std::string SendCommand(const std::string& command); diff --git a/package/kodi-pvr-mediaportal-tvserver/0007-Remove-charset-converter-dependency.patch b/package/kodi-pvr-mediaportal-tvserver/0007-Remove-charset-converter-dependency.patch deleted file mode 100644 index 81f583c7f6..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0007-Remove-charset-converter-dependency.patch +++ /dev/null @@ -1,55 +0,0 @@ -From bb752566a31029df4ca2c8a2d7fca6680570bfe6 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Thu, 8 Oct 2020 16:10:44 +0100 -Subject: [PATCH] Remove charset converter dependency - -Signed-off-by: Bernd Kuhls ---- - src/windows/FileUtils.cpp | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - -diff --git a/src/windows/FileUtils.cpp b/src/windows/FileUtils.cpp -index 0c8a03e..f829b2a 100644 ---- a/src/windows/FileUtils.cpp -+++ b/src/windows/FileUtils.cpp -@@ -6,24 +6,36 @@ - */ - - #include "../FileUtils.h" --#include "p8-platform/windows/CharsetConverter.h" - #include - #include "../utils.h" - #ifdef TARGET_WINDOWS_DESKTOP - #include - #endif - --#ifdef TARGET_WINDOWS - #include - #include --#endif -+ -+std::wstring ToW(const char* str, size_t length) -+{ -+ int result = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, length, nullptr, 0); -+ if (result == 0) -+ return std::wstring(); -+ -+ auto newStr = std::make_unique(result); -+ result = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, length, newStr.get(), result); -+ -+ if (result == 0) -+ return std::wstring(); -+ -+ return std::wstring(newStr.get(), result); -+} - - namespace OS - { - bool CFile::Exists(const std::string& strFileName, long* errCode) - { - std::string strWinFile = ToWindowsPath(strFileName); -- std::wstring strWFile = p8::windows::ToW(strWinFile.c_str()); -+ std::wstring strWFile = ToW(strWinFile.c_str(), 0); - DWORD dwAttr = GetFileAttributesW(strWFile.c_str()); - - if(dwAttr != 0xffffffff) diff --git a/package/kodi-pvr-mediaportal-tvserver/0008-Remove-p8-platform-dependency.patch b/package/kodi-pvr-mediaportal-tvserver/0008-Remove-p8-platform-dependency.patch deleted file mode 100644 index b38138df9d..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0008-Remove-p8-platform-dependency.patch +++ /dev/null @@ -1,74 +0,0 @@ -From e78eb2db7c42e302713d5e7129603e56d0e9b43b Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Thu, 8 Oct 2020 16:11:19 +0100 -Subject: [PATCH] Remove p8-platform dependency - -Signed-off-by: Bernd Kuhls ---- - CMakeLists.txt | 7 ++----- - debian/control | 2 +- - depends/common/p8-platform/p8-platform.txt | 1 - - depends/windowsstore/p8-platform/p8-platform.txt | 1 - - 4 files changed, 3 insertions(+), 8 deletions(-) - delete mode 100644 depends/common/p8-platform/p8-platform.txt - delete mode 100644 depends/windowsstore/p8-platform/p8-platform.txt - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1226685..f612570 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,7 +4,6 @@ project(pvr.mediaportal.tvserver) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}) - - find_package(Kodi REQUIRED) --find_package(p8-platform REQUIRED) - find_package(TinyXML REQUIRED) - - set(LIVE555_INCLUDE_DIR -@@ -17,8 +16,7 @@ set(LIVE555_INCLUDE_DIR - - set(LIVE555_DEFINES -DLIVE555 -D_WINSOCK_DEPRECATED_NO_WARNINGS -DSOCKLEN_T=socklen_t -DBSD=1) - --include_directories(${p8-platform_INCLUDE_DIRS} -- ${TINYXML_INCLUDE_DIR} -+include_directories(${TINYXML_INCLUDE_DIR} - ${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Kodi cmake rework to match right include ways - ${PROJECT_SOURCE_DIR}/src - ${PROJECT_BINARY_DIR} -@@ -229,8 +227,7 @@ source_group("Header Files\\lib\\live555" FILES ${LIVE555_HEADERS}) - # Make sure that CMake adds all files to the MSVC project - list(APPEND MPTV_SOURCES ${MPTV_HEADERS} ${TSREADER_SOURCES} ${TSREADER_HEADERS} ${LIVE555_SOURCES} ${LIVE555_HEADERS}) - --set(DEPLIBS ${p8-platform_LIBRARIES} -- ${TINYXML_LIBRARIES}) -+set(DEPLIBS ${TINYXML_LIBRARIES}) - - if(WIN32) - list(APPEND DEPLIBS ws2_32) -diff --git a/debian/control b/debian/control -index 667e47c..e81ff45 100644 ---- a/debian/control -+++ b/debian/control -@@ -2,7 +2,7 @@ Source: kodi-pvr-mediaportal-tvserver - Priority: extra - Maintainer: Nobody - Build-Depends: debhelper (>= 9.0.0), cmake, libtinyxml-dev, -- libp8-platform-dev, kodi-addon-dev -+ kodi-addon-dev - Standards-Version: 4.1.2 - Section: libs - Homepage: http://kodi.tv -diff --git a/depends/common/p8-platform/p8-platform.txt b/depends/common/p8-platform/p8-platform.txt -deleted file mode 100644 -index 98ed58a..0000000 ---- a/depends/common/p8-platform/p8-platform.txt -+++ /dev/null -@@ -1 +0,0 @@ --p8-platform https://github.com/xbmc/platform.git cee64e9dc0b69e8d286dc170a78effaabfa09c44 -diff --git a/depends/windowsstore/p8-platform/p8-platform.txt b/depends/windowsstore/p8-platform/p8-platform.txt -deleted file mode 100644 -index db6f782..0000000 ---- a/depends/windowsstore/p8-platform/p8-platform.txt -+++ /dev/null -@@ -1 +0,0 @@ --p8-platform https://github.com/afedchin/platform.git win10 diff --git a/package/kodi-pvr-mediaportal-tvserver/0009-Travis-changes-for-cpp17.patch b/package/kodi-pvr-mediaportal-tvserver/0009-Travis-changes-for-cpp17.patch deleted file mode 100644 index 793d3ce43d..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0009-Travis-changes-for-cpp17.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e613bfbb4561173046451e9bb1ec64c7879de859 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Sat, 17 Oct 2020 14:06:04 +0100 -Subject: [PATCH] Travis changes for cpp17 - -Signed-off-by: Bernd Kuhls ---- - .travis.yml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/.travis.yml b/.travis.yml -index 1f2b61f..285f827 100644 ---- a/.travis.yml -+++ b/.travis.yml -@@ -10,11 +10,11 @@ env: - matrix: - include: - - os: linux -- dist: xenial -+ dist: bionic - sudo: required - compiler: gcc - - os: linux -- dist: xenial -+ dist: bionic - sudo: required - compiler: clang - - os: linux diff --git a/package/kodi-pvr-mediaportal-tvserver/0010-Remove-register-keyword-as-no-longer-valid-in-CPP17.patch b/package/kodi-pvr-mediaportal-tvserver/0010-Remove-register-keyword-as-no-longer-valid-in-CPP17.patch deleted file mode 100644 index 09f4c80b96..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0010-Remove-register-keyword-as-no-longer-valid-in-CPP17.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 5cf2d4e05673964e269e4b9a2e779d20f57c0d17 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Sat, 6 Feb 2021 12:56:50 +0000 -Subject: [PATCH] Remove register keyword as no longer valid in CPP17 - -Signed-off-by: Bernd Kuhls ---- - src/lib/tsreader/DvbUtil.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/lib/tsreader/DvbUtil.cpp b/src/lib/tsreader/DvbUtil.cpp -index 8c4798a..c973062 100644 ---- a/src/lib/tsreader/DvbUtil.cpp -+++ b/src/lib/tsreader/DvbUtil.cpp -@@ -77,7 +77,7 @@ namespace MPTV - //******************************************************************* - uint32_t crc32(char *data, int len) - { -- register int i; -+ int i; - uint32_t crc = 0xffffffff; - - for (i = 0; i < len; i++) diff --git a/package/kodi-pvr-mediaportal-tvserver/0011-changelog-and-version-v8.1.1.patch b/package/kodi-pvr-mediaportal-tvserver/0011-changelog-and-version-v8.1.1.patch deleted file mode 100644 index 7fded54e7e..0000000000 --- a/package/kodi-pvr-mediaportal-tvserver/0011-changelog-and-version-v8.1.1.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 79e33e1799976e2196132f90bd7f322f213c1a99 Mon Sep 17 00:00:00 2001 -From: phunkyfish -Date: Sat, 6 Feb 2021 00:16:19 +0000 -Subject: [PATCH] changelog and version v8.1.1 - -Signed-off-by: Bernd Kuhls ---- - pvr.mediaportal.tvserver/addon.xml.in | 2 +- - pvr.mediaportal.tvserver/changelog.txt | 10 ++++++++++ - 2 files changed, 11 insertions(+), 1 deletion(-) - -diff --git a/pvr.mediaportal.tvserver/addon.xml.in b/pvr.mediaportal.tvserver/addon.xml.in -index de30c2a..1944bc0 100644 ---- a/pvr.mediaportal.tvserver/addon.xml.in -+++ b/pvr.mediaportal.tvserver/addon.xml.in -@@ -1,7 +1,7 @@ - - - @ADDON_DEPENDS@ -diff --git a/pvr.mediaportal.tvserver/changelog.txt b/pvr.mediaportal.tvserver/changelog.txt -index 7d1630e..8e06c48 100644 ---- a/pvr.mediaportal.tvserver/changelog.txt -+++ b/pvr.mediaportal.tvserver/changelog.txt -@@ -1,3 +1,13 @@ -+v8.1.1 -+- Remove p8-platform dependency -+- Remove charset converter dependency -+- Use std::thread, std::mutex, condition_variable instead of event and bool defines -+- Use thread sleep_for instead of p8 time utils -+- Remove SAFE_DELETE -+- Use kodi StringUtils -+- Remove p8 os includes -+- Revert "Removed no more supported (C++17) declaration keyword (register)" -+ - v8.1.0 - - Update PVR API 7.1.0 - diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash index 9f700ceef2..032c553f11 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 862b8b0c7c1cd49f0a304dd7caeb6a02dd2b6f767fff256875457040e5ca1177 kodi-pvr-mediaportal-tvserver-8.1.0-Matrix.tar.gz +sha256 92cafb36621ac20964f26b631d1540ae2891f899b0cbb52a4d9e69e8630a2ed1 kodi-pvr-mediaportal-tvserver-8.1.1-Matrix.tar.gz sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md diff --git a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk index d2cacae8a5..14cde883ff 100644 --- a/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk +++ b/package/kodi-pvr-mediaportal-tvserver/kodi-pvr-mediaportal-tvserver.mk @@ -4,7 +4,7 @@ # ################################################################################ -KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 8.1.0-Matrix +KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION = 8.1.1-Matrix KODI_PVR_MEDIAPORTAL_TVSERVER_SITE = $(call github,kodi-pvr,pvr.mediaportal.tvserver,$(KODI_PVR_MEDIAPORTAL_TVSERVER_VERSION)) KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE = GPL-2.0+ KODI_PVR_MEDIAPORTAL_TVSERVER_LICENSE_FILES = LICENSE.md