[packages/kodi] - added libfmt patch, release 2 (libfmt 10, spdlog 1.12)

qboosh qboosh at pld-linux.org
Thu Jul 27 07:50:12 CEST 2023


commit 8a2a31f2eefc43de9453eda909992fa924b0cdd2
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Jul 27 06:23:41 2023 +0200

    - added libfmt patch, release 2 (libfmt 10, spdlog 1.12)

 kodi.spec         |   4 +-
 xbmc-libfmt.patch | 535 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 538 insertions(+), 1 deletion(-)
---
diff --git a/kodi.spec b/kodi.spec
index c0a20ec..dd21bdf 100644
--- a/kodi.spec
+++ b/kodi.spec
@@ -60,7 +60,7 @@
 Summary:	Kodi is a free and open source media-player and entertainment hub
 Name:		kodi
 Version:	20.2
-Release:	1
+Release:	2
 License:	GPL v2+ and GPL v3+
 Group:		Applications/Multimedia
 #Source0Download: https://github.com/xbmc/xbmc/releases
@@ -73,6 +73,7 @@ Source2:	https://github.com/xbmc/libdvdcss/archive/%{dvdcss_ver}/libdvdcss-%{dvd
 Source3:	https://github.com/xbmc/libdvdnav/archive/%{dvdnav_ver}/libdvdnav-%{dvdnav_ver}.tar.gz
 # Source3-md5:	2349cde54d950af21fa4936371ad3349
 Patch0:		disable-static.patch
+Patch1:		xbmc-libfmt.patch
 URL:		https://kodi.tv/
 BuildRequires:	EGL-devel
 %{?with_gbm:BuildRequires:	Mesa-libgbm-devel}
@@ -226,6 +227,7 @@ Header files for Kodi.
 %prep
 %setup -q -n xbmc-%{version}%{?subver}-%{codename} -a1 -a2 -a3
 %patch0 -p1
+%patch1 -p1
 
 %{__rm} -r lib/win32
 
