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_NAME="kodi"
PKG_VERSION="16.1-rc2-a7caa16" PKG_VERSION="17.0-alpha1-2c72ac9"
PKG_REV="1" PKG_REV="1"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv" PKG_SITE="http://www.kodi.tv"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" 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_DEPENDS_HOST="lzo:host libpng:host libjpeg-turbo:host giflib:host"
PKG_PRIORITY="optional" PKG_PRIORITY="optional"
PKG_SECTION="mediacenter" PKG_SECTION="mediacenter"
@ -49,7 +49,7 @@ fi
if [ ! "$OPENGL" = "no" ]; then if [ ! "$OPENGL" = "no" ]; then
# for OpenGL (GLX) support # 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" KODI_OPENGL="--enable-gl"
else else
KODI_OPENGL="--disable-gl" KODI_OPENGL="--disable-gl"
@ -228,14 +228,14 @@ export CXXFLAGS_FOR_BUILD="$HOST_CXXFLAGS"
export CFLAGS_FOR_BUILD="$HOST_CFLAGS" export CFLAGS_FOR_BUILD="$HOST_CFLAGS"
export LDFLAGS_FOR_BUILD="$HOST_LDFLAGS" 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_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_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 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 \ 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-debug \
--disable-optimizations \ --disable-optimizations \
$KODI_OPENGL \ $KODI_OPENGL \
@ -279,31 +279,41 @@ PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \
pre_configure_host() { pre_configure_host() {
# kodi fails to build in subdirs # kodi fails to build in subdirs
cd $ROOT/$PKG_BUILD rm -rf $ROOT/$PKG_BUILD/.$HOST_NAME
rm -rf .$HOST_NAME }
configure_host() {
: # not needed
} }
make_host() { make_host() {
make -C tools/depends/native/JsonSchemaBuilder mkdir -p $ROOT/$PKG_BUILD/tools/depends/native/JsonSchemaBuilder/bin && cd $_
make -C tools/depends/native/TexturePacker 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() { makeinstall_host() {
cp -PR tools/depends/native/JsonSchemaBuilder/native/JsonSchemaBuilder $ROOT/$TOOLCHAIN/bin cp -P $ROOT/$PKG_BUILD/tools/depends/native/TexturePacker/bin/TexturePacker $ROOT/$TOOLCHAIN/bin
rm -f $ROOT/$TOOLCHAIN/bin/TexturePacker
cp -PR tools/depends/native/TexturePacker/native/TexturePacker $ROOT/$TOOLCHAIN/bin
} }
pre_build_target() { pre_build_target() {
# adding fake Makefile for stripped skin # adding fake Makefile for stripped skin
mkdir -p $PKG_BUILD/addons/skin.estuary/media mkdir -p $ROOT/$PKG_BUILD/addons/skin.estuary/media
touch $PKG_BUILD/addons/skin.estuary/media/Makefile.in touch $ROOT/$PKG_BUILD/addons/skin.estuary/media/Makefile.in
} }
pre_configure_target() { pre_configure_target() {
# kodi fails to build in subdirs # kodi fails to build in subdirs
cd $ROOT/$PKG_BUILD rm -rf $ROOT/$PKG_BUILD/.$TARGET_NAME
rm -rf .$TARGET_NAME
# kodi should never be built with lto # kodi should never be built with lto
strip_lto strip_lto
@ -313,6 +323,9 @@ pre_configure_target() {
export LIBS="$LIBS -lz" export LIBS="$LIBS -lz"
export JSON_BUILDER=$ROOT/$TOOLCHAIN/bin/JsonSchemaBuilder export JSON_BUILDER=$ROOT/$TOOLCHAIN/bin/JsonSchemaBuilder
# autoreconf
BOOTSTRAP_STANDALONE=1 make -f $ROOT/$PKG_BUILD/bootstrap.mk
} }
make_target() { make_target() {
@ -337,9 +350,12 @@ post_makeinstall_target() {
rm -rf $INSTALL/usr/bin/xbmc rm -rf $INSTALL/usr/bin/xbmc
rm -rf $INSTALL/usr/bin/xbmc-standalone rm -rf $INSTALL/usr/bin/xbmc-standalone
rm -rf $INSTALL/usr/lib/kodi/*.cmake rm -rf $INSTALL/usr/lib/kodi/*.cmake
rm -rf $INSTALL/usr/share/applications
# more binaddons cross compile badness meh rm -rf $INSTALL/usr/share/icons
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/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 mkdir -p $INSTALL/usr/lib/kodi
cp $PKG_DIR/scripts/kodi-config $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 rm -rf $INSTALL/usr/lib/kodi/kodi-xrandr
fi 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 mkdir -p $INSTALL/usr/share/kodi/addons
cp -R $PKG_DIR/config/os.openelec.tv $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 $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 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 $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 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 cp -R tools/EventClients/lib/python/* $INSTALL/usr/lib/python$PYTHON_VERSION/site-packages/kodi
mkdir -p $INSTALL/usr/share/kodi/config mkdir -p $INSTALL/usr/share/kodi/config
cp $PKG_DIR/config/guisettings.xml $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 cp $PKG_DIR/config/appliance.xml $INSTALL/usr/share/kodi/system/settings
fi 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 if [ "$KODI_EXTRA_FONTS" = yes ]; then
mkdir -p $INSTALL/usr/share/kodi/media/Fonts mkdir -p $INSTALL/usr/share/kodi/media/Fonts
cp $PKG_DIR/fonts/*.ttf $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_AppFocused;
bool m_renderGUI; 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 index 01027f8..4cfb04e 100644
--- a/xbmc/main/main.cpp --- a/xbmc/platform/posix/main.cpp
+++ b/xbmc/main/main.cpp +++ b/xbmc/platform/posix/main.cpp
@@ -41,12 +41,27 @@ @@ -41,12 +41,27 @@
#include "input/linux/LIRC.h" #include "input/linux/LIRC.h"
#endif #endif
#include "XbmcContext.h" #include "platform/XbmcContext.h"
+#include "Application.h" +#include "Application.h"
+ +
+void xbmc_term_handler(int signum) +void xbmc_term_handler(int signum)

View File

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

View File

@ -1,17 +1,18 @@
From b70f963a0963735e627b12cf361e4e30d6c2a799 Mon Sep 17 00:00:00 2001 From cd60daafb0c6b1e1de94dbc944bb247a8f810b50 Mon Sep 17 00:00:00 2001
From: Lukas Rusak <lorusak@gmail.com> From: fritsch <peter.fruehberger@gmail.com>
Date: Tue, 26 Jan 2016 08:31:52 +0100 Date: Fri, 29 Jan 2016 16:32:06 +0100
Subject: [PATCH] change pulseaudio default device name to Bluetooth Audio Subject: [PATCH] [PATCH] change pulseaudio default device name to Bluetooth
Audio
--- ---
xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp | 4 +++- xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-) 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp 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 --- a/xbmc/cores/AudioEngine/Sinks/AESinkPULSE.cpp
+++ b/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; CAEDeviceInfo defaultDevice;
defaultDevice.m_deviceName = std::string("Default"); defaultDevice.m_deviceName = std::string("Default");
defaultDevice.m_displayName = 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_channels = CAEChannelInfo(AE_CH_LAYOUT_2_0);
defaultDevice.m_sampleRates.assign(defaultSampleRates, defaultSampleRates + ARRAY_SIZE(defaultSampleRates)); defaultDevice.m_sampleRates.assign(defaultSampleRates, defaultSampleRates + ARRAY_SIZE(defaultSampleRates));
defaultDevice.m_deviceType = AE_DEVTYPE_PCM; defaultDevice.m_deviceType = AE_DEVTYPE_PCM;
defaultDevice.m_wantsIECPassthrough = true;
sinkStruct->list->push_back(defaultDevice); sinkStruct->list->push_back(defaultDevice);
+ // OE only wants the default device - so we are done here + // OE only wants the default device - so we are done here
+ return; + return;
@ -28,5 +30,5 @@ index 67b7b90..8537163 100644
if (i && i->name) 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 diff -Naur a/configure.ac b/configure.ac
From: croniccorey <cronmod.dev@gmail.com> --- a/configure.ac 2016-02-14 00:19:36.000000000 +0100
Date: Sun, 13 Dec 2015 16:37:05 -0500 +++ b/configure.ac 2016-03-02 09:15:52.504860258 +0100
Subject: [PATCH] KODI: Add support for aarch64 platform @@ -641,6 +641,18 @@
use_gl=no
---
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
USE_STATIC_FFMPEG=1 USE_STATIC_FFMPEG=1
;; ;;
+ aarch64*-*-linux-gnu*) + aarch64*-*-linux-gnu*)
@ -52,11 +20,10 @@ index c767357..80f3807 100644
arm*-*linux-android*) arm*-*linux-android*)
target_platform=target_android target_platform=target_android
use_arch="arm" use_arch="arm"
diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4 diff -Naur a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
index 0b66a82..fa08537 100644 --- a/m4/xbmc_arch.m4 2016-02-14 00:19:42.000000000 +0100
--- a/m4/xbmc_arch.m4 +++ b/m4/xbmc_arch.m4 2016-03-02 09:16:33.341943374 +0100
+++ b/m4/xbmc_arch.m4 @@ -60,7 +60,7 @@
@@ -60,7 +60,7 @@ case $host in
powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*) powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64") 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") AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;; ;;
mips*-*-linux-gnu*|mips*-*-linux-uclibc*) 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 diff -Naur a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp 2016-02-02 23:09:39.000000000 +0100 --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp 2016-02-14 00:19:32.000000000 +0100
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp 2016-02-10 07:01:28.941399058 +0100 +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp 2016-03-02 09:36:04.503330833 +0100
@@ -1598,7 +1598,7 @@ @@ -1601,7 +1601,7 @@
am_private->gcodec.param = (void*)(EXTERNAL_PTS | SYNC_OUTSIDE); am_private->gcodec.param = (void*)(EXTERNAL_PTS | SYNC_OUTSIDE);
break; 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 // translate from generic to firemware version dependent
m_dll->codec_init_para(&am_private->gcodec, &am_private->vcodec); 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/* chmod +x /storage/.kodi/addons/*/bin/*
# Nasty hack to work around OE to LE migration - Addons*.db needs to forget all about OE addons # 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 if [ -n "${ADDONSDB}" ]; then
OEREPO="'repository.openelec.tv'" 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> From: Alex Deryskyba <alex@codesnake.com>
Date: Wed, 16 Apr 2014 22:02:01 +0300 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(+) 1 file changed, 19 insertions(+)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 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 --- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/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 0
}; };
@ -29,7 +29,7 @@ index df50940..9f80c06 100644
CAESinkALSA::CAESinkALSA() : CAESinkALSA::CAESinkALSA() :
m_bufferSize(0), m_bufferSize(0),
m_formatSampleRateMul(0.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); periodSize = std::min(periodSize, (snd_pcm_uframes_t) sampleRate / 20);
bufferSize = std::min(bufferSize, (snd_pcm_uframes_t) sampleRate / 5); 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); 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> From: Alex Deryskyba <alex@codesnake.com>
Date: Mon, 8 Sep 2014 23:29:40 +0300 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 linker errors when linking with libsmbclient
Place libsmbclient before all other libraries to prevent linker errors when linking 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 such as dn_expand (which are often included in libc), but are actually included in
libresolv. libresolv.
--- ---
configure.ac | 2 +- configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index ff4022f..079fa27 100644 index fbe2766..c668729 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -1475,7 +1475,7 @@ fi @@ -1425,7 +1425,7 @@ fi
# samba # samba
if test "x$use_samba" != "xno"; then if test "x$use_samba" != "xno"; then
PKG_CHECK_MODULES([SAMBA], [smbclient], PKG_CHECK_MODULES([SAMBA], [smbclient],
@ -25,6 +25,3 @@ index ff4022f..079fa27 100644
[AC_CHECK_LIB([smbclient], [main],, [AC_CHECK_LIB([smbclient], [main],,
use_samba=no;AC_MSG_ERROR($missing_library)) use_samba=no;AC_MSG_ERROR($missing_library))
USE_LIBSMBCLIENT=0 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> From: Alex Deryskyba <alex@codesnake.com>
Date: Fri, 19 Sep 2014 01:55:12 +0300 Date: Fri, 19 Sep 2014 01:55:12 +0300
Subject: [PATCH 09/17] [aml] Change the sample rates that are supported by Subject: [PATCH] [aml] Change the sample rates that are supported by ALSA but
ALSA but unsupported by HDMI to the closest supported unsupported by HDMI to the closest supported value
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(+) 1 file changed, 20 insertions(+)
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 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 --- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/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); snd_pcm_hw_params_set_access(m_pcm, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
unsigned int sampleRate = inconfig.sampleRate; 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); snd_pcm_hw_params_set_rate_near (m_pcm, hw_params, &sampleRate, NULL);
unsigned int channelCount = inconfig.channels; 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> From: Alex Deryskyba <alex@codesnake.com>
Date: Sat, 20 Sep 2014 04:43:52 +0300 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 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(+) 1 file changed, 4 insertions(+)
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp 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 --- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp +++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEBuffer.cpp
@@ -143,7 +143,11 @@ CActiveAEBufferPoolResample::CActiveAEBufferPoolResample(AEAudioFormat inputForm @@ -157,7 +157,11 @@ CActiveAEBufferPoolResample::CActiveAEBufferPoolResample(AEAudioFormat inputForm
if (AE_IS_RAW(m_inputFormat.m_dataFormat)) m_inputFormat.m_channelLayout += AE_CH_FC;
m_inputFormat.m_dataFormat = AE_FMT_S16NE; }
m_resampler = NULL; m_resampler = NULL;
+#ifdef HAS_LIBAMCODEC +#ifdef HAS_LIBAMCODEC
+ m_fillPackets = true; + m_fillPackets = true;
@ -24,6 +24,3 @@ index 3b0a015..ef431a4 100644
m_drain = false; m_drain = false;
m_empty = true; m_empty = true;
m_procSample = NULL; 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> From: Alex Deryskyba <alex@codesnake.com>
Date: Tue, 3 Feb 2015 17:58:19 +0100 Date: Tue, 3 Feb 2015 17:58:19 +0100
Subject: [PATCH 16/17] Disable deinterlacing for HD content while video is Subject: [PATCH] [aml] Disable deinterlacing for HD content while video is
being played in a window to prevent screen blinking in 1080p50/60hz display being played in a window
modes
... 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(+) 1 file changed, 5 insertions(+)
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
index 2fad224..74804de 100644 index 5dc6592..2103042 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
@@ -2261,6 +2261,11 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect) @@ -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); CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:m_stereo_view(%d)", m_stereo_view);
#endif #endif
@ -25,6 +25,3 @@ index 2fad224..74804de 100644
// goofy 0/1 based difference in aml axis coordinates. // goofy 0/1 based difference in aml axis coordinates.
// fix them. // fix them.
dst_rect.x2--; 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> From: Alex Deryskyba <alex@codesnake.com>
Date: Mon, 2 Mar 2015 09:48:14 +0100 Date: Mon, 2 Mar 2015 09:48:14 +0100
Subject: [PATCH 18/26] [aml] Fix stuttering during a playback of a video with Subject: [PATCH] [aml] Fix stuttering during a playback of a video with 23.976
23.976 FPS FPS
--- ---
xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp | 2 +- xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 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 diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
index bf4c958..8d49de8 100644 index 2103042..edf8f8a 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/AMLCodec.cpp +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
@@ -1932,7 +1932,7 @@ void CAMLCodec::Process() @@ -1974,7 +1974,7 @@ void CAMLCodec::Process()
double error = app_pts - (double)pts_video/PTS_FREQ; double error = app_pts - (double)pts_video/PTS_FREQ;
double abs_error = fabs(error); double abs_error = fabs(error);
@ -21,6 +21,3 @@ index bf4c958..8d49de8 100644
{ {
//CLog::Log(LOGDEBUG, "CAMLCodec::Process pts diff = %f", error); //CLog::Log(LOGDEBUG, "CAMLCodec::Process pts diff = %f", error);
if (abs_error > 0.150) 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 From 42e367deff4886e825dc77606c76ee9835d6ee9e Mon Sep 17 00:00:00 2001
index 8a97889..78506b1 100644 From: Stefan Saraev <stefan@saraev.ca>
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in Date: Sat, 7 Nov 2015 16:24:58 +0200
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in Subject: [PATCH] [wetek] fix compiler badness when compiling with amcodec
@@ -27,8 +27,6 @@ endif
---
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) ifeq (@USE_LIBAMCODEC@,1)
SRCS += AMLCodec.cpp SRCS += AMLCodec.cpp
SRCS += DVDVideoCodecAmlogic.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 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 --- a/system/keymaps/keyboard.xml
+++ b/system/keymaps/keyboard.xml +++ b/system/keymaps/keyboard.xml
@@ -96,7 +96,7 @@ @@ -91,7 +91,7 @@
<backslash>ToggleFullScreen</backslash> <backslash>ToggleFullScreen</backslash>
<home>FirstPage</home> <home>FirstPage</home>
<end>LastPage</end> <end>LastPage</end>
@ -10,12 +20,12 @@ index 45682a2..b8ce91b 100644
+ <power>XBMC.Powerdown()</power> + <power>XBMC.Powerdown()</power>
<sleep>ActivateWindow(shutdownmenu)</sleep> <sleep>ActivateWindow(shutdownmenu)</sleep>
<!-- PVR windows --> <!-- 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 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 --- a/xbmc/powermanagement/linux/LogindUPowerSyscall.cpp
+++ b/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_canPowerdown = LogindCheckCapability("CanPowerOff");
m_canReboot = LogindCheckCapability("CanReboot"); m_canReboot = LogindCheckCapability("CanReboot");
m_canHibernate = LogindCheckCapability("CanHibernate"); m_canHibernate = LogindCheckCapability("CanHibernate");
@ -24,7 +34,7 @@ index 5a97fe6..369e790 100644
InhibitDelayLock(); InhibitDelayLock();
@@ -97,7 +97,7 @@ CLogindUPowerSyscall::~CLogindUPowerSyscall() @@ -98,7 +98,7 @@ CLogindUPowerSyscall::~CLogindUPowerSyscall()
bool CLogindUPowerSyscall::Powerdown() bool CLogindUPowerSyscall::Powerdown()
{ {

View File

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

View File

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