kodi: update to 17.0-alpha1-8191052

This commit is contained in:
Lukas Rusak 2016-04-18 00:51:02 -07:00
parent 2823d1958c
commit 27e79cd60b
28 changed files with 432 additions and 105206 deletions

View File

@ -17,13 +17,13 @@
################################################################################
PKG_NAME="kodi"
PKG_VERSION="16.1-rc2-a7caa16"
PKG_VERSION="17.0-alpha1-2c72ac9"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain kodi:host xmlstarlet:host libsquish boost Python zlib bzip2 systemd pciutils lzo pcre swig:host libass curl rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libogg libcdio libmpeg2 taglib libxml2 libxslt yajl sqlite libvorbis ffmpeg crossguid giflib"
PKG_DEPENDS_TARGET="toolchain kodi:host xmlstarlet:host libsquish Python zlib bzip2 systemd pciutils lzo pcre swig:host libass curl rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng freetype libogg libcdio taglib libxml2 libxslt yajl sqlite libvorbis ffmpeg crossguid giflib"
PKG_DEPENDS_HOST="lzo:host libpng:host libjpeg-turbo:host giflib:host"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
@ -49,7 +49,7 @@ fi
if [ ! "$OPENGL" = "no" ]; then
# for OpenGL (GLX) support
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGL glu glew"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGL glu"
KODI_OPENGL="--enable-gl"
else
KODI_OPENGL="--disable-gl"
@ -228,14 +228,14 @@ export CXXFLAGS_FOR_BUILD="$HOST_CXXFLAGS"
export CFLAGS_FOR_BUILD="$HOST_CFLAGS"
export LDFLAGS_FOR_BUILD="$HOST_LDFLAGS"
export PYTHON_VERSION="2.7"
export PYTHON_VERSION=2.7
export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION"
export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION"
export PYTHON_SITE_PKG="$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION/site-packages"
export ac_python_version="$PYTHON_VERSION"
PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \
ac_cv_lib_bluetooth_hci_devid=no \
ac_python_version=$PYTHON_VERSION \
--disable-libbluetooth \
--disable-debug \
--disable-optimizations \
$KODI_OPENGL \
@ -279,31 +279,41 @@ PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \
pre_configure_host() {
# kodi fails to build in subdirs
cd $ROOT/$PKG_BUILD
rm -rf .$HOST_NAME
rm -rf $ROOT/$PKG_BUILD/.$HOST_NAME
}
configure_host() {
: # not needed
}
make_host() {
make -C tools/depends/native/JsonSchemaBuilder
make -C tools/depends/native/TexturePacker
mkdir -p $ROOT/$PKG_BUILD/tools/depends/native/JsonSchemaBuilder/bin && cd $_
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
-DCMAKE_INSTALL_PREFIX=/usr \
..
make
mkdir -p $ROOT/$PKG_BUILD/tools/depends/native/TexturePacker/bin && cd $_
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCORE_SOURCE_DIR=$ROOT/$PKG_BUILD \
-DCMAKE_CXX_FLAGS="-std=c++11 -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -I$ROOT/$PKG_BUILD/xbmc/linux" \
..
make
}
makeinstall_host() {
cp -PR tools/depends/native/JsonSchemaBuilder/native/JsonSchemaBuilder $ROOT/$TOOLCHAIN/bin
rm -f $ROOT/$TOOLCHAIN/bin/TexturePacker
cp -PR tools/depends/native/TexturePacker/native/TexturePacker $ROOT/$TOOLCHAIN/bin
cp -P $ROOT/$PKG_BUILD/tools/depends/native/TexturePacker/bin/TexturePacker $ROOT/$TOOLCHAIN/bin
}
pre_build_target() {
# adding fake Makefile for stripped skin
mkdir -p $PKG_BUILD/addons/skin.estuary/media
touch $PKG_BUILD/addons/skin.estuary/media/Makefile.in
mkdir -p $ROOT/$PKG_BUILD/addons/skin.estuary/media
touch $ROOT/$PKG_BUILD/addons/skin.estuary/media/Makefile.in
}
pre_configure_target() {
# kodi fails to build in subdirs
cd $ROOT/$PKG_BUILD
rm -rf .$TARGET_NAME
rm -rf $ROOT/$PKG_BUILD/.$TARGET_NAME
# kodi should never be built with lto
strip_lto
@ -313,6 +323,9 @@ pre_configure_target() {
export LIBS="$LIBS -lz"
export JSON_BUILDER=$ROOT/$TOOLCHAIN/bin/JsonSchemaBuilder
# autoreconf
BOOTSTRAP_STANDALONE=1 make -f $ROOT/$PKG_BUILD/bootstrap.mk
}
make_target() {
@ -337,9 +350,12 @@ post_makeinstall_target() {
rm -rf $INSTALL/usr/bin/xbmc
rm -rf $INSTALL/usr/bin/xbmc-standalone
rm -rf $INSTALL/usr/lib/kodi/*.cmake
# more binaddons cross compile badness meh
sed -i -e "s:INCLUDE_DIR /usr/include/kodi:INCLUDE_DIR $SYSROOT_PREFIX/usr/include/kodi:g" $SYSROOT_PREFIX/usr/lib/kodi/kodi-config.cmake
rm -rf $INSTALL/usr/share/applications
rm -rf $INSTALL/usr/share/icons
rm -rf $INSTALL/usr/share/kodi/addons/skin.estouchy
rm -rf $INSTALL/usr/share/kodi/addons/service.xbmc.versioncheck
rm -rf $INSTALL/usr/share/kodi/addons/visualization.vortex
rm -rf $INSTALL/usr/share/xsessions
mkdir -p $INSTALL/usr/lib/kodi
cp $PKG_DIR/scripts/kodi-config $INSTALL/usr/lib/kodi
@ -358,12 +374,6 @@ post_makeinstall_target() {
rm -rf $INSTALL/usr/lib/kodi/kodi-xrandr
fi
rm -rf $INSTALL/usr/share/applications
rm -rf $INSTALL/usr/share/icons
rm -rf $INSTALL/usr/share/kodi/addons/service.xbmc.versioncheck
rm -rf $INSTALL/usr/share/kodi/addons/visualization.vortex
rm -rf $INSTALL/usr/share/xsessions
mkdir -p $INSTALL/usr/share/kodi/addons
cp -R $PKG_DIR/config/os.openelec.tv $INSTALL/usr/share/kodi/addons
$SED "s|@OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/kodi/addons/os.openelec.tv/addon.xml
@ -372,8 +382,8 @@ post_makeinstall_target() {
cp -R $PKG_DIR/config/repository.libreelec.tv $INSTALL/usr/share/kodi/addons
$SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/kodi/addons/repository.libreelec.tv/addon.xml
mkdir -p $INSTALL/usr/lib/python"$PYTHON_VERSION"/site-packages/kodi
cp -R tools/EventClients/lib/python/* $INSTALL/usr/lib/python"$PYTHON_VERSION"/site-packages/kodi
mkdir -p $INSTALL/usr/lib/python$PYTHON_VERSION/site-packages/kodi
cp -R tools/EventClients/lib/python/* $INSTALL/usr/lib/python$PYTHON_VERSION/site-packages/kodi
mkdir -p $INSTALL/usr/share/kodi/config
cp $PKG_DIR/config/guisettings.xml $INSTALL/usr/share/kodi/config
@ -402,6 +412,19 @@ post_makeinstall_target() {
cp $PKG_DIR/config/appliance.xml $INSTALL/usr/share/kodi/system/settings
fi
# update addon manifest
ADDON_MANIFEST=$INSTALL/usr/share/kodi/system/addon-manifest.xml
xmlstarlet ed -L -d "/addons/addon[text()='service.xbmc.versioncheck']" $ADDON_MANIFEST
xmlstarlet ed -L -d "/addons/addon[text()='skin.estouchy']" $ADDON_MANIFEST
xmlstarlet ed -L --subnode "/addons" -t elem -n "addon" -v "peripheral.joystick" $ADDON_MANIFEST
xmlstarlet ed -L --subnode "/addons" -t elem -n "addon" -v "os.libreelec.tv" $ADDON_MANIFEST
xmlstarlet ed -L --subnode "/addons" -t elem -n "addon" -v "repository.libreelec.tv" $ADDON_MANIFEST
xmlstarlet ed -L --subnode "/addons" -t elem -n "addon" -v "service.libreelec.settings" $ADDON_MANIFEST
# more binaddons cross compile badness meh
sed -i -e "s:INCLUDE_DIR /usr/include/kodi:INCLUDE_DIR $SYSROOT_PREFIX/usr/include/kodi:g" $SYSROOT_PREFIX/usr/lib/kodi/kodi-config.cmake
if [ "$KODI_EXTRA_FONTS" = yes ]; then
mkdir -p $INSTALL/usr/share/kodi/media/Fonts
cp $PKG_DIR/fonts/*.ttf $INSTALL/usr/share/kodi/media/Fonts

View File

@ -121,14 +121,14 @@ index c46cba1..ed3f35f 100644
bool m_AppFocused;
bool m_renderGUI;
diff --git a/xbmc/main/main.cpp b/xbmc/main/main.cpp
diff --git a/xbmc/platform/posix/main.cpp b/xbmc/platform/posix/main.cpp
index 01027f8..4cfb04e 100644
--- a/xbmc/main/main.cpp
+++ b/xbmc/main/main.cpp
--- a/xbmc/platform/posix/main.cpp
+++ b/xbmc/platform/posix/main.cpp
@@ -41,12 +41,27 @@
#include "input/linux/LIRC.h"
#endif
#include "XbmcContext.h"
#include "platform/XbmcContext.h"
+#include "Application.h"
+
+void xbmc_term_handler(int signum)

View File

@ -12,13 +12,13 @@ index 5ac2482..cb84940 100644
--- a/xbmc/windowing/X11/WinSystemX11.h
+++ b/xbmc/windowing/X11/WinSystemX11.h
@@ -54,6 +54,7 @@ public:
virtual bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop);
virtual bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays);
virtual void UpdateResolutions();
+ virtual bool CanDoWindowed() { return false; }
virtual int GetNumScreens() { return 1; }
virtual int GetCurrentScreen() { return m_nScreen; }
virtual void ShowOSMouse(bool show);
bool ResizeWindow(int newWidth, int newHeight, int newLeft, int newTop) override;
bool SetFullScreen(bool fullScreen, RESOLUTION_INFO& res, bool blankOtherDisplays) override;
void UpdateResolutions() override;
+ bool CanDoWindowed() override { return false; }
int GetNumScreens() override { return 1; }
int GetCurrentScreen() override { return m_nScreen; }
void ShowOSMouse(bool show) override;
--
2.5.0

View File

@ -1,17 +1,18 @@
From b70f963a0963735e627b12cf361e4e30d6c2a799 Mon Sep 17 00:00:00 2001
From: Lukas Rusak <lorusak@gmail.com>
Date: Tue, 26 Jan 2016 08:31:52 +0100
Subject: [PATCH] change pulseaudio default device name to Bluetooth Audio
From cd60daafb0c6b1e1de94dbc944bb247a8f810b50 Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
Date: Fri, 29 Jan 2016 16:32:06 +0100
Subject: [PATCH] [PATCH] change pulseaudio default device name to Bluetooth
Audio
---
xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp
index 67b7b90..8537163 100644
index 7c669b7..043d0d5 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp
@@ -362,12 +362,14 @@ static void SinkInfoRequestCallback(pa_context *c, const pa_sink_info *i, int eo
@@ -394,13 +394,15 @@ static void SinkInfoRequestCallback(pa_context *c, const pa_sink_info *i, int eo
CAEDeviceInfo defaultDevice;
defaultDevice.m_deviceName = std::string("Default");
defaultDevice.m_displayName = std::string("Default");
@ -21,6 +22,7 @@ index 67b7b90..8537163 100644
defaultDevice.m_channels = CAEChannelInfo(AE_CH_LAYOUT_2_0);
defaultDevice.m_sampleRates.assign(defaultSampleRates, defaultSampleRates + ARRAY_SIZE(defaultSampleRates));
defaultDevice.m_deviceType = AE_DEVTYPE_PCM;
defaultDevice.m_wantsIECPassthrough = true;
sinkStruct->list->push_back(defaultDevice);
+ // OE only wants the default device - so we are done here
+ return;
@ -28,5 +30,5 @@ index 67b7b90..8537163 100644
if (i && i->name)
{
--
1.9.3
2.5.0

View File

@ -0,0 +1,19 @@
diff -Naur a/Makefile.in b/Makefile.in
--- a/Makefile.in 2016-02-25 15:54:54.305799646 +0000
+++ b/Makefile.in 2016-02-25 15:55:30.609990228 +0000
@@ -11,7 +11,6 @@
DVDPCODECS_DIRS= \
lib \
- lib/libdvd
VideoPlayer_ARCHIVES=xbmc/cores/VideoPlayer/VideoPlayer.a \
xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.a \
@@ -332,7 +331,6 @@
$(MAKE) -C lib/addons/library.kodi.peripheral
$(MAKE) -C lib/addons/library.xbmc.pvr
dvdpcodecs: dllloader
- $(MAKE) -C lib/libdvd
dvdpextcodecs:

View File

@ -1,40 +1,8 @@
From ae4e63aa165583ef5eaab4759e7af24eeffbb197 Mon Sep 17 00:00:00 2001
From: croniccorey <cronmod.dev@gmail.com>
Date: Sun, 13 Dec 2015 16:37:05 -0500
Subject: [PATCH] KODI: Add support for aarch64 platform
---
addons/library.xbmc.addon/libXBMC_addon.h | 2 ++
configure.ac | 12 ++++++++++++
m4/xbmc_arch.m4 | 2 +-
xbmc/cores/DllLoader/DllLoader.h | 2 +-
xbmc/cores/DllLoader/ldt_keeper.c | 2 +-
xbmc/cores/VideoRenderers/LinuxRendererGL.h | 2 +-
xbmc/linux/PlatformDefs.h | 2 +-
xbmc/threads/Atomics.cpp | 2 +-
xbmc/utils/CPUInfo.cpp | 2 +-
xbmc/utils/MathUtils.h | 3 ++-
10 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/addons/library.xbmc.addon/libXBMC_addon.h b/addons/library.xbmc.addon/libXBMC_addon.h
index c3ed54f..76190b6 100644
--- a/addons/library.xbmc.addon/libXBMC_addon.h
+++ b/addons/library.xbmc.addon/libXBMC_addon.h
@@ -55,6 +55,8 @@ typedef intptr_t ssize_t;
#define ADDON_HELPER_ARCH "powerpc64-linux"
#elif defined(__ARMEL__)
#define ADDON_HELPER_ARCH "arm"
+#elif defined(__aarch64__)
+#define ADDON_HELPER_ARCH "aarch64"
#elif defined(__mips__)
#define ADDON_HELPER_ARCH "mips"
#else
diff --git a/configure.ac b/configure.ac
index c767357..80f3807 100644
--- a/configure.ac
+++ b/configure.ac
@@ -691,6 +691,18 @@ case $host in
use_wayland=no
diff -Naur a/configure.ac b/configure.ac
--- a/configure.ac 2016-02-14 00:19:36.000000000 +0100
+++ b/configure.ac 2016-03-02 09:15:52.504860258 +0100
@@ -641,6 +641,18 @@
use_gl=no
USE_STATIC_FFMPEG=1
;;
+ aarch64*-*-linux-gnu*)
@ -52,11 +20,10 @@ index c767357..80f3807 100644
arm*-*linux-android*)
target_platform=target_android
use_arch="arm"
diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
index 0b66a82..fa08537 100644
--- a/m4/xbmc_arch.m4
+++ b/m4/xbmc_arch.m4
@@ -60,7 +60,7 @@ case $host in
diff -Naur a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
--- a/m4/xbmc_arch.m4 2016-02-14 00:19:42.000000000 +0100
+++ b/m4/xbmc_arch.m4 2016-03-02 09:16:33.341943374 +0100
@@ -60,7 +60,7 @@
powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
;;
@ -65,95 +32,3 @@ index 0b66a82..fa08537 100644
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;;
mips*-*-linux-gnu*|mips*-*-linux-uclibc*)
diff --git a/xbmc/cores/DllLoader/DllLoader.h b/xbmc/cores/DllLoader/DllLoader.h
index 070aee6..e669203 100644
--- a/xbmc/cores/DllLoader/DllLoader.h
+++ b/xbmc/cores/DllLoader/DllLoader.h
@@ -23,7 +23,7 @@
#include "coffldr.h"
#include "LibraryLoader.h"
-#if defined(__linux__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__mips__)
+#if defined(__linux__) && !defined(__powerpc__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
#define USE_LDT_KEEPER
#include "ldt_keeper.h"
#endif
diff --git a/xbmc/cores/DllLoader/ldt_keeper.c b/xbmc/cores/DllLoader/ldt_keeper.c
index 8af9a86..1c0cdb2 100644
--- a/xbmc/cores/DllLoader/ldt_keeper.c
+++ b/xbmc/cores/DllLoader/ldt_keeper.c
@@ -19,7 +19,7 @@
*/
//#ifndef __powerpc__
-#if !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__) && !defined(__mips__)
+#if !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
#include "ldt_keeper.h"
diff --git a/xbmc/cores/VideoRenderers/LinuxRendererGL.h b/xbmc/cores/VideoRenderers/LinuxRendererGL.h
index fcdea8d..5a3e3df 100644
--- a/xbmc/cores/VideoRenderers/LinuxRendererGL.h
+++ b/xbmc/cores/VideoRenderers/LinuxRendererGL.h
@@ -323,7 +323,7 @@ class CLinuxRendererGL : public CBaseRenderer
inline int NP2( unsigned x ) {
-#if defined(TARGET_POSIX) && !defined(__POWERPC__) && !defined(__PPC__) && !defined(__arm__) && !defined(__mips__)
+#if defined(TARGET_POSIX) && !defined(__POWERPC__) && !defined(__PPC__) && !defined(__arm__) && !defined(__mips__) && !defined(__aarch64__)
// If there are any issues compiling this, just append a ' && 0'
// to the above to make it '#if defined(TARGET_POSIX) && 0'
diff --git a/xbmc/linux/PlatformDefs.h b/xbmc/linux/PlatformDefs.h
index 4350075..2c6fff4 100644
--- a/xbmc/linux/PlatformDefs.h
+++ b/xbmc/linux/PlatformDefs.h
@@ -161,7 +161,7 @@
#define __int64 long long
#define __uint64 unsigned long long
-#if defined(__x86_64__) || defined(__powerpc__) || defined(__ppc__) || defined (__arm__) || defined(__mips__) // should this be powerpc64 only?
+#if defined(__x86_64__) || defined(__powerpc__) || defined(__ppc__) || defined (__arm__) || defined(__mips__) || defined(__aarch64__)
#define __stdcall
#else /* !__x86_64__ */
#define __stdcall __attribute__((__stdcall__))
diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp
index 417b2b6..c172867 100644
--- a/xbmc/threads/Atomics.cpp
+++ b/xbmc/threads/Atomics.cpp
@@ -106,7 +106,7 @@ long cas(volatile long *pAddr, long expectedVal, long swapVal)
///////////////////////////////////////////////////////////////////////////
long long cas2(volatile long long* pAddr, long long expectedVal, long long swapVal)
{
-#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__)// PowerPC and ARM
+#if defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || defined(__aarch64__) // PowerPC and ARM
// Not available/required
// Hack to allow compilation
throw "cas2 is not implemented";
diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp
index 9e709e7..d7fef37 100644
--- a/xbmc/utils/CPUInfo.cpp
+++ b/xbmc/utils/CPUInfo.cpp
@@ -914,7 +914,7 @@ void CCPUInfo::ReadCPUFeatures()
#endif
#elif defined(LINUX)
// empty on purpose, the implementation is in the constructor
-#elif !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__)
+#elif !defined(__powerpc__) && !defined(__ppc__) && !defined(__arm__) && !defined(__aarch64__)
m_cpuFeatures |= CPU_FEATURE_MMX;
#elif defined(__powerpc__) || defined(__ppc__)
m_cpuFeatures |= CPU_FEATURE_ALTIVEC;
diff --git a/xbmc/utils/MathUtils.h b/xbmc/utils/MathUtils.h
index 08140b7..249b4dd 100644
--- a/xbmc/utils/MathUtils.h
+++ b/xbmc/utils/MathUtils.h
@@ -35,7 +35,8 @@
#if defined(__ppc__) || \
defined(__powerpc__) || \
defined(__mips__) || \
- defined(__arm__)
+ defined(__arm__) || \
+ defined(__aarch64__)
#define DISABLE_MATHUTILS_ASM_ROUND_INT
#endif

View File

@ -1,7 +1,7 @@
diff -Naur a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp 2016-02-02 23:09:39.000000000 +0100
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp 2016-02-10 07:01:28.941399058 +0100
@@ -1598,7 +1598,7 @@
diff -Naur a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp 2016-02-14 00:19:32.000000000 +0100
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp 2016-03-02 09:36:04.503330833 +0100
@@ -1601,7 +1601,7 @@
am_private->gcodec.param = (void*)(EXTERNAL_PTS | SYNC_OUTSIDE);
break;
}
@ -10,15 +10,3 @@ diff -Naur a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdp
// translate from generic to firemware version dependent
m_dll->codec_init_para(&am_private->gcodec, &am_private->vcodec);
diff -Naur a/xbmc/guilib/GUIFontTTFGL.cpp b/xbmc/guilib/GUIFontTTFGL.cpp
--- a/xbmc/guilib/GUIFontTTFGL.cpp 2016-02-02 23:09:39.000000000 +0100
+++ b/xbmc/guilib/GUIFontTTFGL.cpp 2016-02-10 06:59:49.261293006 +0100
@@ -232,7 +232,7 @@
glUniformMatrix4fv(modelLoc, 1, GL_FALSE, glMatrixModview.Get());
// Bind the buffer to the OpenGL context's GL_ARRAY_BUFFER binding point
- glBindBuffer(GL_ARRAY_BUFFER, (GLuint) m_vertexTrans[i].vertexBuffer->bufferHandle);
+ glBindBuffer(GL_ARRAY_BUFFER, (unsigned long) m_vertexTrans[i].vertexBuffer->bufferHandle);
// Do the actual drawing operation, split into groups of characters no
// larger than the pre-determined size of the element array

View File

@ -1,35 +0,0 @@
From ee014b442eac3e85178c89d04691f4fc73cf89e4 Mon Sep 17 00:00:00 2001
From: "Chris \"Koying\" Browet" <cbro@semperpax.com>
Date: Sun, 18 Oct 2015 11:24:00 +0200
Subject: [PATCH] FIX: Only handle 3D bitmap subs in TAB
3D bitmap subs cannot be detected in SBS, and there is always the option
to play with Kodi 3D disabled
---
xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
index dca4bdf..c9a0008 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
@@ -257,18 +257,13 @@ CDVDOverlay* CDVDOverlayCodecFFmpeg::GetOverlay()
}
RENDER_STEREO_MODE render_stereo_mode = g_graphicsContext.GetStereoMode();
- if (render_stereo_mode != RENDER_STEREO_MODE_OFF)
+ if (render_stereo_mode == RENDER_STEREO_MODE_SPLIT_HORIZONTAL)
{
if (rect.h > m_height / 2)
{
m_height /= 2;
rect.h /= 2;
}
- else if (rect.w > m_width / 2)
- {
- m_width /= 2;
- rect.w /= 2;
- }
}
CDVDOverlayImage* overlay = new CDVDOverlayImage();

View File

@ -1,63 +0,0 @@
diff -Naur kodi-16.0-beta5-19fc4fa/system/keymaps/keyboard.xml kodi-16.0-beta5-19fc4fa.patch/system/keymaps/keyboard.xml
--- kodi-16.0-beta5-19fc4fa/system/keymaps/keyboard.xml 2015-12-15 00:07:12.000000000 +0100
+++ kodi-16.0-beta5-19fc4fa.patch/system/keymaps/keyboard.xml 2016-01-05 06:41:50.857902588 +0100
@@ -113,6 +113,7 @@
<sleep>ActivateWindow(shutdownmenu)</sleep>
<!-- PVR windows -->
<e>ActivateWindow(TVGuide)</e>
+ <epg>ActivateWindow(TVGuide)</epg>
<h>ActivateWindow(TVChannels)</h>
<j>ActivateWindow(RadioChannels)</j>
<k>ActivateWindow(TVRecordings)</k>
@@ -268,6 +269,7 @@
<TVGuide>
<keyboard>
<e>PreviousMenu</e>
+ <epg>PreviousMenu</epg>
</keyboard>
</TVGuide>
<MyFiles>
diff -Naur kodi-16.0-beta5-19fc4fa/xbmc/input/linux/LinuxInputDevices.cpp kodi-16.0-beta5-19fc4fa.patch/xbmc/input/linux/LinuxInputDevices.cpp
--- kodi-16.0-beta5-19fc4fa/xbmc/input/linux/LinuxInputDevices.cpp 2015-12-15 00:07:12.000000000 +0100
+++ kodi-16.0-beta5-19fc4fa.patch/xbmc/input/linux/LinuxInputDevices.cpp 2016-01-05 06:41:13.847846527 +0100
@@ -268,6 +268,7 @@
{ KEY_FILE , XBMCK_LAUNCH_FILE_BROWSER},
{ KEY_SELECT , XBMCK_RETURN },
{ KEY_CONFIG , XBMCK_CONFIG },
+ { KEY_EPG , XBMCK_EPG },
// The Little Black Box Remote Additions
{ 384 , XBMCK_LEFT }, // Red
{ 378 , XBMCK_RIGHT }, // Green
diff -Naur kodi-16.0-beta5-19fc4fa/xbmc/input/XBMC_keysym.h kodi-16.0-beta5-19fc4fa.patch/xbmc/input/XBMC_keysym.h
--- kodi-16.0-beta5-19fc4fa/xbmc/input/XBMC_keysym.h 2015-12-15 00:07:12.000000000 +0100
+++ kodi-16.0-beta5-19fc4fa.patch/xbmc/input/XBMC_keysym.h 2016-01-05 06:41:13.847846527 +0100
@@ -229,6 +229,7 @@
XBMCK_FAVORITES = 0x14d,
XBMCK_HOMEPAGE = 0x14e,
XBMCK_CONFIG = 0x14f,
+ XBMCK_EPG = 0x150,
// Add any other keys here
diff -Naur kodi-16.0-beta5-19fc4fa/xbmc/input/XBMC_keytable.cpp kodi-16.0-beta5-19fc4fa.patch/xbmc/input/XBMC_keytable.cpp
--- kodi-16.0-beta5-19fc4fa/xbmc/input/XBMC_keytable.cpp 2015-12-15 00:07:12.000000000 +0100
+++ kodi-16.0-beta5-19fc4fa.patch/xbmc/input/XBMC_keytable.cpp 2016-01-05 06:41:13.848846528 +0100
@@ -243,6 +243,7 @@
, { XBMCK_FAVORITES, 0, 0, XBMCVK_FAVORITES, "favorites" }
, { XBMCK_HOMEPAGE , 0, 0, XBMCVK_HOMEPAGE, "homepage" }
, { XBMCK_CONFIG, 0, 0, XBMCVK_CONFIG, "config" }
+, { XBMCK_EPG , 0, 0, XBMCVK_EPG, "epg" }
};
static int XBMCKeyTableSize = sizeof(XBMCKeyTable)/sizeof(XBMCKEYTABLE);
diff -Naur kodi-16.0-beta5-19fc4fa/xbmc/input/XBMC_vkeys.h kodi-16.0-beta5-19fc4fa.patch/xbmc/input/XBMC_vkeys.h
--- kodi-16.0-beta5-19fc4fa/xbmc/input/XBMC_vkeys.h 2015-12-15 00:07:12.000000000 +0100
+++ kodi-16.0-beta5-19fc4fa.patch/xbmc/input/XBMC_vkeys.h 2016-01-05 06:41:13.848846528 +0100
@@ -221,6 +221,7 @@
XBMCVK_FAVORITES = 0xE9,
XBMCVK_HOMEPAGE = 0xEA,
XBMCVK_CONFIG = 0xEB,
+ XBMCVK_EPG = 0xEC,
XBMCVK_LAST = 0xFF
} XBMCVKey;

View File

@ -23,7 +23,7 @@
chmod +x /storage/.kodi/addons/*/bin/*
# Nasty hack to work around OE to LE migration - Addons*.db needs to forget all about OE addons
ADDONSDB=$(ls -1 /storage/.kodi/userdata/Database/Addons20.db 2>/dev/null)
ADDONSDB=$(ls -1 /storage/.kodi/userdata/Database/Addons23.db 2>/dev/null)
if [ -n "${ADDONSDB}" ]; then
OEREPO="'repository.openelec.tv'"

View File

@ -1,117 +0,0 @@
From 01759c5adfb050b1ba0c8a8fc4e20a875a98c0e5 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 10 Aug 2014 18:58:37 +0100
Subject: [PATCH 1/2] confluence: Remove media-overlay.jpg for when video is
backgrounded
---
720p/IncludesBackgroundBuilding.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/720p/IncludesBackgroundBuilding.xml b/720p/IncludesBackgroundBuilding.xml
index cc996da..d6aa595 100644
--- a/720p/IncludesBackgroundBuilding.xml
+++ b/720p/IncludesBackgroundBuilding.xml
@@ -32,7 +32,7 @@
</control>
<control type="image">
<include>BackgroundDimensions</include>
- <texture>special://skin/backgrounds/media-overlay.jpg</texture>
+ <!--texture>special://skin/backgrounds/media-overlay.jpg</texture-->
<visible>[Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)] + !Window.IsVisible(TVChannels) + !Window.IsVisible(RadioChannels)</visible>
<include>VisibleFadeEffect</include>
</control>
--
2.5.0
From d99f70c094006144f07bdf739f5847b733030245 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 22 Jul 2013 23:19:15 +0100
Subject: [PATCH 2/2] [confluence] Use animated gif as a cheaper working
spinner
---
720p/DialogBusy.xml | 4 ++--
media/busy.gif | Bin 0 -> 3199 bytes
2 files changed, 2 insertions(+), 2 deletions(-)
create mode 100644 media/busy.gif
diff --git a/720p/DialogBusy.xml b/720p/DialogBusy.xml
index b5df91f..8e84fed 100644
--- a/720p/DialogBusy.xml
+++ b/720p/DialogBusy.xml
@@ -25,9 +25,9 @@
<top>20</top>
<width>32</width>
<height>32</height>
- <texture>busy.png</texture>
+ <texture>busy.gif</texture>
<aspectratio>keep</aspectratio>
- <animation effect="rotate" start="0" end="360" center="36,36" time="900" loop="true" condition="true">conditional</animation>
+ <!--animation effect="rotate" start="0" end="360" center="36,36" time="900" loop="true" condition="true">conditional</animation-->
</control>
<control type="label">
<description>Busy label</description>
diff --git a/media/busy.gif b/media/busy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f856ed0b44fdc7e9b0520c7e39a9bebc04136897
GIT binary patch
literal 3199
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
literal 0
HcmV?d00001
--
2.5.0

File diff suppressed because it is too large Load Diff

View File

@ -1,117 +0,0 @@
From 01759c5adfb050b1ba0c8a8fc4e20a875a98c0e5 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 10 Aug 2014 18:58:37 +0100
Subject: [PATCH 1/2] confluence: Remove media-overlay.jpg for when video is
backgrounded
---
720p/IncludesBackgroundBuilding.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/720p/IncludesBackgroundBuilding.xml b/720p/IncludesBackgroundBuilding.xml
index cc996da..d6aa595 100644
--- a/720p/IncludesBackgroundBuilding.xml
+++ b/720p/IncludesBackgroundBuilding.xml
@@ -32,7 +32,7 @@
</control>
<control type="image">
<include>BackgroundDimensions</include>
- <texture>special://skin/backgrounds/media-overlay.jpg</texture>
+ <!--texture>special://skin/backgrounds/media-overlay.jpg</texture-->
<visible>[Player.HasVideo + !Skin.HasSetting(ShowBackgroundVideo)] + !Window.IsVisible(TVChannels) + !Window.IsVisible(RadioChannels)</visible>
<include>VisibleFadeEffect</include>
</control>
--
2.5.0
From d99f70c094006144f07bdf739f5847b733030245 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 22 Jul 2013 23:19:15 +0100
Subject: [PATCH 2/2] [confluence] Use animated gif as a cheaper working
spinner
---
720p/DialogBusy.xml | 4 ++--
media/busy.gif | Bin 0 -> 3199 bytes
2 files changed, 2 insertions(+), 2 deletions(-)
create mode 100644 media/busy.gif
diff --git a/720p/DialogBusy.xml b/720p/DialogBusy.xml
index b5df91f..8e84fed 100644
--- a/720p/DialogBusy.xml
+++ b/720p/DialogBusy.xml
@@ -25,9 +25,9 @@
<top>20</top>
<width>32</width>
<height>32</height>
- <texture>busy.png</texture>
+ <texture>busy.gif</texture>
<aspectratio>keep</aspectratio>
- <animation effect="rotate" start="0" end="360" center="36,36" time="900" loop="true" condition="true">conditional</animation>
+ <!--animation effect="rotate" start="0" end="360" center="36,36" time="900" loop="true" condition="true">conditional</animation-->
</control>
<control type="label">
<description>Busy label</description>
diff --git a/media/busy.gif b/media/busy.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f856ed0b44fdc7e9b0520c7e39a9bebc04136897
GIT binary patch
literal 3199
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
literal 0
HcmV?d00001
--
2.5.0

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +1,17 @@
From 5e5453322e71c16b8b96b471a9e5c32b96d6b1af Mon Sep 17 00:00:00 2001
From fde3d3d609e570aa3a8691a4e66e07dce1c80b25 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Wed, 16 Apr 2014 22:02:01 +0300
Subject: [PATCH 01/17] Fix ALSA sound output for Amlogic-based devices.
Subject: [PATCH] [aml] Fix ALSA sound output for Amlogic-based devices.
---
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 19 +++++++++++++++++++
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index df50940..9f80c06 100644
index fbccce0..6bf2c53 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -83,6 +83,17 @@ static unsigned int ALSASampleRateList[] =
@@ -84,6 +84,17 @@ static unsigned int ALSASampleRateList[] =
0
};
@ -29,7 +29,7 @@ index df50940..9f80c06 100644
CAESinkALSA::CAESinkALSA() :
m_bufferSize(0),
m_formatSampleRateMul(0.0),
@@ -741,12 +752,20 @@ bool CAESinkALSA::InitializeHW(const ALSAConfig &inconfig, ALSAConfig &outconfig
@@ -748,12 +759,20 @@ bool CAESinkALSA::InitializeHW(const ALSAConfig &inconfig, ALSAConfig &outconfig
*/
periodSize = std::min(periodSize, (snd_pcm_uframes_t) sampleRate / 20);
bufferSize = std::min(bufferSize, (snd_pcm_uframes_t) sampleRate / 5);
@ -50,6 +50,3 @@ index df50940..9f80c06 100644
CLog::Log(LOGDEBUG, "CAESinkALSA::InitializeHW - Request: periodSize %lu, bufferSize %lu", periodSize, bufferSize);
--
1.7.10.4

View File

@ -1,7 +1,7 @@
From d81c2be6e702206b7c00e25be4ee0c0750f1b84d Mon Sep 17 00:00:00 2001
From 0367076d263846832cff68052f3de362f27e5bc6 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Mon, 8 Sep 2014 23:29:40 +0300
Subject: [PATCH 08/17] Reorder libraries in configure script to prevent
Subject: [PATCH] [wetek] Reorder libraries in configure script to prevent
linker errors when linking with libsmbclient
Place libsmbclient before all other libraries to prevent linker errors when linking
@ -9,14 +9,14 @@ with libsmbclient if the libc that is currently used doesn't contain some functi
such as dn_expand (which are often included in libc), but are actually included in
libresolv.
---
configure.ac | 2 +-
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index ff4022f..079fa27 100644
index fbe2766..c668729 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1475,7 +1475,7 @@ fi
@@ -1425,7 +1425,7 @@ fi
# samba
if test "x$use_samba" != "xno"; then
PKG_CHECK_MODULES([SAMBA], [smbclient],
@ -25,6 +25,3 @@ index ff4022f..079fa27 100644
[AC_CHECK_LIB([smbclient], [main],,
use_samba=no;AC_MSG_ERROR($missing_library))
USE_LIBSMBCLIENT=0
--
1.7.10.4

View File

@ -1,22 +1,18 @@
From a98954cef067010982c83568dfba45da0d43fe4d Mon Sep 17 00:00:00 2001
From 813e6f31c8006190615cbf8ab031db2362bcf553 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Fri, 19 Sep 2014 01:55:12 +0300
Subject: [PATCH 09/17] [aml] Change the sample rates that are supported by
ALSA but unsupported by HDMI to the closest supported
value
Subject: [PATCH] [aml] Change the sample rates that are supported by ALSA but
unsupported by HDMI to the closest supported value
Conflicts:
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
---
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 20 ++++++++++++++++++++
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index 9f80c06..18303f8 100644
index 6bf2c53..32ab888 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -666,6 +666,26 @@ bool CAESinkALSA::InitializeHW(const ALSAConfig &inconfig, ALSAConfig &outconfig
@@ -673,6 +673,26 @@ bool CAESinkALSA::InitializeHW(const ALSAConfig &inconfig, ALSAConfig &outconfig
snd_pcm_hw_params_set_access(m_pcm, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
unsigned int sampleRate = inconfig.sampleRate;
@ -43,6 +39,3 @@ index 9f80c06..18303f8 100644
snd_pcm_hw_params_set_rate_near (m_pcm, hw_params, &sampleRate, NULL);
unsigned int channelCount = inconfig.channels;
--
1.7.10.4

View File

@ -1,20 +1,20 @@
From 554f4a769d67155cbdf6f45ba256b5700baa65c1 Mon Sep 17 00:00:00 2001
From b97f9b069a98984109829badcdf8ead92a29ee38 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Sat, 20 Sep 2014 04:43:52 +0300
Subject: [PATCH 10/17] [aml] Fill audio packets completely when resampling to
Subject: [PATCH] [aml] Fill audio packets completely when resampling to
prevent 'audio data unaligned' kernel warnings
---
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp | 4 ++++
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 3b0a015..ef431a4 100644
index dffded7..2f9dc47 100644
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
@@ -143,7 +143,11 @@ CActiveAEBufferPoolResample::CActiveAEBufferPoolResample(AEAudioFormat inputForm
if (AE_IS_RAW(m_inputFormat.m_dataFormat))
m_inputFormat.m_dataFormat = AE_FMT_S16NE;
@@ -157,7 +157,11 @@ CActiveAEBufferPoolResample::CActiveAEBufferPoolResample(AEAudioFormat inputForm
m_inputFormat.m_channelLayout += AE_CH_FC;
}
m_resampler = NULL;
+#ifdef HAS_LIBAMCODEC
+ m_fillPackets = true;
@ -24,6 +24,3 @@ index 3b0a015..ef431a4 100644
m_drain = false;
m_empty = true;
m_procSample = NULL;
--
1.7.10.4

View File

@ -1,120 +0,0 @@
From e065d31b7bac0a3fffc0f05922613090cc573709 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Sun, 21 Sep 2014 17:17:14 +0300
Subject: [PATCH 11/17] [aml] Use fpsrate and fpsscale instead of rfpsrate and
rfpsscale to detect framerate
---
xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp | 12 ++-----
.../DVDCodecs/Video/DVDVideoCodecAmlogic.cpp | 38 +++++++++-----------
2 files changed, 20 insertions(+), 30 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
index 26db4a1..fcdad19 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
@@ -1465,14 +1465,8 @@ bool CAMLCodec::OpenDecoder(CDVDStreamInfo &hints)
am_private->video_ratio64 = ((int64_t)video_ratio.num << 32) | video_ratio.den;
// handle video rate
- if (hints.rfpsrate > 0 && hints.rfpsscale != 0)
+ if (hints.fpsrate > 0 && hints.fpsscale != 0)
{
- // check ffmpeg r_frame_rate 1st
- am_private->video_rate = 0.5 + (float)UNIT_FREQ * hints.rfpsscale / hints.rfpsrate;
- }
- else if (hints.fpsrate > 0 && hints.fpsscale != 0)
- {
- // then ffmpeg avg_frame_rate next
am_private->video_rate = 0.5 + (float)UNIT_FREQ * hints.fpsscale / hints.fpsrate;
}
@@ -1545,8 +1539,8 @@ bool CAMLCodec::OpenDecoder(CDVDStreamInfo &hints)
CLog::Log(LOGDEBUG, "CAMLCodec::OpenDecoder "
"hints.width(%d), hints.height(%d), hints.codec(%d), hints.codec_tag(%d), hints.pid(%d)",
hints.width, hints.height, hints.codec, hints.codec_tag, hints.pid);
- CLog::Log(LOGDEBUG, "CAMLCodec::OpenDecoder hints.fpsrate(%d), hints.fpsscale(%d), hints.rfpsrate(%d), hints.rfpsscale(%d), video_rate(%d)",
- hints.fpsrate, hints.fpsscale, hints.rfpsrate, hints.rfpsscale, am_private->video_rate);
+ CLog::Log(LOGDEBUG, "CAMLCodec::OpenDecoder hints.fpsrate(%d), hints.fpsscale(%d), video_rate(%d)",
+ hints.fpsrate, hints.fpsscale, am_private->video_rate);
CLog::Log(LOGDEBUG, "CAMLCodec::OpenDecoder hints.aspect(%f), video_ratio.num(%d), video_ratio.den(%d)",
hints.aspect, video_ratio.num, video_ratio.den);
CLog::Log(LOGDEBUG, "CAMLCodec::OpenDecoder hints.orientation(%d), hints.forced_aspect(%d), hints.extrasize(%d)",
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecAmlogic.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecAmlogic.cpp
index 24c1ab9..960aae1 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecAmlogic.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecAmlogic.cpp
@@ -74,9 +74,7 @@ bool CDVDVideoCodecAmlogic::Open(CDVDStreamInfo &hints, CDVDCodecOptions &option
m_mpeg2_sequence->width = m_hints.width;
m_mpeg2_sequence->height = m_hints.height;
m_mpeg2_sequence->ratio = m_hints.aspect;
- if (m_hints.rfpsrate > 0 && m_hints.rfpsscale != 0)
- m_mpeg2_sequence->rate = (float)m_hints.rfpsrate / m_hints.rfpsscale;
- else if (m_hints.fpsrate > 0 && m_hints.fpsscale != 0)
+ if (m_hints.fpsrate > 0 && m_hints.fpsscale != 0)
m_mpeg2_sequence->rate = (float)m_hints.fpsrate / m_hints.fpsscale;
else
m_mpeg2_sequence->rate = 1.0;
@@ -374,43 +372,41 @@ void CDVDVideoCodecAmlogic::FrameRateTracking(uint8_t *pData, int iSize, double
{
default:
case 0x01:
- m_hints.rfpsrate = 24000.0;
- m_hints.rfpsscale = 1001.0;
+ m_hints.fpsrate = 24000.0;
+ m_hints.fpsscale = 1001.0;
break;
case 0x02:
- m_hints.rfpsrate = 24000.0;
- m_hints.rfpsscale = 1000.0;
+ m_hints.fpsrate = 24000.0;
+ m_hints.fpsscale = 1000.0;
break;
case 0x03:
- m_hints.rfpsrate = 25000.0;
- m_hints.rfpsscale = 1000.0;
+ m_hints.fpsrate = 25000.0;
+ m_hints.fpsscale = 1000.0;
break;
case 0x04:
- m_hints.rfpsrate = 30000.0;
- m_hints.rfpsscale = 1001.0;
+ m_hints.fpsrate = 30000.0;
+ m_hints.fpsscale = 1001.0;
break;
case 0x05:
- m_hints.rfpsrate = 30000.0;
- m_hints.rfpsscale = 1000.0;
+ m_hints.fpsrate = 30000.0;
+ m_hints.fpsscale = 1000.0;
break;
case 0x06:
- m_hints.rfpsrate = 50000.0;
- m_hints.rfpsscale = 1000.0;
+ m_hints.fpsrate = 50000.0;
+ m_hints.fpsscale = 1000.0;
break;
case 0x07:
- m_hints.rfpsrate = 60000.0;
- m_hints.rfpsscale = 1001.0;
+ m_hints.fpsrate = 60000.0;
+ m_hints.fpsscale = 1001.0;
break;
case 0x08:
- m_hints.rfpsrate = 60000.0;
- m_hints.rfpsscale = 1000.0;
+ m_hints.fpsrate = 60000.0;
+ m_hints.fpsscale = 1000.0;
break;
}
m_hints.width = m_mpeg2_sequence->width;
m_hints.height = m_mpeg2_sequence->height;
m_hints.aspect = m_mpeg2_sequence->ratio;
- m_hints.fpsrate = m_hints.rfpsrate;
- m_hints.fpsscale = m_hints.rfpsscale;
}
return;
}
--
1.7.10.4

View File

@ -1,143 +0,0 @@
From a9ff99a36f9e6cea70f7274312a127563af15dc5 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Sun, 21 Sep 2014 17:20:25 +0300
Subject: [PATCH 12/17] Fix incorrect frame rate detection of some videos with
variable frame rate.
Use FFMPEG's r_frame_rate, if it as valid, as a video stream frame rate, otherwise use avg_frame_rate.
Also remove CDVDStreamInfo.rfpsscale, CDVDStreamInfo.rfpsrate, CDemuxStreamVideo.irFpsScale and CDemuxStreamVideo.irFpsRate,
they are not needed anymore.
---
xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h | 4 ---
.../cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp | 29 ++++++++--------------
xbmc/cores/dvdplayer/DVDStreamInfo.cpp | 8 ------
xbmc/cores/dvdplayer/DVDStreamInfo.h | 2 --
4 files changed, 10 insertions(+), 33 deletions(-)
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h
index d69991e..faf3c9b 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemux.h
@@ -151,8 +151,6 @@ public:
{
iFpsScale = 0;
iFpsRate = 0;
- irFpsScale = 0;
- irFpsRate = 0;
iHeight = 0;
iWidth = 0;
fAspect = 0.0;
@@ -167,8 +165,6 @@ public:
virtual ~CDemuxStreamVideo() {}
int iFpsScale; // scale of 1000 and a rate of 29970 will result in 29.97 fps
int iFpsRate;
- int irFpsScale;
- int irFpsRate;
int iHeight; // height of the stream reported by the demuxer
int iWidth; // width of the stream reported by the demuxer
float fAspect; // display aspect of stream
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
index 1315117..5367b28 100644
--- a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
@@ -1125,34 +1125,25 @@ CDemuxStream* CDVDDemuxFFmpeg::AddStream(int iId)
#else
AVRational r_frame_rate = pStream->r_frame_rate;
#endif
+ int rFrameRate = 0;
+ if (r_frame_rate.den && r_frame_rate.num)
+ rFrameRate = r_frame_rate.num / r_frame_rate.den;
+ bool rFrameRateValid = rFrameRate >= 5 && rFrameRate <= 100;
- //average fps is more accurate for mkv files
- if (m_bMatroska && pStream->avg_frame_rate.den && pStream->avg_frame_rate.num)
- {
- st->iFpsRate = pStream->avg_frame_rate.num;
- st->iFpsScale = pStream->avg_frame_rate.den;
- }
- else if(r_frame_rate.den && r_frame_rate.num)
+ if (rFrameRateValid)
{
st->iFpsRate = r_frame_rate.num;
st->iFpsScale = r_frame_rate.den;
}
- else
- {
- st->iFpsRate = 0;
- st->iFpsScale = 0;
- }
-
- // added for aml hw decoder, mkv frame-rate can be wrong.
- if (r_frame_rate.den && r_frame_rate.num)
+ else if(pStream->avg_frame_rate.den && pStream->avg_frame_rate.num)
{
- st->irFpsRate = r_frame_rate.num;
- st->irFpsScale = r_frame_rate.den;
+ st->iFpsRate = pStream->avg_frame_rate.num;
+ st->iFpsScale = pStream->avg_frame_rate.den;
}
else
{
- st->irFpsRate = 0;
- st->irFpsScale = 0;
+ st->iFpsRate = 0;
+ st->iFpsScale = 0;
}
if (pStream->codec_info_nb_frames > 0
diff --git a/xbmc/cores/dvdplayer/DVDStreamInfo.cpp b/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
index c1dbd85..03facbe 100644
--- a/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
+++ b/xbmc/cores/dvdplayer/DVDStreamInfo.cpp
@@ -52,8 +52,6 @@ void CDVDStreamInfo::Clear()
fpsscale = 0;
fpsrate = 0;
- rfpsscale= 0;
- rfpsrate = 0;
height = 0;
width = 0;
aspect = 0.0;
@@ -97,8 +95,6 @@ bool CDVDStreamInfo::Equal(const CDVDStreamInfo& right, bool withextradata)
// VIDEO
if( fpsscale != right.fpsscale
|| fpsrate != right.fpsrate
- || rfpsscale!= right.rfpsscale
- || rfpsrate != right.rfpsrate
|| height != right.height
|| width != right.width
|| stills != right.stills
@@ -159,8 +155,6 @@ void CDVDStreamInfo::Assign(const CDVDStreamInfo& right, bool withextradata)
// VIDEO
fpsscale = right.fpsscale;
fpsrate = right.fpsrate;
- rfpsscale= right.rfpsscale;
- rfpsrate = right.rfpsrate;
height = right.height;
width = right.width;
aspect = right.aspect;
@@ -220,8 +214,6 @@ void CDVDStreamInfo::Assign(const CDemuxStream& right, bool withextradata)
const CDemuxStreamVideo *stream = static_cast<const CDemuxStreamVideo*>(&right);
fpsscale = stream->iFpsScale;
fpsrate = stream->iFpsRate;
- rfpsscale = stream->irFpsScale;
- rfpsrate = stream->irFpsRate;
height = stream->iHeight;
width = stream->iWidth;
aspect = stream->fAspect;
diff --git a/xbmc/cores/dvdplayer/DVDStreamInfo.h b/xbmc/cores/dvdplayer/DVDStreamInfo.h
index c0e22a2..8953ff3 100644
--- a/xbmc/cores/dvdplayer/DVDStreamInfo.h
+++ b/xbmc/cores/dvdplayer/DVDStreamInfo.h
@@ -58,8 +58,6 @@ public:
// VIDEO
int fpsscale; // scale of 1001 and a rate of 60000 will result in 59.94 fps
int fpsrate;
- int rfpsscale;
- int rfpsrate;
int height; // height of the stream reported by the demuxer
int width; // width of the stream reported by the demuxer
float aspect; // display aspect as reported by demuxer
--
2.1.4

View File

@ -1,19 +1,19 @@
From 6aa16d7fe7e6dbe95bdca8069a16d2aa415adf37 Mon Sep 17 00:00:00 2001
From a2adae2d6a5036b2af02448e6803175a02f368d1 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Tue, 3 Feb 2015 17:58:19 +0100
Subject: [PATCH 16/17] Disable deinterlacing for HD content while video is
being played in a window to prevent screen blinking in 1080p50/60hz display
modes
Subject: [PATCH] [aml] Disable deinterlacing for HD content while video is
being played in a window
... to prevent screen blinking in 1080p50/60hz display modes
---
xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp | 5 +++++
xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
index 2fad224..74804de 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
@@ -2261,6 +2261,11 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
index 5dc6592..2103042 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
@@ -2259,6 +2259,11 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:m_stereo_view(%d)", m_stereo_view);
#endif
@ -25,6 +25,3 @@ index 2fad224..74804de 100644
// goofy 0/1 based difference in aml axis coordinates.
// fix them.
dst_rect.x2--;
--
2.1.4

View File

@ -1,18 +1,18 @@
From 7b1c6ca4cb5bf3310cbfe3b007063439be301b6b Mon Sep 17 00:00:00 2001
From 3e6754f46448b9718d57b62e8ca122e6217d0b22 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Mon, 2 Mar 2015 09:48:14 +0100
Subject: [PATCH 18/26] [aml] Fix stuttering during a playback of a video with
23.976 FPS
Subject: [PATCH] [aml] Fix stuttering during a playback of a video with 23.976
FPS
---
xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp | 2 +-
xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
index bf4c958..8d49de8 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp
@@ -1932,7 +1932,7 @@ void CAMLCodec::Process()
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
index 2103042..edf8f8a 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
@@ -1974,7 +1974,7 @@ void CAMLCodec::Process()
double error = app_pts - (double)pts_video/PTS_FREQ;
double abs_error = fabs(error);
@ -21,6 +21,3 @@ index bf4c958..8d49de8 100644
{
//CLog::Log(LOGDEBUG, "CAMLCodec::Process pts diff = %f", error);
if (abs_error > 0.150)
--
1.7.10.4

View File

@ -0,0 +1,27 @@
From 11435d47a5351c55ef12661baf1adb167da513ef Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Tue, 30 Jun 2015 11:19:57 +0200
Subject: [PATCH] [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 32ab888..d4eb0be 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -1336,6 +1336,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")

View File

@ -0,0 +1,214 @@
From c90b4c2ced393524e81c0ec321afa7ec94f3b806 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@codesnake.com>
Date: Wed, 1 Jul 2015 23:37:11 +0200
Subject: [PATCH] [aml] Add support for 4k resolutions
---
xbmc/utils/AMLUtils.cpp | 16 +++---
xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp | 81 ++++++++++++++++++++++-------
xbmc/windowing/egl/EGLNativeTypeAmlogic.h | 2 +
3 files changed, 73 insertions(+), 26 deletions(-)
diff --git a/xbmc/utils/AMLUtils.cpp b/xbmc/utils/AMLUtils.cpp
index 1b54435..05f2cd0 100644
--- a/xbmc/utils/AMLUtils.cpp
+++ b/xbmc/utils/AMLUtils.cpp
@@ -449,8 +449,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;
@@ -467,8 +467,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;
@@ -476,8 +476,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;
@@ -494,8 +494,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 21256ef..2103f0b 100644
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
@@ -65,7 +65,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;
@@ -84,8 +99,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);
@@ -142,48 +157,78 @@ bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res)
}
#endif
- switch((int)(0.5 + res.fRefreshRate))
+ switch((int)(res.fRefreshRate*10))
{
default:
- case 60:
+ case 600:
switch(res.iScreenWidth)
{
default:
case 1280:
- SetDisplayResolution("720p");
+ return SetDisplayResolution("720p");
break;
case 1920:
if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
- SetDisplayResolution("1080i");
+ return SetDisplayResolution("1080i");
else
- SetDisplayResolution("1080p");
+ return SetDisplayResolution("1080p");
break;
}
break;
- case 50:
+ case 500:
switch(res.iScreenWidth)
{
default:
case 1280:
- SetDisplayResolution("720p50hz");
+ return SetDisplayResolution("720p50hz");
break;
case 1920:
if (res.dwFlags & D3DPRESENTFLAG_INTERLACED)
- SetDisplayResolution("1080i50hz");
+ return SetDisplayResolution("1080i50hz");
else
- SetDisplayResolution("1080p50hz");
+ return SetDisplayResolution("1080p50hz");
break;
}
break;
- case 30:
- SetDisplayResolution("1080p30hz");
+ case 300:
+ switch(res.iScreenWidth)
+ {
+ case 3840:
+ return SetDisplayResolution("4k2k30hz");
+ break;
+ default:
+ return SetDisplayResolution("1080p30hz");
+ break;
+ }
break;
- case 24:
- SetDisplayResolution("1080p24hz");
+ case 250:
+ switch(res.iScreenWidth)
+ {
+ case 3840:
+ return SetDisplayResolution("4k2k25hz");
+ break;
+ default:
+ return SetDisplayResolution("1080p25hz");
+ break;
+ }
+ break;
+ case 240:
+ switch(res.iScreenWidth)
+ {
+ case 3840:
+ return SetDisplayResolution("4k2k24hz");
+ break;
+ case 4096:
+ return SetDisplayResolution("4k2ksmpte");
+ break;
+ default:
+ return SetDisplayResolution("1080p24hz");
+ break;
+ }
break;
}
- return true;
+ return false;
}
bool CEGLNativeTypeAmlogic::ProbeResolutions(std::vector<RESOLUTION_INFO> &resolutions)
@@ -280,8 +325,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 6867c38..9ca41d4 100644
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
@@ -55,6 +55,8 @@ class CEGLNativeTypeAmlogic : public CEGLNativeType
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;
};

View File

@ -1,8 +1,17 @@
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in
index 8a97889..78506b1 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in
@@ -27,8 +27,6 @@ endif
From 42e367deff4886e825dc77606c76ee9835d6ee9e Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Sat, 7 Nov 2015 16:24:58 +0200
Subject: [PATCH] [wetek] fix compiler badness when compiling with amcodec
---
xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in | 2 --
1 file changed, 2 deletions(-)
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in
index 7880c06..bd083b7 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in
@@ -25,8 +25,6 @@ endif
ifeq (@USE_LIBAMCODEC@,1)
SRCS += AMLCodec.cpp
SRCS += DVDVideoCodecAmlogic.cpp

View File

@ -1,8 +1,18 @@
From 55b3da7e97f6dc1e99724782253c35fe4c8b7c5a Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Sat, 7 Nov 2015 16:25:44 +0200
Subject: [PATCH] [wetek] perform suspend instead of powerdown
---
system/keymaps/keyboard.xml | 2 +-
xbmc/powermanagement/linux/LogindUPowerSyscall.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/system/keymaps/keyboard.xml b/system/keymaps/keyboard.xml
index 45682a2..b8ce91b 100644
index 9833cff..0ce105e 100644
--- a/system/keymaps/keyboard.xml
+++ b/system/keymaps/keyboard.xml
@@ -96,7 +96,7 @@
@@ -91,7 +91,7 @@
<backslash>ToggleFullScreen</backslash>
<home>FirstPage</home>
<end>LastPage</end>
@ -10,12 +20,12 @@ index 45682a2..b8ce91b 100644
+ <power>XBMC.Powerdown()</power>
<sleep>ActivateWindow(shutdownmenu)</sleep>
<!-- PVR windows -->
<e>XBMC.ActivateWindowAndFocus(MyPVR, 31,0, 10,0)</e>
<e>ActivateWindow(TVGuide)</e>
diff --git a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
index 5a97fe6..369e790 100644
index 4e5bcc6..ad5847d 100644
--- a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
+++ b/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
@@ -52,7 +52,7 @@ CLogindUPowerSyscall::CLogindUPowerSyscall()
@@ -53,7 +53,7 @@ CLogindUPowerSyscall::CLogindUPowerSyscall()
m_canPowerdown = LogindCheckCapability("CanPowerOff");
m_canReboot = LogindCheckCapability("CanReboot");
m_canHibernate = LogindCheckCapability("CanHibernate");
@ -24,7 +34,7 @@ index 5a97fe6..369e790 100644
InhibitDelayLock();
@@ -97,7 +97,7 @@ CLogindUPowerSyscall::~CLogindUPowerSyscall()
@@ -98,7 +98,7 @@ CLogindUPowerSyscall::~CLogindUPowerSyscall()
bool CLogindUPowerSyscall::Powerdown()
{

View File

@ -1,22 +1,22 @@
From a19578679f63520b0d8e9f589b82699076aff6ed Mon Sep 17 00:00:00 2001
From: "Chris \"Koying\" Browet" <cbro@semperpax.com>
From 0cdf5c043e783e8d956c5d59be8a9ec13a53fee3 Mon Sep 17 00:00:00 2001
From: "Chris \\\"Koying\\\" Browet" <cbro@semperpax.com>
Date: Fri, 19 Dec 2014 12:30:04 +0100
Subject: [PATCH] FIX: [renderer] hide meaningless skips from users
Subject: [PATCH] [aml] FIX: [renderer] hide meaningless skips from users
---
xbmc/cores/VideoRenderers/RenderManager.cpp | 3 ++-
xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoRenderers/RenderManager.cpp
index 7f43949..01327f5 100644
--- a/xbmc/cores/VideoRenderers/RenderManager.cpp
+++ b/xbmc/cores/VideoRenderers/RenderManager.cpp
@@ -1198,7 +1198,8 @@ void CXBMCRenderManager::PrepareNextRender()
diff --git a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
index 70741be..15a484a 100644
--- a/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
+++ b/xbmc/cores/VideoPlayer/VideoRenderers/RenderManager.cpp
@@ -1421,7 +1421,8 @@ void CRenderManager::PrepareNextRender()
while(m_queued.front() != idx)
{
requeue(m_discard, m_queued);
- m_QueueSkip++;
+ if (m_format != RENDER_FMT_BYPASS) // skips scares users ;)
+ if (m_format != RENDER_FMT_AML) // skips scares users ;)
+ m_QueueSkip++;
}

View File

@ -58,13 +58,13 @@ echo "cleaning sources..."
rm -rf $PKG_NAME-$PKG_VERSION/.git
echo "seperating theme..."
rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION
mv $PKG_NAME-$PKG_VERSION/addons/skin.confluence $PKG_NAME-theme-Confluence-$PKG_VERSION
rm -rf $PKG_NAME-theme-Estuary-$PKG_VERSION
mv $PKG_NAME-$PKG_VERSION/addons/skin.estuary $PKG_NAME-theme-Estuary-$PKG_VERSION
echo "packing sources..."
tar cvJf $PKG_NAME-$PKG_VERSION.tar.xz $PKG_NAME-$PKG_VERSION
tar cvJf $PKG_NAME-theme-Confluence-$PKG_VERSION.tar.xz $PKG_NAME-theme-Confluence-$PKG_VERSION
tar cvJf $PKG_NAME-theme-Estuary-$PKG_VERSION.tar.xz $PKG_NAME-theme-Estuary-$PKG_VERSION
echo "remove temporary sourcedir..."
rm -rf $PKG_NAME-$PKG_VERSION
rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION
rm -rf $PKG_NAME-theme-Estuary-$PKG_VERSION