mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 21:26:49 +00:00
Merge pull request #596 from vpeter4/imx6-kodi
projects/imx6: update kodi patch for 17.0-alpha3-fc46cf2
This commit is contained in:
commit
fb39931f91
@ -6,6 +6,8 @@ Subject: [PATCH] patch for kodi krypton from mk01
|
|||||||
kodi base: f3ca4eaf9a803f0ae195854f088341b84f9253c9
|
kodi base: f3ca4eaf9a803f0ae195854f088341b84f9253c9
|
||||||
kodi mk01:
|
kodi mk01:
|
||||||
https://github.com/mk01/xbmc/tree/treeKrypton 0b3954d54c41c494e30143794ccfba0b690f926d
|
https://github.com/mk01/xbmc/tree/treeKrypton 0b3954d54c41c494e30143794ccfba0b690f926d
|
||||||
|
|
||||||
|
+ small adaptions for kodi-17.0-alpha3-fc46cf2 (2 Aug 2016)
|
||||||
---
|
---
|
||||||
Makefile.in | 1 +
|
Makefile.in | 1 +
|
||||||
.../resource.language.en_gb/resources/strings.po | 154 +-
|
.../resource.language.en_gb/resources/strings.po | 154 +-
|
||||||
@ -316,11 +318,10 @@ index 028aa8f..d4ee85e 100644
|
|||||||
|
|
||||||
#: system/settings/settings.xml
|
#: system/settings/settings.xml
|
||||||
msgctxt "#36220"
|
msgctxt "#36220"
|
||||||
@@ -19163,3 +19223,77 @@ msgstr ""
|
@@ -19456,3 +19515,76 @@ msgstr ""
|
||||||
msgctxt "#39003"
|
|
||||||
msgid "Accelerate h264"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
+
|
|
||||||
|
|
||||||
+#. Label of setting "System -> Video output -> Refresh resolutions"
|
+#. Label of setting "System -> Video output -> Refresh resolutions"
|
||||||
+#: system/settings/settings.xml
|
+#: system/settings/settings.xml
|
||||||
+msgctxt "#40000"
|
+msgctxt "#40000"
|
||||||
@ -652,7 +653,7 @@ index b8c90a5..52e60e3 100644
|
|||||||
<settings>
|
<settings>
|
||||||
<section id="player">
|
<section id="player">
|
||||||
<category id="videoplayer">
|
<category id="videoplayer">
|
||||||
- <group id="4">
|
- <group id="3">
|
||||||
+ <group id="2">
|
+ <group id="2">
|
||||||
+ <setting id="videoplayer.adjustresolution">
|
+ <setting id="videoplayer.adjustresolution">
|
||||||
+ <default>true</default>
|
+ <default>true</default>
|
||||||
@ -7734,22 +7735,13 @@ diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/A
|
|||||||
index 8c0cca3..8d3ba85 100644
|
index 8c0cca3..8d3ba85 100644
|
||||||
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||||
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||||
@@ -2322,7 +2322,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream)
|
|
||||||
double threshold = 100;
|
|
||||||
if (stream->m_resampleMode)
|
|
||||||
{
|
|
||||||
- if (stream->m_pClock && stream->m_pClock->GetClockSpeed() > 1.1)
|
|
||||||
+ if (stream->m_pClock->GetClockSpeed() > 1.1)
|
|
||||||
threshold *= 10;
|
|
||||||
else
|
|
||||||
threshold *= 2;
|
|
||||||
@@ -2334,8 +2334,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream)
|
@@ -2334,8 +2334,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream)
|
||||||
if (newerror && fabs(error) > threshold && stream->m_syncState == CAESyncInfo::AESyncState::SYNC_INSYNC)
|
if (newerror && fabs(error) > threshold && stream->m_syncState == CAESyncInfo::AESyncState::SYNC_INSYNC)
|
||||||
{
|
{
|
||||||
stream->m_syncState = CAESyncInfo::AESyncState::SYNC_ADJUST;
|
stream->m_syncState = CAESyncInfo::AESyncState::SYNC_ADJUST;
|
||||||
- stream->m_resampleBuffers->m_resampleRatio = 1.0;
|
- stream->m_processingBuffers->SetRR(1.0);
|
||||||
- stream->m_resampleIntegral = 0;
|
- stream->m_resampleIntegral = 0;
|
||||||
+ stream->m_resampleBuffers->m_resampleRatio = stream->GetResampleRatio();
|
+ stream->m_processingBuffers->SetRR(stream->GetResampleRatio());
|
||||||
stream->m_lastSyncError = error;
|
stream->m_lastSyncError = error;
|
||||||
CLog::Log(LOGDEBUG,"ActiveAE::SyncStream - average error %f above threshold of %f", error, threshold);
|
CLog::Log(LOGDEBUG,"ActiveAE::SyncStream - average error %f above threshold of %f", error, threshold);
|
||||||
}
|
}
|
||||||
@ -7769,24 +7761,24 @@ index 8c0cca3..8d3ba85 100644
|
|||||||
stream->m_syncState = CAESyncInfo::AESyncState::SYNC_INSYNC;
|
stream->m_syncState = CAESyncInfo::AESyncState::SYNC_INSYNC;
|
||||||
stream->m_syncError.Flush(1000);
|
stream->m_syncError.Flush(1000);
|
||||||
- stream->m_resampleIntegral = 0;
|
- stream->m_resampleIntegral = 0;
|
||||||
- stream->m_resampleBuffers->m_resampleRatio = 1.0;
|
- stream->m_processingBuffers->SetRR(1.0);
|
||||||
CLog::Log(LOGDEBUG,"ActiveAE::SyncStream - average error %f below threshold of %f", error, 30.0);
|
CLog::Log(LOGDEBUG,"ActiveAE::SyncStream - average error %f below threshold of %f", error, 30.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+ else
|
+ else
|
||||||
+ {
|
+ {
|
||||||
+ if (lerr && fabs(error) < lerr)
|
+ if (lerr && fabs(error) < lerr)
|
||||||
+ stream->m_resampleBuffers->m_resampleRatio = (1.0 / stream->m_pClock->GetClockSpeed() + stream->GetResampleRatio()) / 2;
|
+ stream->m_processingBuffers->SetRR((1.0 / stream->m_pClock->GetClockSpeed() + stream->GetResampleRatio()) / 2);
|
||||||
+ lerr = fabs(error);
|
+ lerr = fabs(error);
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -2474,6 +2479,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream)
|
@@ -2474,6 +2479,7 @@ CSampleBuffer* CActiveAE::SyncStream(CActiveAEStream *stream)
|
||||||
if (stream->m_resampleBuffers)
|
if (stream->m_processingBuffers)
|
||||||
{
|
{
|
||||||
stream->m_resampleBuffers->m_resampleRatio = stream->CalcResampleRatio(error);
|
stream->m_processingBuffers->SetRR(stream->CalcResampleRatio(error));
|
||||||
+ stream->SetResampleRatio(stream->m_resampleBuffers->m_resampleRatio);
|
+ stream->SetResampleRatio(stream->m_processingBuffers->GetRR());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (stream->m_resampleBuffers)
|
else if (stream->m_resampleBuffers)
|
||||||
@ -11576,8 +11568,8 @@ diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/core
|
|||||||
index aaf5359..9e0b81d 100644
|
index aaf5359..9e0b81d 100644
|
||||||
--- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
--- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
@@ -814,32 +814,22 @@ void CRenderManager::FlipPage(volatile std::atomic_bool& bStop, double pts /* =
|
@@ -808,26 +808,16 @@ void CRenderManager::FlipPage(volatile s
|
||||||
else
|
{
|
||||||
{
|
{
|
||||||
bool invert = false;
|
bool invert = false;
|
||||||
- if (interlacemethod == VS_INTERLACEMETHOD_RENDER_BLEND)
|
- if (interlacemethod == VS_INTERLACEMETHOD_RENDER_BLEND)
|
||||||
@ -11613,13 +11605,7 @@ index aaf5359..9e0b81d 100644
|
|||||||
|
|
||||||
if (presentmethod != PRESENT_METHOD_SINGLE)
|
if (presentmethod != PRESENT_METHOD_SINGLE)
|
||||||
{
|
{
|
||||||
/* default to odd field if we want to deinterlace and don't know better */
|
|
||||||
if (deinterlacemode == VS_DEINTERLACEMODE_FORCE && sync == FS_NONE)
|
|
||||||
- sync = FS_TOP;
|
|
||||||
+ sync = FS_TOP;
|
|
||||||
|
|
||||||
/* invert present field */
|
|
||||||
if (invert)
|
|
||||||
@@ -884,7 +874,7 @@ RESOLUTION CRenderManager::GetResolution()
|
@@ -884,7 +874,7 @@ RESOLUTION CRenderManager::GetResolution()
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
@ -13028,7 +13014,7 @@ index 0df104f..496b047 100644
|
|||||||
+ CNetworkUpdater(void (*watcher)(void *caller));
|
+ CNetworkUpdater(void (*watcher)(void *caller));
|
||||||
+ virtual ~CNetworkUpdater(void);
|
+ virtual ~CNetworkUpdater(void);
|
||||||
+
|
+
|
||||||
+ volatile bool *Stopping() { return &m_bStop; }
|
+ volatile std::atomic<bool> *Stopping() { return &m_bStop; }
|
||||||
+ void Announce(ANNOUNCEMENT::AnnouncementFlag flag, const char *sender, const char *message, const CVariant &data);
|
+ void Announce(ANNOUNCEMENT::AnnouncementFlag flag, const char *sender, const char *message, const CVariant &data);
|
||||||
+
|
+
|
||||||
+ protected:
|
+ protected:
|
||||||
@ -14072,7 +14058,7 @@ index 5868845..1a6e684 100644
|
|||||||
+ int fds = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
|
+ int fds = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
|
||||||
+ struct pollfd m_fds = { fds, POLLIN, 0 };
|
+ struct pollfd m_fds = { fds, POLLIN, 0 };
|
||||||
+ char msg[4096];
|
+ char msg[4096];
|
||||||
+ volatile bool *stopping = ((CNetwork::CNetworkUpdater*)caller)->Stopping();
|
+ volatile std::atomic<bool> *stopping = ((CNetwork::CNetworkUpdater*)caller)->Stopping();
|
||||||
+
|
+
|
||||||
+ memset (&addr, 0, sizeof(struct sockaddr_nl));
|
+ memset (&addr, 0, sizeof(struct sockaddr_nl));
|
||||||
+ addr.nl_family = AF_NETLINK;
|
+ addr.nl_family = AF_NETLINK;
|
||||||
@ -15728,17 +15714,16 @@ index af84e7a..a54a794 100644
|
|||||||
if (adapter->GetSettingInt("pause_or_stop_playback_on_deactivate") != LOCALISED_ID_NONE)
|
if (adapter->GetSettingInt("pause_or_stop_playback_on_deactivate") != LOCALISED_ID_NONE)
|
||||||
{
|
{
|
||||||
bool bShowingSlideshow = (g_windowManager.GetActiveWindow() == WINDOW_SLIDESHOW);
|
bool bShowingSlideshow = (g_windowManager.GetActiveWindow() == WINDOW_SLIDESHOW);
|
||||||
@@ -1181,18 +1194,35 @@ void CPeripheralCecAdapter::CecSourceActivated(void *cbParam, const CEC::cec_log
|
@@ -1183,7 +1183,7 @@ void CPeripheralCecAdapter::CecSourceAct
|
||||||
pSlideShow->OnAction(CAction(ACTION_PAUSE));
|
pSlideShow->OnAction(CAction(ACTION_PAUSE));
|
||||||
else
|
else
|
||||||
// pause/resume player
|
// pause/resume player
|
||||||
- CApplicationMessenger::GetInstance().SendMsg(TMSG_MEDIA_PAUSE);
|
- CApplicationMessenger::GetInstance().SendMsg(TMSG_MEDIA_PAUSE);
|
||||||
+ CApplicationMessenger::GetInstance().SendMsg(TMSG_MEDIA_PAUSE, wait);
|
+ CApplicationMessenger::GetInstance().SendMsg(TMSG_MEDIA_PAUSE, wait);
|
||||||
}
|
}
|
||||||
- else if (adapter->GetSettingInt("pause_or_stop_playback_on_deactivate") == LOCALISED_ID_STOP)
|
else if (bPlayingAndDeactivated
|
||||||
+ else if (bPlayingAndDeactivated
|
&& adapter->GetSettingInt("pause_or_stop_playback_on_deactivate") == LOCALISED_ID_STOP)
|
||||||
+ && adapter->GetSettingInt("pause_or_stop_playback_on_deactivate") == LOCALISED_ID_STOP)
|
@@ -1191,11 +1191,27 @@ void CPeripheralCecAdapter::CecSourceAct
|
||||||
{
|
|
||||||
if (pSlideShow)
|
if (pSlideShow)
|
||||||
pSlideShow->OnAction(CAction(ACTION_STOP));
|
pSlideShow->OnAction(CAction(ACTION_STOP));
|
||||||
else
|
else
|
||||||
@ -15767,6 +15752,7 @@ index af84e7a..a54a794 100644
|
|||||||
int CPeripheralCecAdapter::CecLogMessage(void *cbParam, const cec_log_message message)
|
int CPeripheralCecAdapter::CecLogMessage(void *cbParam, const cec_log_message message)
|
||||||
{
|
{
|
||||||
CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
|
CPeripheralCecAdapter *adapter = (CPeripheralCecAdapter *)cbParam;
|
||||||
|
|
||||||
@@ -1219,8 +1249,7 @@ int CPeripheralCecAdapter::CecLogMessage(void *cbParam, const cec_log_message me
|
@@ -1219,8 +1249,7 @@ int CPeripheralCecAdapter::CecLogMessage(void *cbParam, const cec_log_message me
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -18537,3 +18523,71 @@ index 4184db0..fe40f1b 100644
|
|||||||
--
|
--
|
||||||
2.7.1
|
2.7.1
|
||||||
|
|
||||||
|
From 707e1060d31717ab2318f49d2289b4b7968b12db Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Vicman <peter.vicman@gmail.com>
|
||||||
|
Date: Tue, 2 Aug 2016 20:43:54 +0200
|
||||||
|
Subject: [PATCH] small fixes for kodi-17.0-alpha3-fc46cf2
|
||||||
|
|
||||||
|
---
|
||||||
|
.../VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp | 10 ----------
|
||||||
|
.../cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.h | 1 -
|
||||||
|
xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp | 4 ++--
|
||||||
|
3 files changed, 2 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp
|
||||||
|
index ffd807d..4873919 100644
|
||||||
|
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp
|
||||||
|
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.cpp
|
||||||
|
@@ -102,16 +102,6 @@ bool CRendererIMX::Supports(EINTERLACEMETHOD method)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
-bool CRendererIMX::Supports(EDEINTERLACEMODE mode)
|
||||||
|
-{
|
||||||
|
- if(mode == VS_DEINTERLACEMODE_AUTO
|
||||||
|
- || mode == VS_DEINTERLACEMODE_FORCE
|
||||||
|
- || mode == VS_DEINTERLACEMODE_OFF)
|
||||||
|
- return true;
|
||||||
|
-
|
||||||
|
- return false;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
bool CRendererIMX::Supports(ESCALINGMETHOD method)
|
||||||
|
{
|
||||||
|
return method == VS_SCALINGMETHOD_AUTO;
|
||||||
|
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.h b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.h
|
||||||
|
index 74f6888..ba9618d 100644
|
||||||
|
--- a/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.h
|
||||||
|
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/RendererIMX.h
|
||||||
|
@@ -41,7 +41,6 @@ public:
|
||||||
|
|
||||||
|
// Feature support
|
||||||
|
virtual bool Supports(EINTERLACEMETHOD method);
|
||||||
|
- virtual bool Supports(EDEINTERLACEMODE mode);
|
||||||
|
virtual bool Supports(ESCALINGMETHOD method);
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
|
index 1ec8575..e9e69cc 100644
|
||||||
|
--- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
|
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
|
||||||
|
@@ -864,7 +864,7 @@ RESOLUTION CRenderManager::GetResolution()
|
||||||
|
return res;
|
||||||
|
|
||||||
|
if (CSettings::GetInstance().GetInt(CSettings::SETTING_VIDEOPLAYER_ADJUSTREFRESHRATE) != ADJUST_REFRESHRATE_OFF)
|
||||||
|
- res = CResolutionUtils::ChooseBestResolution(m_fps, m_width, CONF_FLAGS_STEREO_MODE_MASK(m_flags));
|
||||||
|
+ res = CResolutionUtils::ChooseBestResolution(m_fps, m_width, m_height, CONF_FLAGS_STEREO_MODE_MASK(m_flags), CONF_FLAGS_INTERLACED_MODE_MASK(m_flags));
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
@@ -1059,7 +1059,7 @@ void CRenderManager::UpdateResolution()
|
||||||
|
{
|
||||||
|
if (CSettings::GetInstance().GetInt(CSettings::SETTING_VIDEOPLAYER_ADJUSTREFRESHRATE) != ADJUST_REFRESHRATE_OFF && m_fps > 0.0f)
|
||||||
|
{
|
||||||
|
- RESOLUTION res = CResolutionUtils::ChooseBestResolution(m_fps, m_width, CONF_FLAGS_STEREO_MODE_MASK(m_flags));
|
||||||
|
+ RESOLUTION res = CResolutionUtils::ChooseBestResolution(m_fps, m_width, m_height, CONF_FLAGS_STEREO_MODE_MASK(m_flags), CONF_FLAGS_INTERLACED_MODE_MASK(m_flags));
|
||||||
|
g_graphicsContext.SetVideoResolution(res);
|
||||||
|
UpdateDisplayLatency();
|
||||||
|
|
||||||
|
--
|
||||||
|
2.7.1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user