diff --git a/xbmc-libfmt.patch b/xbmc-libfmt.patch
new file mode 100644
index 0000000..6ec5496
--- /dev/null
+++ b/xbmc-libfmt.patch
@@ -0,0 +1,535 @@
+--- xbmc-20.2-Nexus/xbmc/addons/AddonStatusHandler.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/addons/AddonStatusHandler.h	2023-07-26 17:12:08.111357358 +0200
+@@ -13,6 +13,8 @@
+ #include "threads/CriticalSection.h"
+ #include "threads/Thread.h"
+ 
++inline int format_as(ADDON_STATUS status) { return static_cast<int>(status); }
++
+ namespace ADDON
+ {
+   /**
+--- xbmc-20.2-Nexus/xbmc/network/websocket/WebSocket.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/network/websocket/WebSocket.h	2023-07-26 17:15:57.260632930 +0200
+@@ -25,6 +25,8 @@ enum WebSocketFrameOpcode
+   WebSocketUnknownFrame       = 0x10
+ };
+ 
++inline int format_as(WebSocketFrameOpcode op) { return static_cast<int>(op); }
++
+ enum WebSocketState
+ {
+   WebSocketStateNotConnected    = 0,
+--- xbmc-20.2-Nexus/xbmc/windowing/Resolution.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/windowing/Resolution.h	2023-07-26 17:05:32.830659348 +0200
+@@ -23,6 +23,8 @@ enum RESOLUTION
+   RES_CUSTOM         = 16 + 1,      // First additional resolution
+ };
+ 
++inline int format_as(RESOLUTION res) { return static_cast<int>(res); }
++
+ struct OVERSCAN
+ {
+   int left;
+--- xbmc-20.2-Nexus/xbmc/filesystem/CurlFile.cpp.orig	2023-07-25 22:18:10.637732418 +0200
++++ xbmc-20.2-Nexus/xbmc/filesystem/CurlFile.cpp	2023-07-25 22:18:14.631087917 +0200
+@@ -842,7 +842,7 @@ void CCurlFile::ParseAndCorrectUrl(CURL
+       m_proxyuser = s->GetString(CSettings::SETTING_NETWORK_HTTPPROXYUSERNAME);
+       m_proxypassword = s->GetString(CSettings::SETTING_NETWORK_HTTPPROXYPASSWORD);
+       CLog::LogFC(LOGDEBUG, LOGCURL, "<{}> Using proxy {}, type {}", url2.GetRedacted(),
+-                  m_proxyhost, proxyType2CUrlProxyType[m_proxytype]);
++                  m_proxyhost, static_cast<int>(proxyType2CUrlProxyType[m_proxytype]));
+     }
+ 
+     // get username and password
+@@ -1373,7 +1373,7 @@ bool CCurlFile::Exists(const CURL& url)
+   else if (result != CURLE_REMOTE_FILE_NOT_FOUND && result != CURLE_FTP_COULDNT_RETR_FILE)
+   {
+     CLog::Log(LOGERROR, "CCurlFile::{} - <{}> Failed: {}({})", __FUNCTION__, url.GetRedacted(),
+-              g_curlInterface.easy_strerror(result), result);
++              g_curlInterface.easy_strerror(result), static_cast<int>(result));
+   }
+ 
+   errno = ENOENT;
+@@ -1570,7 +1570,7 @@ int CCurlFile::Stat(const CURL& url, str
+     g_curlInterface.easy_release(&m_state->m_easyHandle, NULL);
+     errno = ENOENT;
+     CLog::Log(LOGERROR, "CCurlFile::{} - <{}> Failed: {}({})", __FUNCTION__, url.GetRedacted(),
+-              g_curlInterface.easy_strerror(result), result);
++              g_curlInterface.easy_strerror(result), static_cast<int>(result));
+     return -1;
+   }
+ 
+@@ -1582,7 +1582,7 @@ int CCurlFile::Stat(const CURL& url, str
+     {
+       g_curlInterface.easy_release(&m_state->m_easyHandle, NULL);
+       CLog::Log(LOGINFO, "CCurlFile::{} - <{}> Content length failed: {}({})", __FUNCTION__,
+-                url.GetRedacted(), g_curlInterface.easy_strerror(result), result);
++                url.GetRedacted(), g_curlInterface.easy_strerror(result), static_cast<int>(result));
+       errno = ENOENT;
+       return -1;
+     }
+@@ -1614,7 +1614,7 @@ int CCurlFile::Stat(const CURL& url, str
+     if (result != CURLE_OK)
+     {
+       CLog::Log(LOGINFO, "CCurlFile::{} - <{}> Filetime failed: {}({})", __FUNCTION__,
+-                url.GetRedacted(), g_curlInterface.easy_strerror(result), result);
++                url.GetRedacted(), g_curlInterface.easy_strerror(result), static_cast<int>(result));
+     }
+     else
+     {
+@@ -1728,7 +1728,7 @@ int8_t CCurlFile::CReadState::FillBuffer
+             {
+               CLog::Log(LOGERROR, "CCurlFile::CReadState::{} - ({}) Failed: {}({})", __FUNCTION__,
+                         fmt::ptr(this), g_curlInterface.easy_strerror(msg->data.result),
+-                        msg->data.result);
++                        static_cast<int>(msg->data.result));
+             }
+ 
+             if ( (msg->data.result == CURLE_OPERATION_TIMEDOUT ||
+@@ -1886,7 +1886,7 @@ int8_t CCurlFile::CReadState::FillBuffer
+       {
+         CLog::Log(LOGERROR,
+                   "CCurlFile::CReadState::{} - ({}) Multi perform failed with code {}, aborting",
+-                  __FUNCTION__, fmt::ptr(this), result);
++                  __FUNCTION__, fmt::ptr(this), static_cast<int>(result));
+         return FILLBUFFER_FAIL;
+       }
+       break;
+@@ -1935,7 +1935,7 @@ std::string CCurlFile::GetInfoString(int
+   {
+     CLog::Log(LOGERROR,
+               "CCurlFile::{} - <{}> Info string request for type {} failed with result code {}",
+-              __FUNCTION__, CURL::GetRedacted(m_url), infoType, result);
++              __FUNCTION__, CURL::GetRedacted(m_url), infoType, static_cast<int>(result));
+     return "";
+   }
+   return (info ? info : "");
+--- xbmc-20.2-Nexus/xbmc/games/addons/streams/GameClientStreamVideo.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/games/addons/streams/GameClientStreamVideo.cpp	2023-07-26 06:19:44.817357735 +0200
+@@ -70,7 +70,7 @@ RETRO::VideoStreamProperties* CGameClien
+   const AVPixelFormat pixelFormat = CGameClientTranslator::TranslatePixelFormat(properties.format);
+   if (pixelFormat == AV_PIX_FMT_NONE)
+   {
+-    CLog::Log(LOGERROR, "GAME: Unknown pixel format: {}", properties.format);
++    CLog::Log(LOGERROR, "GAME: Unknown pixel format: {}", static_cast<int>(properties.format));
+     return nullptr;
+   }
+ 
+--- xbmc-20.2-Nexus/xbmc/pvr/PVREdl.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/pvr/PVREdl.cpp	2023-07-26 06:28:59.336460675 +0200
+@@ -56,7 +56,7 @@ std::vector<EDL::Edit> CPVREdl::GetEdits
+       edit.action = EDL::Action::COMM_BREAK;
+       break;
+     default:
+-      CLog::LogF(LOGWARNING, "Ignoring entry of unknown EDL type: {}", entry.type);
++      CLog::LogF(LOGWARNING, "Ignoring entry of unknown EDL type: {}", static_cast<int>(entry.type));
+       continue;
+     }
+ 
+--- xbmc-20.2-Nexus/xbmc/pvr/addons/PVRClient.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/pvr/addons/PVRClient.cpp	2023-07-26 06:29:39.436394682 +0200
+@@ -1910,7 +1910,7 @@ void CPVRClient::cb_connection_state_cha
+ 
+     CLog::LogFC(LOGDEBUG, LOGPVR,
+                 "State for connection '{}' on client '{}' changed from '{}' to '{}'",
+-                strConnectionString, client->ID(), prevState, newState);
++                strConnectionString, client->ID(), static_cast<int>(prevState), static_cast<int>(newState));
+ 
+     client->SetConnectionState(newState);
+ 
+--- xbmc-20.2-Nexus/xbmc/pvr/addons/PVRClientMenuHooks.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/pvr/addons/PVRClientMenuHooks.cpp	2023-07-26 06:29:47.518345556 +0200
+@@ -28,7 +28,7 @@ CPVRClientMenuHook::CPVRClientMenuHook(c
+       hook.category != PVR_MENUHOOK_RECORDING &&
+       hook.category != PVR_MENUHOOK_DELETED_RECORDING &&
+       hook.category != PVR_MENUHOOK_SETTING)
+-    CLog::LogF(LOGERROR, "Unknown PVR_MENUHOOK_CAT value: {}", hook.category);
++    CLog::LogF(LOGERROR, "Unknown PVR_MENUHOOK_CAT value: {}", static_cast<int>(hook.category));
+ }
+ 
+ bool CPVRClientMenuHook::operator ==(const CPVRClientMenuHook& right) const
+--- xbmc-20.2-Nexus/xbmc/pvr/addons/PVRClients.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/pvr/addons/PVRClients.cpp	2023-07-26 17:13:09.880344562 +0200
+@@ -11,6 +11,7 @@
+ #include "ServiceBroker.h"
+ #include "addons/AddonEvents.h"
+ #include "addons/AddonManager.h"
++#include "addons/AddonStatusHandler.h"
+ #include "addons/addoninfo/AddonInfo.h"
+ #include "addons/addoninfo/AddonType.h"
+ #include "guilib/LocalizeStrings.h"
+--- xbmc-20.2-Nexus/xbmc/pvr/epg/Epg.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/pvr/epg/Epg.cpp	2023-07-26 17:23:19.703458066 +0200
+@@ -235,7 +235,7 @@ bool CPVREpg::UpdateEntry(const std::sha
+   }
+   else
+   {
+-    CLog::LogF(LOGERROR, "Unknown epg event state value: {}", newState);
++    CLog::LogF(LOGERROR, "Unknown epg event state value: {}", static_cast<int>(newState));
+     bRet = false;
+   }
+ 
+--- xbmc-20.2-Nexus/xbmc/FileItem.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/FileItem.cpp	2023-07-26 17:31:15.723519932 +0200
+@@ -3090,7 +3090,7 @@ bool CFileItemList::Load(int windowID)
+       CArchive ar(&file, CArchive::load);
+       ar >> *this;
+       CLog::Log(LOGDEBUG, "Loading items: {}, directory: {} sort method: {}, ascending: {}", Size(),
+-                CURL::GetRedacted(GetPath()), m_sortDescription.sortBy,
++                CURL::GetRedacted(GetPath()), static_cast<int>(m_sortDescription.sortBy),
+                 m_sortDescription.sortOrder == SortOrderAscending ? "true" : "false");
+       ar.Close();
+       file.Close();
+@@ -3128,7 +3128,7 @@ bool CFileItemList::Save(int windowID)
+     CArchive ar(&file, CArchive::store);
+     ar << *this;
+     CLog::Log(LOGDEBUG, "  -- items: {}, sort method: {}, ascending: {}", iSize,
+-              m_sortDescription.sortBy,
++              static_cast<int>(m_sortDescription.sortBy),
+               m_sortDescription.sortOrder == SortOrderAscending ? "true" : "false");
+     ar.Close();
+     file.Close();
+--- xbmc-20.2-Nexus/xbmc/dbwrappers/mysqldataset.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/dbwrappers/mysqldataset.cpp	2023-07-26 18:11:02.864356742 +0200
+@@ -1957,7 +1957,7 @@ bool MysqlDataset::query(const std::stri
+           break;
+         case MYSQL_TYPE_NULL:
+         default:
+-          CLog::Log(LOGDEBUG, "MYSQL: Unknown field type: {}", fields[i].type);
++          CLog::Log(LOGDEBUG, "MYSQL: Unknown field type: {}", static_cast<int>(fields[i].type));
+           v.set_asString("");
+           v.set_isNull();
+           break;
+--- xbmc-20.2-Nexus/xbmc/utils/DatabaseUtils.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/utils/DatabaseUtils.h	2023-07-26 18:55:29.344549718 +0200
+@@ -153,6 +153,8 @@ typedef enum
+   FieldMax
+ } Field;
+ 
++inline int format_as(Field f) { return static_cast<int>(f); }
++
+ typedef std::set<Field> Fields;
+ typedef std::vector<Field> FieldList;
+ 
+--- xbmc-20.2-Nexus/xbmc/guilib/guiinfo/GUIInfoColor.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/guilib/guiinfo/GUIInfoColor.h	2023-07-26 19:29:23.583563192 +0200
+@@ -48,6 +48,8 @@ private:
+   UTILS::COLOR::Color m_color;
+ };
+ 
++inline UTILS::COLOR::Color format_as(const CGUIInfoColor &c) { return UTILS::COLOR::Color(c); }
++
+ } // namespace GUIINFO
+ } // namespace GUILIB
+ } // namespace KODI
+--- xbmc-20.2-Nexus/xbmc/guilib/GUIControl.h.orig	2023-07-26 15:27:08.299092953 +0200
++++ xbmc-20.2-Nexus/xbmc/guilib/GUIControl.h	2023-07-26 19:30:11.865771239 +0200
+@@ -381,3 +381,4 @@ protected:
+   CRect m_renderRegion;         // In screen coordinates
+ };
+ 
++inline int format_as(CGUIControl::GUICONTROLTYPES t) { return static_cast<int>(t); }
+--- xbmc-20.2-Nexus/xbmc/input/XBMC_keysym.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/input/XBMC_keysym.h	2023-07-26 19:31:46.493454221 +0200
+@@ -256,6 +256,9 @@ typedef enum
+   XBMCKMOD_RESERVED = 0x8000
+ } XBMCMod;
+ 
++inline int format_as(XBMCKey m) { return static_cast<int>(m); }
++inline int format_as(XBMCMod m) { return static_cast<int>(m); }
++
+ #define XBMCKMOD_CTRL (XBMCKMOD_LCTRL | XBMCKMOD_RCTRL)
+ #define XBMCKMOD_SHIFT (XBMCKMOD_LSHIFT | XBMCKMOD_RSHIFT)
+ #define XBMCKMOD_ALT (XBMCKMOD_LALT | XBMCKMOD_RALT)
+--- xbmc-20.2-Nexus/xbmc/interfaces/IAnnouncer.h.orig	2023-07-26 19:36:15.799128622 +0200
++++ xbmc-20.2-Nexus/xbmc/interfaces/IAnnouncer.h	2023-07-26 20:01:44.124387817 +0200
+@@ -77,4 +77,6 @@ namespace ANNOUNCEMENT
+                           const std::string& message,
+                           const CVariant& data) = 0;
+   };
++
++  inline int format_as(AnnouncementFlag f) { return static_cast<int>(f); }
+ }
+--- xbmc-20.2-Nexus/xbmc/InfoScanner.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/InfoScanner.h	2023-07-26 20:40:51.781241102 +0200
+@@ -73,3 +73,5 @@ protected:
+   bool m_bCanInterrupt = false; //!< Whether or not scanner is currently interruptible
+   bool m_bClean = false; //!< Whether or not to perform cleaning during scanning
+ };
++
++inline int format_as(CInfoScanner::INFO_RET r) { return static_cast<int>(r); }
+--- xbmc-20.2-Nexus/xbmc/addons/Scraper.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/addons/Scraper.h	2023-07-26 21:08:55.793347521 +0200
+@@ -38,6 +38,8 @@ typedef enum
+   CONTENT_NONE,
+ } CONTENT_TYPE;
+ 
++inline int format_as(CONTENT_TYPE t) { return static_cast<int>(t); }
++
+ namespace XFILE
+ {
+   class CCurlFile;
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/AudioSinkAE.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/AudioSinkAE.cpp	2023-07-26 21:23:36.684530550 +0200
+@@ -41,7 +41,7 @@ CAudioSinkAE::~CAudioSinkAE()
+ bool CAudioSinkAE::Create(const DVDAudioFrame &audioframe, AVCodecID codec, bool needresampler)
+ {
+   CLog::Log(LOGINFO, "Creating audio stream (codec id: {}, channels: {}, sample rate: {}, {})",
+-            codec, audioframe.format.m_channelLayout.Count(), audioframe.format.m_sampleRate,
++            static_cast<int>(codec), audioframe.format.m_channelLayout.Count(), audioframe.format.m_sampleRate,
+             audioframe.passthrough ? "pass-through" : "no pass-through");
+ 
+   // if passthrough isset do something else
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/IVideoPlayer.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/IVideoPlayer.h	2023-07-26 21:41:43.644340104 +0200
+@@ -56,6 +56,8 @@ protected:
+   CProcessInfo &m_processInfo;
+ };
+ 
++inline int format_as(IDVDStreamPlayer::ESyncState s) { return static_cast<int>(s); }
++
+ struct SStartMsg
+ {
+   double timestamp;
+--- xbmc-20.2-Nexus/xbmc/utils/StreamDetails.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/utils/StreamDetails.h	2023-07-26 21:18:31.266155633 +0200
+@@ -42,6 +42,8 @@ protected:
+   friend class CStreamDetails;
+ };
+ 
++inline int format_as(CStreamDetail::StreamType t) { return static_cast<int>(t); }
++
+ class CStreamDetailVideo final : public CStreamDetail
+ {
+ public:
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemux.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemux.h	2023-07-26 21:46:36.344467442 +0200
+@@ -51,6 +51,8 @@ enum StreamType
+   STREAM_AUDIO_ID3 // Audio ID3 data stream
+ };
+ 
++inline int format_as(StreamType t) { return static_cast<int>(t); }
++
+ enum StreamSource
+ {
+   STREAM_SOURCE_NONE = 0x000,
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoPlayer.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoPlayer.cpp	2023-07-26 21:49:26.069356621 +0200
+@@ -3078,7 +3078,7 @@ void CVideoPlayer::SetCaching(ECacheStat
+   if(m_caching == state)
+     return;
+ 
+-  CLog::Log(LOGDEBUG, "CVideoPlayer::SetCaching - caching state {}", state);
++  CLog::Log(LOGDEBUG, "CVideoPlayer::SetCaching - caching state {}", static_cast<int>(state));
+   if (state == CACHESTATE_FULL ||
+       state == CACHESTATE_INIT)
+   {
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDMessageQueue.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDMessageQueue.h	2023-07-26 21:59:03.334580262 +0200
+@@ -43,6 +43,8 @@ enum MsgQueueReturnCode
+   MSGQ_OUT_OF_MEMORY = -4
+ };
+ 
++inline int format_as(MsgQueueReturnCode c) { return static_cast<int>(c); }
++
+ #define MSGQ_IS_ERROR(c)    (c < 0)
+ 
+ class CDVDMessageQueue
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoPlayerAudio.cpp	2023-07-26 21:58:41.306457459 +0200
+@@ -76,7 +76,7 @@ CVideoPlayerAudio::~CVideoPlayerAudio()
+ 
+ bool CVideoPlayerAudio::OpenStream(CDVDStreamInfo hints)
+ {
+-  CLog::Log(LOGINFO, "Finding audio codec for: {}", hints.codec);
++  CLog::Log(LOGINFO, "Finding audio codec for: {}", static_cast<int>(hints.codec));
+   bool allowpassthrough = !CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(CSettings::SETTING_VIDEOPLAYER_USEDISPLAYASCLOCK);
+   if (m_processInfo.IsRealtimeStream())
+     allowpassthrough = false;
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoPlayerVideo.cpp	2023-07-26 21:21:50.821228521 +0200
+@@ -118,7 +118,7 @@ bool CVideoPlayerVideo::OpenStream(CDVDS
+       return false;
+   }
+ 
+-  CLog::Log(LOGINFO, "Creating video codec with codec id: {}", hint.codec);
++  CLog::Log(LOGINFO, "Creating video codec with codec id: {}", static_cast<int>(hint.codec));
+ 
+   if (m_messageQueue.IsInited())
+   {
+@@ -158,7 +158,7 @@ bool CVideoPlayerVideo::OpenStream(CDVDS
+ 
+ void CVideoPlayerVideo::OpenStream(CDVDStreamInfo& hint, std::unique_ptr<CDVDVideoCodec> codec)
+ {
+-  CLog::Log(LOGDEBUG, "CVideoPlayerVideo::OpenStream - open stream with codec id: {}", hint.codec);
++  CLog::Log(LOGDEBUG, "CVideoPlayerVideo::OpenStream - open stream with codec id: {}", static_cast<int>(hint.codec));
+ 
+   m_processInfo.GetVideoBufferManager().ReleasePools();
+ 
+@@ -207,7 +207,7 @@ void CVideoPlayerVideo::OpenStream(CDVDS
+ 
+   if (!codec)
+   {
+-    CLog::Log(LOGINFO, "Creating video codec with codec id: {}", hint.codec);
++    CLog::Log(LOGINFO, "Creating video codec with codec id: {}", static_cast<int>(hint.codec));
+     hint.codecOptions |= CODEC_ALLOW_FALLBACK;
+     codec = CDVDFactoryCodec::CreateVideoCodec(hint, m_processInfo);
+     if (!codec)
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp	2023-07-26 21:38:03.452136259 +0200
+@@ -60,7 +60,7 @@ bool CDVDAudioCodecFFmpeg::Open(CDVDStre
+ 
+   if (!pCodec)
+   {
+-    CLog::Log(LOGDEBUG, "CDVDAudioCodecFFmpeg::Open() Unable to find codec {}", hints.codec);
++    CLog::Log(LOGDEBUG, "CDVDAudioCodecFFmpeg::Open() Unable to find codec {}", static_cast<int>(hints.codec));
+     return false;
+   }
+ 
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp	2023-07-26 21:47:14.922235289 +0200
+@@ -42,7 +42,7 @@ bool CDVDOverlayCodecFFmpeg::Open(CDVDSt
+   AVCodec* pCodec = avcodec_find_decoder(hints.codec);
+   if (!pCodec)
+   {
+-    CLog::Log(LOGDEBUG, "{} - Unable to find codec {}", __FUNCTION__, hints.codec);
++    CLog::Log(LOGDEBUG, "{} - Unable to find codec {}", __FUNCTION__, static_cast<int>(hints.codec));
+     return false;
+   }
+ 
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp	2023-07-26 21:52:39.421345392 +0200
+@@ -351,7 +351,7 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStre
+ 
+   if(pCodec == NULL)
+   {
+-    CLog::Log(LOGDEBUG, "CDVDVideoCodecFFmpeg::Open() Unable to find codec {}", hints.codec);
++    CLog::Log(LOGDEBUG, "CDVDVideoCodecFFmpeg::Open() Unable to find codec {}", static_cast<int>(hints.codec));
+     return false;
+   }
+ 
+@@ -1160,7 +1160,7 @@ int CDVDVideoCodecFFmpeg::FilterOpen(con
+ 
+   std::string args = StringUtils::Format(
+       "{}:{}:{}:{}:{}:{}:{}", m_pCodecContext->width, m_pCodecContext->height,
+-      m_pCodecContext->pix_fmt, m_pCodecContext->time_base.num ? m_pCodecContext->time_base.num : 1,
++      static_cast<int>(m_pCodecContext->pix_fmt), m_pCodecContext->time_base.num ? m_pCodecContext->time_base.num : 1,
+       m_pCodecContext->time_base.num ? m_pCodecContext->time_base.den : 1,
+       m_pCodecContext->sample_aspect_ratio.num != 0 ? m_pCodecContext->sample_aspect_ratio.num : 1,
+       m_pCodecContext->sample_aspect_ratio.num != 0 ? m_pCodecContext->sample_aspect_ratio.den : 1);
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.cpp	2023-07-26 21:56:00.658459276 +0200
+@@ -207,10 +207,10 @@ bool CVDPAUContext::CreateContext()
+                                    &m_vdpDevice,
+                                    &m_vdpProcs.vdp_get_proc_address);
+ 
+-  CLog::Log(LOGINFO, "vdp_device = {:#08x} vdp_st = {:#08x}", m_vdpDevice, vdp_st);
++  CLog::Log(LOGINFO, "vdp_device = {:#08x} vdp_st = {:#08x}", m_vdpDevice, static_cast<int>(vdp_st));
+   if (vdp_st != VDP_STATUS_OK)
+   {
+-    CLog::Log(LOGERROR, "(VDPAU) unable to init VDPAU - vdp_st = 0x{:x}.  Falling back.", vdp_st);
++    CLog::Log(LOGERROR, "(VDPAU) unable to init VDPAU - vdp_st = 0x{:x}.  Falling back.", static_cast<int>(vdp_st));
+     m_vdpDevice = VDP_INVALID_HANDLE;
+     return false;
+   }
+@@ -588,7 +588,7 @@ bool CDecoder::Open(AVCodecContext* avct
+       if (CheckStatus(vdp_st, __LINE__))
+       {
+         CLog::Log(LOGERROR, "VDPAU::Open: error {}({}) checking for decoder support",
+-                  m_vdpauConfig.context->GetProcs().vdp_get_error_string(vdp_st), vdp_st);
++                  m_vdpauConfig.context->GetProcs().vdp_get_error_string(vdp_st), static_cast<int>(vdp_st));
+         return false;
+       }
+ 
+@@ -611,7 +611,7 @@ bool CDecoder::Open(AVCodecContext* avct
+       if (CheckStatus(vdp_st, __LINE__))
+       {
+         CLog::Log(LOGERROR, "VDPAU::Open: error: {}({}) checking for decoder support",
+-                  m_vdpauConfig.context->GetProcs().vdp_get_error_string(vdp_st), vdp_st);
++                  m_vdpauConfig.context->GetProcs().vdp_get_error_string(vdp_st), static_cast<int>(vdp_st));
+         return false;
+       }
+ 
+@@ -1312,7 +1312,7 @@ bool CDecoder::CheckStatus(VdpStatus vdp
+   if (vdp_st != VDP_STATUS_OK)
+   {
+     CLog::Log(LOGERROR, " (VDPAU) Error: {}({}) at {}:{}",
+-              m_vdpauConfig.context->GetProcs().vdp_get_error_string(vdp_st), vdp_st, __FILE__,
++              m_vdpauConfig.context->GetProcs().vdp_get_error_string(vdp_st), static_cast<int>(vdp_st), __FILE__,
+               line);
+ 
+     m_ErrorCount++;
+@@ -2820,7 +2820,7 @@ bool CMixer::CheckStatus(VdpStatus vdp_s
+   if (vdp_st != VDP_STATUS_OK)
+   {
+     CLog::Log(LOGERROR, " (VDPAU) Error: {}({}) at {}:{}",
+-              m_config.context->GetProcs().vdp_get_error_string(vdp_st), vdp_st, __FILE__, line);
++              m_config.context->GetProcs().vdp_get_error_string(vdp_st), static_cast<int>(vdp_st), __FILE__, line);
+     m_vdpError = true;
+     return true;
+   }
+@@ -3456,7 +3456,7 @@ bool COutput::CheckStatus(VdpStatus vdp_
+   if (vdp_st != VDP_STATUS_OK)
+   {
+     CLog::Log(LOGERROR, " (VDPAU) Error: {}({}) at {}:{}",
+-              m_config.context->GetProcs().vdp_get_error_string(vdp_st), vdp_st, __FILE__, line);
++              m_config.context->GetProcs().vdp_get_error_string(vdp_st), static_cast<int>(vdp_st), __FILE__, line);
+     m_vdpError = true;
+     return true;
+   }
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecDRMPRIME.cpp	2023-07-26 21:58:35.749234205 +0200
+@@ -250,7 +250,7 @@ bool CDVDVideoCodecDRMPRIME::Open(CDVDSt
+   if (!pCodec)
+   {
+     CLog::Log(LOGDEBUG, "CDVDVideoCodecDRMPRIME::{} - unable to find decoder for codec {}",
+-              __FUNCTION__, hints.codec);
++              __FUNCTION__, static_cast<int>(hints.codec));
+     return false;
+   }
+ 
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp	2023-07-26 21:24:17.068367976 +0200
+@@ -620,7 +620,7 @@ void CDVDDemuxClient::SetStreamProps(CDe
+   toStream->name = stream->name;
+ 
+   CLog::Log(LOGDEBUG, "CDVDDemuxClient::RequestStream(): added/updated stream {} with codec_id {}",
+-            toStream->uniqueId, toStream->codec);
++            toStream->uniqueId, static_cast<int>(toStream->codec));
+ }
+ 
+ std::shared_ptr<CDemuxStream> CDVDDemuxClient::GetStreamInternal(int iStreamId)
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.cpp.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.cpp	2023-07-26 21:26:41.852506893 +0200
+@@ -370,7 +370,7 @@ EShaderFormat CBaseRenderer::GetShaderFo
+   else if (m_format == AV_PIX_FMT_UYVY422)
+     ret = SHADER_UYVY;
+   else
+-    CLog::Log(LOGERROR, "CBaseRenderer::GetShaderFormat - unsupported format {}", m_format);
++    CLog::Log(LOGERROR, "CBaseRenderer::GetShaderFormat - unsupported format {}", static_cast<int>(m_format));
+ 
+   return ret;
+ }
+--- xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoRenderers/ColorManager.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/cores/VideoPlayer/VideoRenderers/ColorManager.h	2023-07-26 21:32:38.594478637 +0200
+@@ -62,6 +62,8 @@ enum CMS_TRC_TYPE
+   CMS_TRC_COUNT
+ };
+ 
++inline int format_as(CMS_TRC_TYPE t) { return static_cast<int>(t); }
++
+ class CColorManager
+ {
+ public:
+--- xbmc-20.2-Nexus/xbmc/input/touch/ITouchInputHandler.h.orig	2023-06-29 08:58:06.000000000 +0200
++++ xbmc-20.2-Nexus/xbmc/input/touch/ITouchInputHandler.h	2023-07-26 21:40:59.350573619 +0200
+@@ -26,6 +26,8 @@ typedef enum
+   TouchInputMove
+ } TouchInput;
+ 
++inline int format_as(TouchInput ti) { return static_cast<int>(ti); }
++
+ /*!
+  * \ingroup touch
+  * \brief Interface (implements ITouchInputHandling) defining methods to handle
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kodi.git/commitdiff/8a2a31f2eefc43de9453eda909992fa924b0cdd2



More information about the pld-cvs-commit mailing list