mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge pull request #756 from MilhouseVH/kodi17b2p2
kodi: post beta2 patches, crash and mem leak fixes
This commit is contained in:
commit
651135b797
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="inputstream.rtmp"
|
||||
PKG_VERSION="91bb374"
|
||||
PKG_VERSION="70cb86f"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kodi.tv"
|
||||
PKG_URL="https://github.com/notspiff/inputstream.rtmp/archive/$PKG_VERSION.tar.gz"
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/inputstream.rtmp/addon.xml.in b/inputstream.rtmp/addon.xml.in
|
||||
index 2e59513..aa2a5d4 100644
|
||||
--- a/inputstream.rtmp/addon.xml.in
|
||||
+++ b/inputstream.rtmp/addon.xml.in
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<addon
|
||||
id="inputstream.rtmp"
|
||||
- version="1.0.0"
|
||||
+ version="1.0.1"
|
||||
name="RTMP Input"
|
||||
provider-name="spiff">
|
||||
<requires>
|
116
packages/mediacenter/kodi/patches/kodi-999.99-PR10501.patch
Normal file
116
packages/mediacenter/kodi/patches/kodi-999.99-PR10501.patch
Normal file
@ -0,0 +1,116 @@
|
||||
From e0b1e6bd9afc7db17173200b21fcbf0084f83e78 Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Mon, 19 Sep 2016 14:20:44 +0200
|
||||
Subject: [PATCH] VideoPlayer: drop obsolete player method HasFrame, fix subs
|
||||
for bypass renderer
|
||||
|
||||
---
|
||||
xbmc/ApplicationPlayer.cpp | 9 ---------
|
||||
xbmc/ApplicationPlayer.h | 1 -
|
||||
xbmc/cores/IPlayer.h | 2 --
|
||||
xbmc/cores/VideoPlayer/VideoPlayer.cpp | 5 -----
|
||||
xbmc/cores/VideoPlayer/VideoPlayer.h | 1 -
|
||||
xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp | 3 ++-
|
||||
xbmc/video/windows/GUIWindowFullScreen.cpp | 2 +-
|
||||
7 files changed, 3 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/xbmc/ApplicationPlayer.cpp b/xbmc/ApplicationPlayer.cpp
|
||||
index b76134d..205cdd5 100644
|
||||
--- a/xbmc/ApplicationPlayer.cpp
|
||||
+++ b/xbmc/ApplicationPlayer.cpp
|
||||
@@ -762,15 +762,6 @@ void CApplicationPlayer::FrameMove()
|
||||
player->FrameMove();
|
||||
}
|
||||
|
||||
-bool CApplicationPlayer::HasFrame()
|
||||
-{
|
||||
- std::shared_ptr<IPlayer> player = GetInternal();
|
||||
- if (player)
|
||||
- return player->HasFrame();
|
||||
- else
|
||||
- return false;
|
||||
-}
|
||||
-
|
||||
void CApplicationPlayer::Render(bool clear, uint32_t alpha, bool gui)
|
||||
{
|
||||
std::shared_ptr<IPlayer> player = GetInternal();
|
||||
diff --git a/xbmc/ApplicationPlayer.h b/xbmc/ApplicationPlayer.h
|
||||
index d27e8df..5144a0d 100644
|
||||
--- a/xbmc/ApplicationPlayer.h
|
||||
+++ b/xbmc/ApplicationPlayer.h
|
||||
@@ -83,7 +83,6 @@ class CApplicationPlayer
|
||||
void SetPlaySpeed(float speed);
|
||||
|
||||
void FrameMove();
|
||||
- bool HasFrame();
|
||||
void Render(bool clear, uint32_t alpha = 255, bool gui = true);
|
||||
void FlushRenderer();
|
||||
void SetRenderViewMode(int mode);
|
||||
diff --git a/xbmc/cores/IPlayer.h b/xbmc/cores/IPlayer.h
|
||||
index 7bc005b..d004a4e 100644
|
||||
--- a/xbmc/cores/IPlayer.h
|
||||
+++ b/xbmc/cores/IPlayer.h
|
||||
@@ -389,8 +389,6 @@ class IPlayer
|
||||
*/
|
||||
virtual void FrameMove() {};
|
||||
|
||||
- virtual bool HasFrame() { return false; };
|
||||
-
|
||||
virtual void Render(bool clear, uint32_t alpha = 255, bool gui = true) {};
|
||||
|
||||
virtual void FlushRenderer() {};
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoPlayer.cpp b/xbmc/cores/VideoPlayer/VideoPlayer.cpp
|
||||
index b4a604c..ac67923 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoPlayer.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoPlayer.cpp
|
||||
@@ -5039,11 +5039,6 @@ void CVideoPlayer::FrameMove()
|
||||
m_renderManager.FrameMove();
|
||||
}
|
||||
|
||||
-bool CVideoPlayer::HasFrame()
|
||||
-{
|
||||
- return m_renderManager.HasFrame();
|
||||
-}
|
||||
-
|
||||
void CVideoPlayer::Render(bool clear, uint32_t alpha, bool gui)
|
||||
{
|
||||
m_renderManager.Render(clear, 0, alpha, gui);
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoPlayer.h b/xbmc/cores/VideoPlayer/VideoPlayer.h
|
||||
index 3f39706..d022ce2 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoPlayer.h
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoPlayer.h
|
||||
@@ -368,7 +368,6 @@ class CVideoPlayer : public IPlayer, public CThread, public IVideoPlayer, public
|
||||
virtual bool SwitchChannel(const PVR::CPVRChannelPtr &channel);
|
||||
|
||||
virtual void FrameMove();
|
||||
- virtual bool HasFrame();
|
||||
virtual void Render(bool clear, uint32_t alpha = 255, bool gui = true);
|
||||
virtual void FlushRenderer();
|
||||
virtual void SetRenderViewMode(int mode);
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||
index bbdd403..52d418b 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||
@@ -960,7 +960,8 @@ bool CRenderManager::IsGuiLayer()
|
||||
if (!m_pRenderer)
|
||||
return false;
|
||||
|
||||
- if (m_pRenderer->IsGuiLayer() || m_renderedOverlay || m_overlays.HasOverlay(m_presentsource))
|
||||
+ if ((m_pRenderer->IsGuiLayer() && HasFrame()) ||
|
||||
+ m_renderedOverlay || m_overlays.HasOverlay(m_presentsource))
|
||||
return true;
|
||||
|
||||
if (m_renderDebug && m_debugTimer.IsTimePast())
|
||||
diff --git a/xbmc/video/windows/GUIWindowFullScreen.cpp b/xbmc/video/windows/GUIWindowFullScreen.cpp
|
||||
index 7263752..72da165 100644
|
||||
--- a/xbmc/video/windows/GUIWindowFullScreen.cpp
|
||||
+++ b/xbmc/video/windows/GUIWindowFullScreen.cpp
|
||||
@@ -485,7 +485,7 @@ void CGUIWindowFullScreen::FrameMove()
|
||||
|
||||
void CGUIWindowFullScreen::Process(unsigned int currentTime, CDirtyRegionList &dirtyregion)
|
||||
{
|
||||
- if (g_application.m_pPlayer->IsRenderingGuiLayer() && g_application.m_pPlayer->HasFrame())
|
||||
+ if (g_application.m_pPlayer->IsRenderingGuiLayer())
|
||||
MarkDirtyRegion();
|
||||
|
||||
CGUIWindow::Process(currentTime, dirtyregion);
|
44
packages/mediacenter/kodi/patches/kodi-999.99-PR10502.patch
Normal file
44
packages/mediacenter/kodi/patches/kodi-999.99-PR10502.patch
Normal file
@ -0,0 +1,44 @@
|
||||
From 56fc55be3f7e8361ce95dab9131a6d5bfeae1a7d Mon Sep 17 00:00:00 2001
|
||||
From: Rainer Hochecker <fernetmenta@online.de>
|
||||
Date: Mon, 19 Sep 2016 14:45:29 +0200
|
||||
Subject: [PATCH] VideoPlayer: make processInfo a smart pointer, fixes mem leak
|
||||
|
||||
---
|
||||
xbmc/cores/VideoPlayer/VideoPlayer.cpp | 2 +-
|
||||
xbmc/cores/VideoPlayer/VideoPlayer.h | 3 ++-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoPlayer.cpp b/xbmc/cores/VideoPlayer/VideoPlayer.cpp
|
||||
index b4a604c..7c5b243 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoPlayer.cpp
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoPlayer.cpp
|
||||
@@ -663,7 +663,7 @@ CVideoPlayer::CVideoPlayer(IPlayerCallback& callback)
|
||||
|
||||
m_SkipCommercials = true;
|
||||
|
||||
- m_processInfo = CProcessInfo::CreateInstance();
|
||||
+ m_processInfo.reset(CProcessInfo::CreateInstance());
|
||||
CreatePlayers();
|
||||
|
||||
m_displayLost = false;
|
||||
diff --git a/xbmc/cores/VideoPlayer/VideoPlayer.h b/xbmc/cores/VideoPlayer/VideoPlayer.h
|
||||
index 3f39706..2684376 100644
|
||||
--- a/xbmc/cores/VideoPlayer/VideoPlayer.h
|
||||
+++ b/xbmc/cores/VideoPlayer/VideoPlayer.h
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
|
||||
#include <atomic>
|
||||
+#include <memory>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include "cores/IPlayer.h"
|
||||
@@ -503,7 +504,7 @@ class CVideoPlayer : public IPlayer, public CThread, public IVideoPlayer, public
|
||||
XbmcThreads::EndTime m_cachingTimer;
|
||||
CFileItem m_item;
|
||||
XbmcThreads::EndTime m_ChannelEntryTimeOut;
|
||||
- CProcessInfo *m_processInfo;
|
||||
+ std::unique_ptr<CProcessInfo> m_processInfo;
|
||||
|
||||
CCurrentStream m_CurrentAudio;
|
||||
CCurrentStream m_CurrentVideo;
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user