diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index 2cb9c75ac3..921c30f99b 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) PKG_NAME="kodi" -PKG_VERSION="8ea70bc886aff2d6e4ddcd6ae1b651a57debb8f8" -PKG_SHA256="56d2611afef27272b4db1af042c0fdc995ed0ddd2dc90c6936a1bc7606cbb893" +PKG_VERSION="aff7e96baad0cadabb378817a078166cc2031cdf" +PKG_SHA256="f5136e1e225c134c3e58680a2c864776927d3181d564d1418e7a27913e1fe9b8" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="https://github.com/xbmc/xbmc/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/mediacenter/kodi/patches/kodi-100.03-disable-online-check.patch b/packages/mediacenter/kodi/patches/kodi-100.03-disable-online-check.patch index aa0889db1e..a1849fd3fa 100644 --- a/packages/mediacenter/kodi/patches/kodi-100.03-disable-online-check.patch +++ b/packages/mediacenter/kodi/patches/kodi-100.03-disable-online-check.patch @@ -13,7 +13,7 @@ Subject: disable online check {"uptime", SYSTEM_UPTIME}, --- a/xbmc/utils/SystemInfo.cpp +++ b/xbmc/utils/SystemInfo.cpp -@@ -274,7 +274,6 @@ bool CSysInfoJob::DoWork() +@@ -273,7 +273,6 @@ bool CSysInfoJob::DoWork() { m_info.systemUptime = GetSystemUpTime(false); m_info.systemTotalUptime = GetSystemUpTime(true); @@ -21,7 +21,7 @@ Subject: disable online check m_info.videoEncoder = GetVideoEncoder(); m_info.cpuFrequency = StringUtils::Format("{:4.0f} MHz", CServiceBroker::GetCPUInfo()->GetCPUFrequency()); -@@ -1010,9 +1009,7 @@ int CSysInfo::GetXbmcBitness(void) +@@ -1011,9 +1010,7 @@ int CSysInfo::GetXbmcBitness(void) bool CSysInfo::HasInternet() { diff --git a/packages/mediacenter/kodi/patches/kodi-999.01-pr20210-drmprime-coordinates.patch b/packages/mediacenter/kodi/patches/kodi-999.01-pr20210-drmprime-coordinates.patch deleted file mode 100644 index 8c70771a8e..0000000000 --- a/packages/mediacenter/kodi/patches/kodi-999.01-pr20210-drmprime-coordinates.patch +++ /dev/null @@ -1,159 +0,0 @@ -From a8be41257dc58daa2095155b27394d93bf2c3927 Mon Sep 17 00:00:00 2001 -From: Matthias Reichl -Date: Wed, 29 Sep 2021 23:50:42 +0200 -Subject: [PATCH 1/2] CBaseRenderer: factor out destRect calculation - -Also change C-style to static_cast - -Signed-off-by: Matthias Reichl ---- - .../VideoRenderers/BaseRenderer.cpp | 36 +++++++++++++++---- - .../VideoPlayer/VideoRenderers/BaseRenderer.h | 8 +++++ - 2 files changed, 37 insertions(+), 7 deletions(-) - -diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.cpp -index 8c0e408bc6..f67ba34da2 100644 ---- a/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.cpp -+++ b/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.cpp -@@ -104,13 +104,19 @@ void CBaseRenderer::restoreRotatedCoords() - m_rotatedDestCoords[i] = m_savedRotatedDestCoords[i]; - } - --void CBaseRenderer::CalcNormalRenderRect(float offsetX, float offsetY, float width, float height, -- float inputFrameRatio, float zoomAmount, float verticalShift) -+void CBaseRenderer::CalcDestRect(float offsetX, -+ float offsetY, -+ float width, -+ float height, -+ float inputFrameRatio, -+ float zoomAmount, -+ float verticalShift, -+ CRect& destRect) - { - // if view window is empty, set empty destination - if (height == 0 || width == 0) - { -- m_destRect.SetRect(0.0f, 0.0f, 0.0f, 0.0f); -+ destRect.SetRect(0.0f, 0.0f, 0.0f, 0.0f); - return; - } - -@@ -190,10 +196,26 @@ void CBaseRenderer::CalcNormalRenderRect(float offsetX, float offsetY, float wid - else if (verticalShift < -1.0f) - posY += shiftRange * (verticalShift + 1.0f); - -- m_destRect.x1 = (float)MathUtils::round_int(static_cast(posX + offsetX)); -- m_destRect.x2 = m_destRect.x1 + MathUtils::round_int(static_cast(newWidth)); -- m_destRect.y1 = (float)MathUtils::round_int(static_cast(posY + offsetY)); -- m_destRect.y2 = m_destRect.y1 + MathUtils::round_int(static_cast(newHeight)); -+ destRect.x1 = static_cast(MathUtils::round_int(static_cast(posX + offsetX))); -+ destRect.x2 = destRect.x1 + MathUtils::round_int(static_cast(newWidth)); -+ destRect.y1 = static_cast(MathUtils::round_int(static_cast(posY + offsetY))); -+ destRect.y2 = destRect.y1 + MathUtils::round_int(static_cast(newHeight)); -+} -+ -+void CBaseRenderer::CalcNormalRenderRect(float offsetX, -+ float offsetY, -+ float width, -+ float height, -+ float inputFrameRatio, -+ float zoomAmount, -+ float verticalShift) -+{ -+ CalcDestRect(offsetX, offsetY, width, height, inputFrameRatio, zoomAmount, verticalShift, -+ m_destRect); -+ -+ // bail out if view window is empty -+ if (height == 0 || width == 0) -+ return; - - // clip as needed - if (!(CServiceBroker::GetWinSystem()->GetGfxContext().IsFullScreenVideo() || CServiceBroker::GetWinSystem()->GetGfxContext().IsCalibrating())) -diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.h b/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.h -index 20841fc7f4..0f24439171 100644 ---- a/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.h -+++ b/xbmc/cores/VideoPlayer/VideoRenderers/BaseRenderer.h -@@ -99,6 +99,14 @@ public: - virtual CRenderCapture* GetRenderCapture() { return nullptr; } - - protected: -+ void CalcDestRect(float offsetX, -+ float offsetY, -+ float width, -+ float height, -+ float inputFrameRatio, -+ float zoomAmount, -+ float verticalShift, -+ CRect& destRect); - void CalcNormalRenderRect(float offsetX, float offsetY, float width, float height, - float inputFrameRatio, float zoomAmount, float verticalShift); - void CalculateFrameAspectRatio(unsigned int desired_width, unsigned int desired_height); --- -2.30.2 - - -From e894b9fd6b4773ffb20d94436a9aeb90f68bdf35 Mon Sep 17 00:00:00 2001 -From: Matthias Reichl -Date: Wed, 29 Sep 2021 23:53:36 +0200 -Subject: [PATCH 2/2] RendererDRMPRIME: keep plane coords of video render area - private - -Store plane coordinates of render area in a separate, private member -instead of re-using m_destRect so that m_destRect is again guaranteed -to be within m_viewRect. - -Fixes: 9cfa99f "RendererDRMPRIME: use screen size when calculating render area" - -Signed-off-by: Matthias Reichl ---- - .../HwDecRender/RendererDRMPRIME.cpp | 14 +++++++++----- - .../VideoRenderers/HwDecRender/RendererDRMPRIME.h | 1 + - 2 files changed, 10 insertions(+), 5 deletions(-) - -diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.cpp -index 4c141cee81..e304d601d2 100644 ---- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.cpp -+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.cpp -@@ -131,10 +131,14 @@ void CRendererDRMPRIME::ManageRenderArea() - RESOLUTION_INFO info = CServiceBroker::GetWinSystem()->GetGfxContext().GetResInfo(); - if (info.iScreenWidth != info.iWidth) - { -- CalcNormalRenderRect(0, 0, info.iScreenWidth, info.iScreenHeight, -- GetAspectRatio() * CDisplaySettings::GetInstance().GetPixelRatio(), -- CDisplaySettings::GetInstance().GetZoomAmount(), -- CDisplaySettings::GetInstance().GetVerticalShift()); -+ CalcDestRect(0, 0, info.iScreenWidth, info.iScreenHeight, -+ GetAspectRatio() * CDisplaySettings::GetInstance().GetPixelRatio(), -+ CDisplaySettings::GetInstance().GetZoomAmount(), -+ CDisplaySettings::GetInstance().GetVerticalShift(), m_planeDestRect); -+ } -+ else -+ { -+ m_planeDestRect = m_destRect; - } - } - -@@ -224,7 +228,7 @@ void CRendererDRMPRIME::RenderUpdate( - if (m_iLastRenderBuffer == -1) - m_videoLayerBridge->Configure(buffer); - -- m_videoLayerBridge->SetVideoPlane(buffer, m_destRect); -+ m_videoLayerBridge->SetVideoPlane(buffer, m_planeDestRect); - - m_iLastRenderBuffer = index; - } -diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.h b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.h -index de17869d43..33eb39ae11 100644 ---- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.h -+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererDRMPRIME.h -@@ -50,6 +50,7 @@ protected: - private: - bool m_bConfigured = false; - int m_iLastRenderBuffer = -1; -+ CRect m_planeDestRect; - - std::shared_ptr m_videoLayerBridge; - --- -2.30.2 -