Merge pull request #2477 from MilhouseVH/le90_kodi_Mar2018

kodi: updates for March 2018
This commit is contained in:
Christian Hewitt 2018-02-16 11:27:50 +04:00 committed by GitHub
commit c2fd843bc3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 941 additions and 741 deletions

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="peripheral.joystick"
PKG_VERSION="0a20d01"
PKG_SHA256="759a2f8d06de059727cd5ab684826fe7b9dd7ae31bdd2205b0750c3de058da68"
PKG_VERSION="02da6ed"
PKG_SHA256="3c0a8443cc0a0b177ba94d1a2288d57ea20860bee7450411674539d8e8583687"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.demo"
PKG_VERSION="0224cbd"
PKG_SHA256="7d4e432031378fef28354cbe46d419438560bbcf760339298ef5e43a71c5f78d"
PKG_VERSION="8f62053"
PKG_SHA256="38abffc3438f75dca8e658df7cb35769734d3dc807b8d3bbc96a12f41d38d947"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.dvblink"
PKG_VERSION="4ac2f2d"
PKG_SHA256="1ce065cf54ccbe537ffb6227371ce53d28405fe63e5b6384869d351e0b41fca2"
PKG_VERSION="89d1687"
PKG_SHA256="2ac81bccee48c5d7367e2cb99b557bdd2d4f0d31b656107ab74f4fef57da908c"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.dvbviewer"
PKG_VERSION="c2275e1"
PKG_SHA256="1d9261a223f2ad5f78e9e17bbf23ee199eebf269eac618cfac30bd228a07b7a8"
PKG_VERSION="64c4356"
PKG_SHA256="48d6f4a7eaa3db3cedbe2947c448bea837b93bc16329e374afa092533d4d38b7"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.filmon"
PKG_VERSION="e754b4b"
PKG_SHA256="c90375e63cc191b63e1108cc2a7ce27d5341f815b1772141b672dab21ccca2c0"
PKG_VERSION="2721611"
PKG_SHA256="7c8178f3db13959b74130ab0617cff97b8ab1762527b7891a0ad8b8a8dcf686f"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.hts"
PKG_VERSION="774943f"
PKG_SHA256="df02ad8adfd07422b0640718d9ec680a3626198b80ba46a123eb04cd33a45d41"
PKG_VERSION="095784b"
PKG_SHA256="ef026cf4a696fcaf6463387169bfd3360f191f23a954474b778c2bd8bda2d46f"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.iptvsimple"
PKG_VERSION="a00d008"
PKG_SHA256="7238c88cc8d8b1fb95bf28811938d9adefd357c7f9cf5303ca5b99e19744c79d"
PKG_VERSION="933a5c4"
PKG_SHA256="83f5966ba909e66976ae18685e9f41c5a924831f8635b806cf91cb3291ff83bc"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.mediaportal.tvserver"
PKG_VERSION="0c5ece3"
PKG_SHA256="74087d3403ccd6b394ad831c57f163ce63c9ef1dbd004bb3a7523d9cac1f9340"
PKG_VERSION="dec444f"
PKG_SHA256="796fd3a2f8c86007c26e738f9dc2df85be168960ed0691f74094cedc50360690"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.nextpvr"
PKG_VERSION="11dfdbb"
PKG_SHA256="7b02914050f5c6a81fc6fb67c50ef5991c82348b8ae83bde6ea7efb9a921e3e0"
PKG_VERSION="aa1c8d2"
PKG_SHA256="06474ec07083460f600e5fa0299992f357c0ce1ba1540255572e7caa36e710bc"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.pctv"
PKG_VERSION="c7a13d7"
PKG_SHA256="20cdbd4e3ff293355d20ea60ef1ae123e04c1fed99bb6939d9127b1982f436f7"
PKG_VERSION="5b47d9f"
PKG_SHA256="fa23524622e1d2a4ebc1de4c6c8766b7a1987e2b900551049bbcec9d6055d354"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.stalker"
PKG_VERSION="c91421d"
PKG_SHA256="5062ca5199f08d698aaae3625d8ccd1decdae49281e860b484719f84e5bea902"
PKG_VERSION="77eec69"
PKG_SHA256="c928578693264536dd46f9c0e084301009faf9fd1c6882cc17eabe3e94345a98"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.vbox"
PKG_VERSION="24126fd"
PKG_SHA256="e5ff139d29b53d56552201ed1efaad9599b4f7eca4ff96b7f3f358246dbbb723"
PKG_VERSION="57f3198"
PKG_SHA256="a47a92367e0b9c759752af933ce434ba81a25b2772646e2ee04ac2048665ff1e"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.vuplus"
PKG_VERSION="020e1d2"
PKG_SHA256="815314ea7ed64e663be3e36ac94d1b7a850587cc13c39b9f9ac6dc54bcb17de3"
PKG_VERSION="f05f158"
PKG_SHA256="96656716275ec07106ba938a5376bd53670c4f3f1e4fc006be9cfb2c17e58339"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.wmc"
PKG_VERSION="920ade6"
PKG_SHA256="32bf437c8a0cd7be606214b639394e8c580924be8c1548c26e1c23d123c5de27"
PKG_VERSION="38e670a"
PKG_SHA256="622a5e1f9b804bbe5754f7f889147eeca76a218799acf6c1045b3ae0c47617e9"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="pvr.zattoo"
PKG_VERSION="fed0aea"
PKG_SHA256="c26a6fd96e49964de0da2d9200d12aa23f348606e6331f80a3d6a134029673cf"
PKG_VERSION="3c46173"
PKG_SHA256="3ddf99f180a84dd0398015f51c3cb8cded472071906e76d2727aa5b513aecd9d"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="vfs.libarchive"
PKG_VERSION="568a2a1"
PKG_SHA256="781c2d3a26f5a4c4beadd5e3ec732dc0dc451e303f08e8a034bb584025db2358"
PKG_VERSION="128394c"
PKG_SHA256="c90a889cea5dfa68115084c06bb6b0c61886f49a5676734e6238d93ea9d13a67"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="vfs.rar"
PKG_VERSION="2904d06"
PKG_SHA256="0de99949939acad8753156cf5bc87a33a2cdc1459ee15ea450c5fee75dd73b70"
PKG_VERSION="2efe917"
PKG_SHA256="fd72d3fed58b5489d71290e57b033f60e8e0501df94e208fb6b95599f20553e8"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,34 +0,0 @@
ARCH=@ARCH@
CC=@CC@
CXX=@CXX@
DVDNAV_A = $(DVD_PREFIX)/usr/lib/libdvdnav.a
DVDREAD_A = $(DVD_PREFIX)/usr/lib/libdvdread.a
DVDCSS_A = $(DVD_PREFIX)/usr/lib/libdvdcss.a
WRAPPER = @abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper.o
WRAPPER_DEF = @abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper.def
SO_LDFLAGS = $(LDFLAGS) -shared -fPIC -rdynamic
SYSDIR = @abs_top_srcdir@/system/players/VideoPlayer
SOS = libdvdcss-$(ARCH).so libdvdnav-$(ARCH).so
SLIB = $(addprefix $(SYSDIR)/, $(SOS))
all: $(SLIB)
$(SYSDIR)/libdvdcss-$(ARCH).so: $(WRAPPER) $(WRAPPER_DEF) $(DVDCSS_A)
mkdir -p libdvdcss; cd libdvdcss; $(AR) x $(DVDCSS_A)
$(CC) -o $@ $(SO_LDFLAGS) -Wl,--soname,$@ libdvdcss/*.o -Wl,--unresolved-symbols=ignore-all -lm \
`cat $(WRAPPER_DEF)` $(WRAPPER)
$(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(WRAPPER_DEF) $(DVDNAV_A) $(DVDREAD_A) $(DVDCSS_A)
mkdir -p libdvdread; cd libdvdread; $(AR) x $(DVDREAD_A)
mkdir -p libdvdnav; cd libdvdnav; $(AR) x $(DVDNAV_A)
mkdir -p libdvdcss; cd libdvdcss; $(AR) x $(DVDCSS_A)
$(CC) -o $@ $(SO_LDFLAGS) -Wl,--soname,$@ libdvdread/*.o libdvdnav/*.o libdvdcss/*.o -lm -Wl,--unresolved-symbols=ignore-all \
`cat $(WRAPPER_DEF)` $(WRAPPER)
$(WRAPPER_DEF):
$(MAKE) -C @abs_top_srcdir@/xbmc/cores/DllLoader/exports wrapper.def

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="kodi"
PKG_VERSION="f621a02"
PKG_SHA256="ac4b2e5d5858ed2d07cd547dadae8394430da80bde39e5f191572b6e1f20df01"
PKG_VERSION="f5871d9"
PKG_SHA256="1762381765e5fcecdf4923ed4d02bacba079136b21782f8b3fb17170e423f0f1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kodi.tv"
@ -203,7 +203,7 @@ KODI_LIBDVD="$KODI_DVDCSS \
-DLIBDVDREAD_URL=$SOURCES/libdvdread/libdvdread-$(get_pkg_version libdvdread).tar.gz"
# Build Kodi using parallel LTO
[ "$LTO_SUPPORT" = "yes" ] && PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL"
[ "$LTO_SUPPORT" = "yes" -a "$DEBUG" != "yes" ] && PKG_KODI_USE_LTO="-DUSE_LTO=$CONCURRENCY_MAKE_LEVEL"
PKG_CMAKE_OPTS_TARGET="-DNATIVEPREFIX=$TOOLCHAIN \
-DWITH_TEXTUREPACKER=$TOOLCHAIN/bin/TexturePacker \

View File

@ -87,7 +87,7 @@ index e015f0755e..92879f19c1 100644
if (GetAddon(id, addon, ADDON_UNKNOWN, false) && addon != NULL)
{
+ ADDON::LEAddonHook(addon, ADDON::LE_ADDON_DISABLED);
CEventLog::GetInstance().Add(EventPtr(new CAddonManagementEvent(addon, 24141)));
CServiceBroker::GetEventLog().Add(EventPtr(new CAddonManagementEvent(addon, 24141)));
}
@@ -864,6 +865,7 @@ bool CAddonMgr::EnableSingle(const std::string& id)
@ -96,5 +96,5 @@ index e015f0755e..92879f19c1 100644
m_disabled.erase(id);
+ ADDON::LEAddonHook(addon, ADDON::LE_ADDON_ENABLED);
CEventLog::GetInstance().Add(EventPtr(new CAddonManagementEvent(addon, 24064)));
CServiceBroker::GetEventLog().Add(EventPtr(new CAddonManagementEvent(addon, 24064)));

View File

@ -1,197 +0,0 @@
From 35c299575feaf12dd09e9571e981347436063806 Mon Sep 17 00:00:00 2001
From: "Sascha Kuehndel (InuSasha)" <dev@inusasha.de>
Date: Fri, 5 Jan 2018 18:14:12 +0100
Subject: [PATCH] sql-client: add support for mariadb-client mariadb is a
place-in for mysql. only, the search pathes and the include path are changed.
---
CMakeLists.txt | 12 +++++-
cmake/modules/FindMariaDBClient.cmake | 69 +++++++++++++++++++++++++++++++++++
xbmc/dbwrappers/CMakeLists.txt | 2 +-
xbmc/dbwrappers/Database.cpp | 6 +--
xbmc/dbwrappers/mysqldataset.cpp | 4 ++
xbmc/dbwrappers/mysqldataset.h | 4 ++
6 files changed, 92 insertions(+), 5 deletions(-)
create mode 100644 cmake/modules/FindMariaDBClient.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 08bebea13a59..150fe9744ce9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -151,7 +151,6 @@ set(optional_deps Alsa
LCMS2
MDNS
MicroHttpd
- MySqlClient
PulseAudio
Python
SmbClient
@@ -179,6 +178,17 @@ core_optional_dep(${optional_deps})
core_require_dyload_dep(${required_dyload})
core_optional_dyload_dep(${dyload_optional})
+if(ENABLE_MARIADBCLIENT AND NOT ENABLE_MARIADBCLIENT STREQUAL AUTO AND ENABLE_MYSQLCLIENT AND NOT ENABLE_MYSQLCLIENT STREQUAL AUTO)
+ MESSAGE(FATAL_ERROR "You can not use MySql and MariaDB at the same time. Disable one by adding -DENABLE_MYSQLCLIENT=OFF or -DENABLE_MARIADBCLIENT=OFF.")
+elseif(ENABLE_MYSQLCLIENT AND NOT ENABLE_MYSQLCLIENT STREQUAL AUTO)
+ set(ENABLE_MARIADBCLIENT OFF CACHE BOOL "")
+endif()
+
+core_optional_dep(MariaDBClient)
+if(NOT MARIADBCLIENT_FOUND)
+ core_optional_dep(MySqlClient)
+endif()
+
if(NOT UDEV_FOUND)
core_optional_dep(LibUSB)
endif()
diff --git a/cmake/modules/FindMariaDBClient.cmake b/cmake/modules/FindMariaDBClient.cmake
new file mode 100644
index 000000000000..1e5e736f46b0
--- /dev/null
+++ b/cmake/modules/FindMariaDBClient.cmake
@@ -0,0 +1,69 @@
+#.rst:
+# FindMariaDBClient
+# ---------------
+# Finds the MariaDBClient library
+#
+# This will will define the following variables::
+#
+# MARIADBCLIENT_FOUND - system has MariaDBClient
+# MARIADBCLIENT_INCLUDE_DIRS - the MariaDBClient include directory
+# MARIADBCLIENT_LIBRARIES - the MariaDBClient libraries
+# MARIADBCLIENT_DEFINITIONS - the MariaDBClient compile definitions
+#
+# and the following imported targets::
+#
+# MariaDBClient::MariaDBClient - The MariaDBClient library
+
+# Don't find system wide installed version on Windows
+if(WIN32)
+ set(EXTRA_FIND_ARGS NO_SYSTEM_ENVIRONMENT_PATH)
+else()
+ set(EXTRA_FIND_ARGS)
+endif()
+
+find_path(MARIADBCLIENT_INCLUDE_DIR NAMES mariadb/mysql.h mariadb/server/mysql.h)
+find_library(MARIADBCLIENT_LIBRARY_RELEASE NAMES mariadbclient libmariadb
+ PATH_SUFFIXES mariadb
+ ${EXTRA_FIND_ARGS})
+find_library(MARIADBCLIENT_LIBRARY_DEBUG NAMES mariadbclient libmariadb
+ PATH_SUFFIXES mariadb
+ ${EXTRA_FIND_ARGS})
+
+if(MARIADBCLIENT_INCLUDE_DIR AND EXISTS "${MARIADBCLIENT_INCLUDE_DIR}/mariadb/mariadb_version.h")
+ file(STRINGS "${MARIADBCLIENT_INCLUDE_DIR}/mariadb/mariadb_version.h" mariadb_version_str REGEX "^#define[\t ]+MARIADB_CLIENT_VERSION_STR[\t ]+\".*\".*")
+ string(REGEX REPLACE "^#define[\t ]+MARIADB_CLIENT_VERSION_STR[\t ]+\"([^\"]+)\".*" "\\1" MARIADBCLIENT_VERSION_STRING "${mariadb_version_str}")
+ unset(mariadb_version_str)
+endif()
+
+include(SelectLibraryConfigurations)
+select_library_configurations(MARIADBCLIENT)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MariaDBClient
+ REQUIRED_VARS MARIADBCLIENT_LIBRARY MARIADBCLIENT_INCLUDE_DIR
+ VERSION_VAR MARIADBCLIENT_VERSION_STRING)
+
+if(MARIADBCLIENT_FOUND)
+ set(MARIADBCLIENT_LIBRARIES ${MARIADBCLIENT_LIBRARY})
+ set(MARIADBCLIENT_INCLUDE_DIRS ${MARIADBCLIENT_INCLUDE_DIR})
+ set(MARIADBCLIENT_DEFINITIONS -DHAS_MARIADB=1)
+
+ if(NOT TARGET MariaDBClient::MariaDBClient)
+ add_library(MariaDBClient::MariaDBClient UNKNOWN IMPORTED)
+ if(MARIADBCLIENT_LIBRARY_RELEASE)
+ set_target_properties(MariaDBClient::MariaDBClient PROPERTIES
+ IMPORTED_CONFIGURATIONS RELEASE
+ IMPORTED_LOCATION "${MARIADBCLIENT_LIBRARY_RELEASE}")
+ endif()
+ if(MARIADBCLIENT_LIBRARY_DEBUG)
+ set_target_properties(MariaDBClient::MariaDBClient PROPERTIES
+ IMPORTED_CONFIGURATIONS DEBUG
+ IMPORTED_LOCATION "${MARIADBCLIENT_LIBRARY_DEBUG}")
+ endif()
+ set_target_properties(MariaDBClient::MariaDBClient PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${MARIADBCLIENT_INCLUDE_DIR}"
+ INTERFACE_COMPILE_DEFINITIONS HAS_MARIADB=1)
+ endif()
+endif()
+
+mark_as_advanced(MARIADBCLIENT_INCLUDE_DIR MARIADBCLIENT_LIBRARY)
diff --git a/xbmc/dbwrappers/CMakeLists.txt b/xbmc/dbwrappers/CMakeLists.txt
index 5ca090f0e4dd..16a03f291a6c 100644
--- a/xbmc/dbwrappers/CMakeLists.txt
+++ b/xbmc/dbwrappers/CMakeLists.txt
@@ -10,7 +10,7 @@ set(HEADERS Database.h
qry_dat.h
sqlitedataset.h)
-if(MYSQLCLIENT_FOUND)
+if(MYSQLCLIENT_FOUND OR MARIADBCLIENT_FOUND)
list(APPEND SOURCES mysqldataset.cpp)
list(APPEND HEADERS mysqldataset.h)
endif()
diff --git a/xbmc/dbwrappers/Database.cpp b/xbmc/dbwrappers/Database.cpp
index b90b28508e6d..c3ae6480bb74 100644
--- a/xbmc/dbwrappers/Database.cpp
+++ b/xbmc/dbwrappers/Database.cpp
@@ -30,7 +30,7 @@
#include "DatabaseManager.h"
#include "DbUrl.h"
-#ifdef HAS_MYSQL
+#if defined(HAS_MYSQL) || defined(HAS_MARIADB)
#include "mysqldataset.h"
#endif
@@ -378,7 +378,7 @@ void CDatabase::InitSettings(DatabaseSettings &dbSettings)
{
m_sqlite = true;
-#ifdef HAS_MYSQL
+#if defined(HAS_MYSQL) || defined(HAS_MARIADB)
if (dbSettings.type == "mysql")
{
// check we have all information before we cancel the fallback
@@ -421,7 +421,7 @@ bool CDatabase::Connect(const std::string &dbName, const DatabaseSettings &dbSet
{
m_pDB.reset( new SqliteDatabase() ) ;
}
-#ifdef HAS_MYSQL
+#if defined(HAS_MYSQL) || defined(HAS_MARIADB)
else if (dbSettings.type == "mysql")
{
m_pDB.reset( new MysqlDatabase() ) ;
diff --git a/xbmc/dbwrappers/mysqldataset.cpp b/xbmc/dbwrappers/mysqldataset.cpp
index 4e561296a630..69d48201483e 100644
--- a/xbmc/dbwrappers/mysqldataset.cpp
+++ b/xbmc/dbwrappers/mysqldataset.cpp
@@ -30,7 +30,11 @@
#include "utils/StringUtils.h"
#include "mysqldataset.h"
+#ifdef HAS_MYSQL
#include "mysql/errmsg.h"
+#elif defined(HAS_MARIADB)
+#include <mariadb/errmsg.h>
+#endif
#ifdef TARGET_POSIX
#include "platform/linux/ConvUtils.h"
diff --git a/xbmc/dbwrappers/mysqldataset.h b/xbmc/dbwrappers/mysqldataset.h
index c3072acb1f8a..65949b013787 100644
--- a/xbmc/dbwrappers/mysqldataset.h
+++ b/xbmc/dbwrappers/mysqldataset.h
@@ -22,7 +22,11 @@
#include <stdio.h>
#include "dataset.h"
+#ifdef HAS_MYSQL
#include "mysql/mysql.h"
+#elif defined(HAS_MARIADB)
+#include <mariadb/mysql.h>
+#endif
namespace dbiplus {
/***************** Class MysqlDatabase definition ******************

View File

@ -0,0 +1,349 @@
From ec9e4d1fe085d585b6107fb0bb27645506b540f3 Mon Sep 17 00:00:00 2001
From: Alex Deryskyba <alex@wetek.com>
Date: Thu, 15 Feb 2018 21:48:16 +0200
Subject: [PATCH] amlcodec: cleanup and simplify 3D handling code
---
.../cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp | 178 ++++-----------------
xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.h | 7 +-
xbmc/utils/AMLUtils.cpp | 20 ---
xbmc/utils/AMLUtils.h | 1 -
4 files changed, 30 insertions(+), 176 deletions(-)
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
index d83fbda65bd4..d8a14fed1a25 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
@@ -55,8 +55,7 @@
// amcodec include
extern "C" {
-#include <codec.h>
-#include <amports/amstream.h>
+#include <amcodec/codec.h>
} // extern "C"
CEvent g_aml_sync_event;
@@ -346,44 +345,6 @@ typedef struct vframe_states
int buf_avail_num;
} vframe_states_t;
-static int aml_ioctl_get(CODEC_HANDLE h, int subcmd, unsigned long paramter)
-{
- struct am_ioctl_parm parm;
- memset(&parm, 0, sizeof(parm));
- parm.cmd = subcmd;
- parm.data_32 = *(unsigned int *)paramter;
- if (ioctl(h, AMSTREAM_IOC_GET, (unsigned long)&parm) < 0)
- {
- CLog::Log(LOGERROR, "aml_ioctl_get failed: subcmd=%x, errno=%d", subcmd, errno);
- return -1;
- }
- *(unsigned int *)paramter = parm.data_32;
- return 0;
-}
-
-
-#ifndef AMSTREAM_IOC_MAGIC
-#define AMSTREAM_IOC_MAGIC 'S'
-#endif
-
-#ifndef AMSTREAM_IOC_VF_STATUS
-#define AMSTREAM_IOC_VF_STATUS _IOR(AMSTREAM_IOC_MAGIC, 0x60, unsigned long)
-#endif
-
-#ifndef AMSTREAM_IOC_GET_3D_TYPE
-#define AMSTREAM_IOC_GET_3D_TYPE _IOW((AMSTREAM_IOC_MAGIC), 0x3d, unsigned int)
-#endif
-
-
-enum
-{
- VPP_3D_MODE_NULL = 0,
- VPP_3D_MODE_LR,
- VPP_3D_MODE_TB,
- VPP_3D_MODE_LA,
- VPP_3D_MODE_FA
-};
-
/*************************************************************************/
/*************************************************************************/
void dumpfile_open(am_private_t *para)
@@ -2264,53 +2225,21 @@ void CAMLCodec::SetVideoSaturation(const int saturation)
SysfsUtils::SetInt("/sys/class/video/saturation", saturation);
}
-bool CAMLCodec::SetVideo3dMode(const int mode3d)
-{
- bool result = true;
- if (SysfsUtils::Has("/sys/class/ppmgr/ppmgr_3d_mode"))
- {
- CLog::Log(LOGDEBUG, "CAMLCodec::SetVideo3dMode:mode3d(0x%x)", mode3d);
- SysfsUtils::SetInt("/sys/class/ppmgr/ppmgr_3d_mode", mode3d);
- }
- else
- {
- CLog::Log(LOGINFO, "CAMLCodec::SetVideo3dMode: ppmgr_3d support not found in kernel.");
- result = false;
- }
- return result;
-}
-
-std::string CAMLCodec::GetStereoMode()
+std::string CAMLCodec::GetVideoStereoMode()
{
std::string stereoMode;
- //Get Decoder Stereo mode
- int decoder_sm(VPP_3D_MODE_NULL);
- aml_ioctl_get(am_private->vcodec.handle, AMSTREAM_IOC_GET_3D_TYPE, (unsigned long)&decoder_sm);
-
- switch (decoder_sm)
+ switch (m_processInfo.GetVideoSettings().m_StereoMode)
{
- case VPP_3D_MODE_LR:
+ case RENDER_STEREO_MODE_SPLIT_VERTICAL:
stereoMode = "left_right";
break;
- case VPP_3D_MODE_TB:
+ case RENDER_STEREO_MODE_SPLIT_HORIZONTAL:
stereoMode = "top_bottom";
break;
- case VPP_3D_MODE_LA:
- case VPP_3D_MODE_FA:
default:
- switch(m_processInfo.GetVideoSettings().m_StereoMode)
- {
- case RENDER_STEREO_MODE_SPLIT_VERTICAL:
- stereoMode = "left_right";
- break;
- case RENDER_STEREO_MODE_SPLIT_HORIZONTAL:
- stereoMode = "top_bottom";
- break;
- default:
- stereoMode = m_hints.stereo_mode;
- break;
- }
+ stereoMode = m_hints.stereo_mode;
+ break;
}
if (m_processInfo.GetVideoSettings().m_StereoInvert)
@@ -2320,6 +2249,7 @@ std::string CAMLCodec::GetStereoMode()
else if (stereoMode == "left_right")
stereoMode = "right_left";
}
+
return stereoMode;
}
@@ -2359,20 +2289,20 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
update = true;
}
- // video stereo mode/view.
- RENDER_STEREO_MODE stereo_mode = g_graphicsContext.GetStereoMode();
- if (m_stereo_mode != stereo_mode)
+ // GUI stereo mode/view.
+ RENDER_STEREO_MODE guiStereoMode = g_graphicsContext.GetStereoMode();
+ if (m_guiStereoMode != guiStereoMode)
{
- m_stereo_mode = stereo_mode;
+ m_guiStereoMode = guiStereoMode;
update = true;
}
- RENDER_STEREO_VIEW stereo_view = g_graphicsContext.GetStereoView();
- if (m_stereo_view != stereo_view)
+ RENDER_STEREO_VIEW guiStereoView = g_graphicsContext.GetStereoView();
+ if (m_guiStereoView != guiStereoView)
{
// left/right/top/bottom eye,
// this might change every other frame.
// we do not care but just track it.
- m_stereo_view = stereo_view;
+ m_guiStereoView = guiStereoView;
}
// dest_rect
@@ -2424,9 +2354,9 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
{
float xscale = display.Width() / gui.Width();
float yscale = display.Height() / gui.Height();
- if (m_stereo_mode == RENDER_STEREO_MODE_SPLIT_VERTICAL)
+ if (m_guiStereoMode == RENDER_STEREO_MODE_SPLIT_VERTICAL)
xscale /= 2.0;
- else if (m_stereo_mode == RENDER_STEREO_MODE_SPLIT_HORIZONTAL)
+ else if (m_guiStereoMode == RENDER_STEREO_MODE_SPLIT_HORIZONTAL)
yscale /= 2.0;
dst_rect.x1 *= xscale;
dst_rect.x2 *= xscale;
@@ -2434,75 +2364,21 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
dst_rect.y2 *= yscale;
}
- if (m_stereo_mode == RENDER_STEREO_MODE_MONO)
+ if (m_guiStereoMode == RENDER_STEREO_MODE_MONO)
{
- std::string mode = GetStereoMode();
- if (mode == "left_right")
- {
- if (!SetVideo3dMode(MODE_3D_TO_2D_L))
- {
- // fall back to software scaling if no hw support
- // was found
- dst_rect.x2 *= 2.0;
- }
- }
- else if (mode == "right_left")
- {
- if (!SetVideo3dMode(MODE_3D_TO_2D_R))
- {
- // fall back to software scaling if no hw support
- // was found
- dst_rect.x2 *= 2.0;
- }
- }
- else if (mode == "top_bottom")
- {
- if (!SetVideo3dMode(MODE_3D_TO_2D_T))
- {
- // fall back to software scaling if no hw support
- // was found
- dst_rect.y2 *= 2.0;
- }
- }
- else if (mode == "bottom_top")
- {
- if (!SetVideo3dMode(MODE_3D_TO_2D_B))
- {
- // fall back to software scaling if no hw support
- // was found
- dst_rect.y2 *= 2.0;
- }
- }
- else
- SetVideo3dMode(MODE_3D_DISABLE);
+ std::string videoStereoMode = GetVideoStereoMode();
+ if (videoStereoMode == "left_right" || videoStereoMode == "righ_left")
+ dst_rect.x2 *= 2.0;
+ else if (videoStereoMode == "top_bottom" || videoStereoMode == "bottom_top")
+ dst_rect.y2 *= 2.0;
}
- else if (m_stereo_mode == RENDER_STEREO_MODE_SPLIT_VERTICAL)
+ else if (m_guiStereoMode == RENDER_STEREO_MODE_SPLIT_VERTICAL)
{
dst_rect.x2 *= 2.0;
- SetVideo3dMode(MODE_3D_DISABLE);
}
- else if (m_stereo_mode == RENDER_STEREO_MODE_SPLIT_HORIZONTAL)
+ else if (m_guiStereoMode == RENDER_STEREO_MODE_SPLIT_HORIZONTAL)
{
dst_rect.y2 *= 2.0;
- SetVideo3dMode(MODE_3D_DISABLE);
- }
- else if (m_stereo_mode == RENDER_STEREO_MODE_INTERLACED)
- {
- std::string mode = GetStereoMode();
- if (mode == "left_right")
- SetVideo3dMode(MODE_3D_LR);
- else if (mode == "right_left")
- SetVideo3dMode(MODE_3D_LR_SWITCH);
- else if (mode == "row_interleaved_lr")
- SetVideo3dMode(MODE_3D_LR);
- else if (mode == "row_interleaved_rl")
- SetVideo3dMode(MODE_3D_LR_SWITCH);
- else
- SetVideo3dMode(MODE_3D_DISABLE);
- }
- else
- {
- SetVideo3dMode(MODE_3D_DISABLE);
}
#if 1
@@ -2522,8 +2398,8 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:gui(%s)", s_gui.c_str());
CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:m_dst_rect(%s)", s_m_dst_rect.c_str());
CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:dst_rect(%s)", s_dst_rect.c_str());
- CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:m_stereo_mode(%d)", m_stereo_mode);
- CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:m_stereo_view(%d)", m_stereo_view);
+ CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:m_guiStereoMode(%d)", m_guiStereoMode);
+ CLog::Log(LOGDEBUG, "CAMLCodec::SetVideoRect:m_guiStereoView(%d)", m_guiStereoView);
#endif
// goofy 0/1 based difference in aml axis coordinates.
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.h b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.h
index 378c237c3b38..fdb1b63fffe1 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.h
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.h
@@ -71,8 +71,7 @@ class CAMLCodec
void SetVideoContrast(const int contrast);
void SetVideoBrightness(const int brightness);
void SetVideoSaturation(const int saturation);
- bool SetVideo3dMode(const int mode3d);
- std::string GetStereoMode();
+ std::string GetVideoStereoMode();
bool OpenAmlVideo(const CDVDStreamInfo &hints);
void CloseAmlVideo();
std::string GetVfmMap(const std::string &name);
@@ -96,8 +95,8 @@ class CAMLCodec
CRect m_display_rect;
int m_view_mode = -1;
- RENDER_STEREO_MODE m_stereo_mode = RENDER_STEREO_MODE_OFF;
- RENDER_STEREO_VIEW m_stereo_view = RENDER_STEREO_VIEW_OFF;
+ RENDER_STEREO_MODE m_guiStereoMode = RENDER_STEREO_MODE_OFF;
+ RENDER_STEREO_VIEW m_guiStereoView = RENDER_STEREO_VIEW_OFF;
float m_zoom = -1.0f;
int m_contrast = -1;
int m_brightness = -1;
diff --git a/xbmc/utils/AMLUtils.cpp b/xbmc/utils/AMLUtils.cpp
index 5666236e93a5..9ba833838ff4 100644
--- a/xbmc/utils/AMLUtils.cpp
+++ b/xbmc/utils/AMLUtils.cpp
@@ -54,22 +54,6 @@ bool aml_present()
return has_aml == 1;
}
-bool aml_hw3d_present()
-{
- static int has_hw3d = -1;
- if (has_hw3d == -1)
- {
- if (SysfsUtils::Has("/sys/class/ppmgr/ppmgr_3d_mode") ||
- SysfsUtils::Has("/sys/class/amhdmitx/amhdmitx0/config"))
- has_hw3d = 1;
- else
- has_hw3d = 0;
- if (has_hw3d)
- CLog::Log(LOGNOTICE, "AML 3D support detected");
- }
- return has_hw3d == 1;
-}
-
bool aml_wired_present()
{
static int has_wired = -1;
@@ -138,10 +122,6 @@ bool aml_permissions()
{
CLog::Log(LOGERROR, "AML: no rw on /sys/class/audiodsp/digital_raw");
}
- if (!SysfsUtils::HasRW("/sys/class/ppmgr/ppmgr_3d_mode"))
- {
- CLog::Log(LOGERROR, "AML: no rw on /sys/class/ppmgr/ppmgr_3d_mode");
- }
if (!SysfsUtils::HasRW("/sys/class/amhdmitx/amhdmitx0/config"))
{
CLog::Log(LOGERROR, "AML: no rw on /sys/class/amhdmitx/amhdmitx0/config");
diff --git a/xbmc/utils/AMLUtils.h b/xbmc/utils/AMLUtils.h
index a012d1b0aedc..1fc7dab3e3b3 100644
--- a/xbmc/utils/AMLUtils.h
+++ b/xbmc/utils/AMLUtils.h
@@ -54,7 +54,6 @@ enum AML_SUPPORT_H264_4K2K
bool aml_present();
bool aml_permissions();
-bool aml_hw3d_present();
bool aml_wired_present();
bool aml_support_hevc();
bool aml_support_hevc_4k2k();

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="libdvdcss"
PKG_VERSION="2f12236"
PKG_SHA256="b6eb2d929ff56cb051152c32010afc5e7cf5fe8c5ae32dca412a2b46b6b57e34"
PKG_VERSION="8f5dba3"
PKG_SHA256="669868984d1cac32e85ea7e2e669b22b960354e3078073b9176d857844fedc3c"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/libdvdcss"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="libdvdnav"
PKG_VERSION="43b5f81"
PKG_SHA256="8e3f0563e16df898fe115e1723e3f78dbc953f6e9cf4f04568add215371d9ed2"
PKG_VERSION="6501b70"
PKG_SHA256="4004342489f21ce1d67ef98e95669dbd5c6d3dde1dcdf6ce97358155dc16f6f9"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/libdvdnav"

View File

@ -17,8 +17,8 @@
################################################################################
PKG_NAME="libdvdread"
PKG_VERSION="17d99db"
PKG_SHA256="e7179b2054163652596a56301c9f025515cb08c6d6310b42b897c3ad11c0199b"
PKG_VERSION="86f9500"
PKG_SHA256="a73888c81d14443d9f09fa02f5e5ecc08d9ab09639789fab810557069d335f34"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/xbmc/libdvdread"