mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 06:06:43 +00:00
kodi: drop WeTek_Core patches
This commit is contained in:
parent
b71874e5ce
commit
eccfad7df0
@ -1,29 +0,0 @@
|
|||||||
From 58415a1c26a1d0f41bc45ff66471c2a41b705edf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Deryskyba <alex@codesnake.com>
|
|
||||||
Date: Sat, 20 Sep 2014 04:43:52 +0300
|
|
||||||
Subject: [PATCH 1/5] [aml] Fill audio packets completely when resampling to
|
|
||||||
prevent 'audio data unaligned' kernel warnings
|
|
||||||
|
|
||||||
---
|
|
||||||
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
|
|
||||||
index 3ca667c..304cff8 100644
|
|
||||||
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
|
|
||||||
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
|
|
||||||
@@ -162,7 +162,11 @@ CActiveAEBufferPoolResample::CActiveAEBufferPoolResample(AEAudioFormat inputForm
|
|
||||||
m_inputFormat.m_channelLayout += AE_CH_FC;
|
|
||||||
}
|
|
||||||
m_resampler = NULL;
|
|
||||||
+#ifdef HAS_LIBAMCODEC
|
|
||||||
+ m_fillPackets = true;
|
|
||||||
+#else
|
|
||||||
m_fillPackets = false;
|
|
||||||
+#endif
|
|
||||||
m_drain = false;
|
|
||||||
m_empty = true;
|
|
||||||
m_procSample = NULL;
|
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
From 4b3958857f85df99dece4faffd42b15a9445e5cb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Deryskyba <alex@codesnake.com>
|
|
||||||
Date: Tue, 30 Jun 2015 11:19:57 +0200
|
|
||||||
Subject: [PATCH 2/5] [aml] Ugly workaround to show DTS/AC3 caps
|
|
||||||
|
|
||||||
... but don't run into multi channel issues as we can only open 2 pcm channels
|
|
||||||
---
|
|
||||||
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
|
||||||
index 6a9066b..7abf119 100644
|
|
||||||
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
|
||||||
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
|
||||||
@@ -1301,6 +1301,12 @@ void CAESinkALSA::EnumerateDevicesEx(AEDeviceInfoList &list, bool force)
|
|
||||||
|
|
||||||
AEDeviceType CAESinkALSA::AEDeviceTypeFromName(const std::string &name)
|
|
||||||
{
|
|
||||||
+#ifdef HAS_LIBAMCODEC
|
|
||||||
+ // ugly workaround to show DTS / AC3 caps
|
|
||||||
+ // but don't run into multi channel issues
|
|
||||||
+ // as we can only open 2 pcm channels
|
|
||||||
+ return AE_DEVTYPE_IEC958;
|
|
||||||
+#endif
|
|
||||||
if (name.substr(0, 4) == "hdmi")
|
|
||||||
return AE_DEVTYPE_HDMI;
|
|
||||||
else if (name.substr(0, 6) == "iec958" || name.substr(0, 5) == "spdif")
|
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
|
@ -1,124 +0,0 @@
|
|||||||
From 46aab0b0856eeaa855c430ddd36ac97203afa43b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Deryskyba <alex@codesnake.com>
|
|
||||||
Date: Wed, 1 Jul 2015 23:37:11 +0200
|
|
||||||
Subject: [PATCH 3/5] [aml] Add support for 4k resolutions
|
|
||||||
|
|
||||||
---
|
|
||||||
xbmc/utils/AMLUtils.cpp | 16 ++++++++--------
|
|
||||||
xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp | 23 +++++++++++++++++++----
|
|
||||||
xbmc/windowing/egl/EGLNativeTypeAmlogic.h | 2 ++
|
|
||||||
3 files changed, 29 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/utils/AMLUtils.cpp b/xbmc/utils/AMLUtils.cpp
|
|
||||||
index 80fb453..65286de 100644
|
|
||||||
--- a/xbmc/utils/AMLUtils.cpp
|
|
||||||
+++ b/xbmc/utils/AMLUtils.cpp
|
|
||||||
@@ -463,8 +463,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
|
||||||
}
|
|
||||||
else if (StringUtils::EqualsNoCase(fromMode, "4k2ksmpte") || StringUtils::EqualsNoCase(fromMode, "smpte24hz"))
|
|
||||||
{
|
|
||||||
- res->iWidth = 1920;
|
|
||||||
- res->iHeight= 1080;
|
|
||||||
+ res->iWidth = 4096;
|
|
||||||
+ res->iHeight= 2160;
|
|
||||||
res->iScreenWidth = 4096;
|
|
||||||
res->iScreenHeight= 2160;
|
|
||||||
res->fRefreshRate = 24;
|
|
||||||
@@ -481,8 +481,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
|
||||||
}
|
|
||||||
else if (StringUtils::EqualsNoCase(fromMode, "4k2k24hz") || StringUtils::EqualsNoCase(fromMode, "2160p24hz"))
|
|
||||||
{
|
|
||||||
- res->iWidth = 1920;
|
|
||||||
- res->iHeight= 1080;
|
|
||||||
+ res->iWidth = 3840;
|
|
||||||
+ res->iHeight= 2160;
|
|
||||||
res->iScreenWidth = 3840;
|
|
||||||
res->iScreenHeight= 2160;
|
|
||||||
res->fRefreshRate = 24;
|
|
||||||
@@ -490,8 +490,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
|
||||||
}
|
|
||||||
else if (StringUtils::EqualsNoCase(fromMode, "4k2k25hz") || StringUtils::EqualsNoCase(fromMode, "2160p25hz"))
|
|
||||||
{
|
|
||||||
- res->iWidth = 1920;
|
|
||||||
- res->iHeight= 1080;
|
|
||||||
+ res->iWidth = 3840;
|
|
||||||
+ res->iHeight= 2160;
|
|
||||||
res->iScreenWidth = 3840;
|
|
||||||
res->iScreenHeight= 2160;
|
|
||||||
res->fRefreshRate = 25;
|
|
||||||
@@ -508,8 +508,8 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
|
|
||||||
}
|
|
||||||
else if (StringUtils::EqualsNoCase(fromMode, "4k2k30hz") || StringUtils::EqualsNoCase(fromMode, "2160p30hz"))
|
|
||||||
{
|
|
||||||
- res->iWidth = 1920;
|
|
||||||
- res->iHeight= 1080;
|
|
||||||
+ res->iWidth = 3840;
|
|
||||||
+ res->iHeight= 2160;
|
|
||||||
res->iScreenWidth = 3840;
|
|
||||||
res->iScreenHeight= 2160;
|
|
||||||
res->fRefreshRate = 30;
|
|
||||||
diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
|
|
||||||
index 88cd385..3bfb0c6 100644
|
|
||||||
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
|
|
||||||
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
|
|
||||||
@@ -64,7 +64,22 @@ void CEGLNativeTypeAmlogic::Initialize()
|
|
||||||
{
|
|
||||||
aml_permissions();
|
|
||||||
DisableFreeScale();
|
|
||||||
+ GetMaxResolution(m_maxResolution);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+void CEGLNativeTypeAmlogic::GetMaxResolution(RESOLUTION_INFO &maxResolution)
|
|
||||||
+{
|
|
||||||
+ std::vector<RESOLUTION_INFO> resolutions;
|
|
||||||
+ ProbeResolutions(resolutions);
|
|
||||||
+
|
|
||||||
+ maxResolution = {0};
|
|
||||||
+ for (size_t i = 0; i < resolutions.size(); i++)
|
|
||||||
+ {
|
|
||||||
+ if (resolutions[i].iScreenWidth > maxResolution.iScreenWidth || resolutions[i].iScreenHeight > maxResolution.iScreenHeight)
|
|
||||||
+ maxResolution = resolutions[i];
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void CEGLNativeTypeAmlogic::Destroy()
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
@@ -83,8 +98,8 @@ bool CEGLNativeTypeAmlogic::CreateNativeWindow()
|
|
||||||
if (!nativeWindow)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
- nativeWindow->width = 1920;
|
|
||||||
- nativeWindow->height = 1080;
|
|
||||||
+ nativeWindow->width = m_maxResolution.iScreenWidth;
|
|
||||||
+ nativeWindow->height = m_maxResolution.iScreenHeight;
|
|
||||||
m_nativeWindow = nativeWindow;
|
|
||||||
|
|
||||||
SetFramebufferResolution(nativeWindow->width, nativeWindow->height);
|
|
||||||
@@ -244,8 +259,8 @@ void CEGLNativeTypeAmlogic::SetFramebufferResolution(int width, int height) cons
|
|
||||||
{
|
|
||||||
vinfo.xres = width;
|
|
||||||
vinfo.yres = height;
|
|
||||||
- vinfo.xres_virtual = 1920;
|
|
||||||
- vinfo.yres_virtual = 2160;
|
|
||||||
+ vinfo.xres_virtual = m_maxResolution.iScreenWidth;
|
|
||||||
+ vinfo.yres_virtual = m_maxResolution.iScreenHeight * 2;
|
|
||||||
vinfo.bits_per_pixel = 32;
|
|
||||||
vinfo.activate = FB_ACTIVATE_ALL;
|
|
||||||
ioctl(fd0, FBIOPUT_VSCREENINFO, &vinfo);
|
|
||||||
diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
|
|
||||||
index cfb33ca..cf60134 100644
|
|
||||||
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
|
|
||||||
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
|
|
||||||
@@ -58,6 +58,8 @@ protected:
|
|
||||||
private:
|
|
||||||
void SetFramebufferResolution(const RESOLUTION_INFO &res) const;
|
|
||||||
void SetFramebufferResolution(int width, int height) const;
|
|
||||||
+ void GetMaxResolution(RESOLUTION_INFO &maxResolution);
|
|
||||||
|
|
||||||
std::string m_framebuffer_name;
|
|
||||||
+ RESOLUTION_INFO m_maxResolution;
|
|
||||||
};
|
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
From 5095bcfcb4bf235855f2474ff229a95c8f20fc2d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alex Deryskyba <alex@codesnake.com>
|
|
||||||
Date: Tue, 14 Jul 2015 16:02:35 +0300
|
|
||||||
Subject: [PATCH 4/5] [powermanagement] Perform suspend instead of powerdown
|
|
||||||
|
|
||||||
---
|
|
||||||
xbmc/powermanagement/linux/LogindUPowerSyscall.cpp | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
|
|
||||||
index 4e5bcc6..ad5847d 100644
|
|
||||||
--- a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
|
|
||||||
+++ b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
|
|
||||||
@@ -53,7 +53,7 @@ CLogindUPowerSyscall::CLogindUPowerSyscall()
|
|
||||||
m_canPowerdown = LogindCheckCapability("CanPowerOff");
|
|
||||||
m_canReboot = LogindCheckCapability("CanReboot");
|
|
||||||
m_canHibernate = LogindCheckCapability("CanHibernate");
|
|
||||||
- m_canSuspend = LogindCheckCapability("CanSuspend");
|
|
||||||
+ m_canSuspend = false;
|
|
||||||
|
|
||||||
InhibitDelayLock();
|
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ CLogindUPowerSyscall::~CLogindUPowerSyscall()
|
|
||||||
|
|
||||||
bool CLogindUPowerSyscall::Powerdown()
|
|
||||||
{
|
|
||||||
- return LogindSetPowerState("PowerOff");
|
|
||||||
+ return Suspend();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CLogindUPowerSyscall::Reboot()
|
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user