mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
commit
1090f0d882
@ -2,8 +2,8 @@
|
|||||||
LIBREELEC_VERSION="devel"
|
LIBREELEC_VERSION="devel"
|
||||||
|
|
||||||
# OS_VERSION: OS Version
|
# OS_VERSION: OS Version
|
||||||
OS_VERSION="7.0"
|
OS_VERSION="8.0"
|
||||||
|
|
||||||
# ADDON_VERSION: Addon version
|
# ADDON_VERSION: Addon version
|
||||||
ADDON_VERSION="7.0"
|
ADDON_VERSION="8.0"
|
||||||
|
|
||||||
|
@ -20,13 +20,13 @@
|
|||||||
# Mediacenter to use (kodi / no)
|
# Mediacenter to use (kodi / no)
|
||||||
MEDIACENTER="kodi"
|
MEDIACENTER="kodi"
|
||||||
|
|
||||||
# Skins to install (Confluence)
|
# Skins to install (Estuary)
|
||||||
# Space separated list is supported,
|
# Space separated list is supported,
|
||||||
# e.g. SKINS="Confluence"
|
# e.g. SKINS="Estuary"
|
||||||
SKINS="Confluence"
|
SKINS="Estuary"
|
||||||
|
|
||||||
# Default Skin (Confluence)
|
# Default Skin (Estuary)
|
||||||
SKIN_DEFAULT="Confluence"
|
SKIN_DEFAULT="Estuary"
|
||||||
|
|
||||||
# install extra subtitle Fonts for KODI (yes / no)
|
# install extra subtitle Fonts for KODI (yes / no)
|
||||||
KODI_EXTRA_FONTS="yes"
|
KODI_EXTRA_FONTS="yes"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="asplib"
|
PKG_NAME="asplib"
|
||||||
PKG_VERSION="2fac1bf"
|
PKG_VERSION="da66f51"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -1,20 +1,21 @@
|
|||||||
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
||||||
--- a/CMakeLists.txt 2016-01-12 22:24:43.000000000 +0100
|
--- a/CMakeLists.txt 2016-03-09 15:16:52.000000000 -0800
|
||||||
+++ b/CMakeLists.txt 2016-01-12 22:47:16.624139358 +0100
|
+++ b/CMakeLists.txt 2016-03-30 22:45:01.502582518 -0700
|
||||||
@@ -1,64 +1,17 @@
|
@@ -1,46 +1,15 @@
|
||||||
project(asplib)
|
project(asplib)
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.6)
|
cmake_minimum_required(VERSION 2.6)
|
||||||
-enable_language(CXX)
|
-enable_language(CXX)
|
||||||
-
|
|
||||||
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
|
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
|
||||||
-
|
-
|
||||||
-include(UseMultiArch.cmake)
|
-include(cmake/UseMultiArch.cmake)
|
||||||
|
include(cmake/asplib_helpers.cmake)
|
||||||
|
|
||||||
set(asplib_NAME asplib)
|
set(asplib_NAME asplib)
|
||||||
set(asplib_DESCRIPTION "asplib (Achim's Signal Processing LIBrary), is a small and lightweight C++ library for digital signal processing.")
|
set(asplib_DESCRIPTION "asplib (Achim's Signal Processing LIBrary), is a small and lightweight C++ library for digital signal processing.")
|
||||||
-set(asplib_VERSION_MAJOR ${APP_VERSION_MAJOR})
|
-set(asplib_VERSION_MAJOR 0)
|
||||||
-set(asplib_VERSION_MINOR ${APP_VERSION_MINOR})
|
-set(asplib_VERSION_MINOR 2)
|
||||||
-set(asplib_VERSION_PATCH 0)
|
-set(asplib_VERSION_PATCH 0)
|
||||||
-
|
-
|
||||||
-if(NOT WIN32)
|
-if(NOT WIN32)
|
||||||
@ -27,111 +28,65 @@ diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
|||||||
-
|
-
|
||||||
-if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
-if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||||
- set(CMAKE_CXX_FLAGS "-DTARGET_WINDOWS")
|
- set(CMAKE_CXX_FLAGS "-DTARGET_WINDOWS")
|
||||||
|
- # Enable the orginization of projects with folders
|
||||||
|
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
-endif()
|
-endif()
|
||||||
-
|
-
|
||||||
-#set(asplib_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi")
|
|
||||||
-#set(asplib_LIBRARIES ${CMAKE_THREAD_LIBS_INIT} ${TINYXML_LIBRARIES})
|
|
||||||
-
|
|
||||||
-if (NOT WIN32)
|
-if (NOT WIN32)
|
||||||
- add_definitions(-fPIC -g -O2)
|
- add_definitions(-fPIC -g -O2)
|
||||||
-endif()
|
-endif()
|
||||||
-
|
-
|
||||||
-include_directories(${PROJECT_SOURCE_DIR}
|
-set(asplib_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}
|
||||||
- ${PROJECT_SOURCE_DIR}/Biquads)
|
- ${PROJECT_SOURCE_DIR}/Biquads
|
||||||
|
- ${CMAKE_INSTALL_PREFIX}/include/asplib)
|
||||||
|
-
|
||||||
|
-include_directories(${asplib_INCLUDE_DIRS})
|
||||||
|
|
||||||
-set(SOURCES asplib_utils/computeDeviceInfo/cpuInfo.cpp
|
set(SOURCES Biquads/Biquad_Native/asplib_Biquad_Native.cpp
|
||||||
- Biquads/Biquad_Native/asplib_Biquad_Native.cpp
|
|
||||||
+set(SOURCES Biquads/Biquad_Native/asplib_Biquad_Native.cpp
|
|
||||||
Biquads/apslib_BiquadFactory.cpp)
|
Biquads/apslib_BiquadFactory.cpp)
|
||||||
|
-
|
||||||
|
+
|
||||||
|
set(HEADERS interfaces/asplib_IBaseBiquad.h
|
||||||
|
Biquads/apslib_BiquadFactory.h
|
||||||
|
Biquads/Biquad_Native/asplib_Biquad_Native.h
|
||||||
|
@@ -54,35 +23,13 @@
|
||||||
|
asplib_utils/os/linux/linux_definitions.h
|
||||||
|
asplib_utils/os/raspberry_pi/raspberry_pi_definitions.h
|
||||||
|
asplib_utils/os/windows/windows_definitions.h)
|
||||||
|
-
|
||||||
|
-asplib_source_group("${SOURCES}")
|
||||||
|
-asplib_source_group("${HEADERS}")
|
||||||
|
|
||||||
-set(HEADERS interfaces/asplib_IBaseBiquad.h
|
-add_library(asplib ${SOURCES} ${HEADERS})
|
||||||
- asplib_utils/constants_typedefs/asplib_constants.h
|
|
||||||
- asplib_utils/constants_typedefs/asplib_typedefs.h
|
|
||||||
- asplib_utils/os/asplib_base_os.h
|
|
||||||
- asplib_utils/os/windows/windows_definitions.h
|
|
||||||
- asplib_utils/os/linux/linux_definitions.h
|
|
||||||
- asplib_utils/computeDeviceInfo/cpuInfo_types.h
|
|
||||||
- asplib_utils/computeDeviceInfo/cpuInfo.h
|
|
||||||
- Biquads/apslib_BiquadFactory.h
|
|
||||||
- Biquads/Biquad_Native/asplib_Biquad_Native.h)
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-#include_directories(${TINYXML_INCLUDE_DIR} ${KODI_INCLUDE_DIR})
|
|
||||||
-
|
|
||||||
-add_library(asplib ${SOURCES} ${PLAT_SOURCES})
|
|
||||||
-target_link_libraries(asplib ${asplib_LIBRARIES})
|
-target_link_libraries(asplib ${asplib_LIBRARIES})
|
||||||
-#set_target_properties(asplib PROPERTIES VERSION ${asplib_VERSION_MAJOR}.${asplib_VERSION_MINOR}.${asplib_VERSION_PATCH}
|
-set_target_properties(asplib PROPERTIES VERSION ${asplib_VERSION_MAJOR}.${asplib_VERSION_MINOR}.${asplib_VERSION_PATCH}
|
||||||
-# SOVERSION ${asplib_VERSION_MAJOR}.0)
|
- SOVERSION ${asplib_VERSION_MAJOR}.0)
|
||||||
+add_library(asplib STATIC ${SOURCES})
|
+asplib_install_with_folder("${HEADERS}" ${CMAKE_INSTALL_PREFIX}/include/asplib)
|
||||||
|
|
||||||
|
+add_library(asplib STATIC ${SOURCES} ${HEADERS})
|
||||||
|
|
||||||
-install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
-install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
+include_directories(${PROJECT_SOURCE_DIR}
|
+include_directories(${PROJECT_SOURCE_DIR}
|
||||||
+ ${PROJECT_SOURCE_DIR}/Biquads)
|
+ ${PROJECT_SOURCE_DIR}/Biquads)
|
||||||
|
|
||||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/interfaces/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/interfaces
|
+install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||||
FILES_MATCHING PATTERN "*.h")
|
asplib_install_with_folder("${HEADERS}" ${CMAKE_INSTALL_PREFIX}/include/asplib)
|
||||||
@@ -66,8 +19,6 @@
|
|
||||||
FILES_MATCHING PATTERN "*.h")
|
|
||||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/
|
|
||||||
FILES_MATCHING PATTERN "*.h")
|
|
||||||
-install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/windows/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/windows/
|
|
||||||
- FILES_MATCHING PATTERN "*.h")
|
|
||||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/linux/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/linux/
|
|
||||||
FILES_MATCHING PATTERN "*.h")
|
|
||||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/computeDeviceInfo/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/computeDeviceInfo/
|
|
||||||
@@ -77,54 +28,4 @@
|
|
||||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/Biquads/Biquad_Native/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/Biquads/Biquad_Native/
|
|
||||||
FILES_MATCHING PATTERN "*.h")
|
|
||||||
|
|
||||||
-
|
|
||||||
-# install(FILES interfaces/asplib_IBaseBiquad.h
|
|
||||||
- # asplib_utils/constants_typedefs/asplib_constants.h
|
|
||||||
- # asplib_utils/constants_typedefs/asplib_typedefs.h
|
|
||||||
-
|
|
||||||
- # DESTINATION include/asplib/asplib_utils/constants_typedefs/)
|
|
||||||
-
|
|
||||||
- # asplib_utils/os/asplib_base_os.h
|
|
||||||
- # asplib_utils/os/windows/windows_definitions.h
|
|
||||||
- # asplib_utils/os/linux/linux_definitions.h
|
|
||||||
- # utils/computeDeviceInfo/cpuInfo_types.h
|
|
||||||
- # utils/computeDeviceInfo/cpuInfo.h
|
|
||||||
- # Biquads/apslib_BiquadFactory.h
|
|
||||||
- # Biquads/Biquad_Native/asplib_Biquad_Native.h
|
|
||||||
- # )
|
|
||||||
-
|
|
||||||
-# install(FILES interfaces/asplib_IBaseBiquad.h
|
|
||||||
- # DESTINATION include/asplib/interfaces)
|
|
||||||
-# install(FILES constants_typedefs/asplib_constants.h
|
|
||||||
- # constants_typedefs/asplib_typedefs.h
|
|
||||||
- # DESTINATION include/asplib/constants_typedefs)
|
|
||||||
-# install(FILES utils/computeDeviceInfo/cpuInfo_types.h
|
|
||||||
- # utils/computeDeviceInfo/cpuInfo.h
|
|
||||||
- # DESTINATION include/asplib/utils)
|
|
||||||
-# install(FILES Biquads/apslib_BiquadFactory.h
|
|
||||||
- # Biquads/Biquad_Native/asplib_Biquad_Native.h
|
|
||||||
- # DESTINATION include/asplib/Biquads)
|
|
||||||
-
|
-
|
||||||
-#install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib)
|
-IF(NOT WIN32)
|
||||||
-
|
|
||||||
-#IF(NOT WIN32)
|
|
||||||
- # Pkgconfig
|
- # Pkgconfig
|
||||||
- #include(PkgConfigHandler.cmake)
|
- include(cmake/PkgConfigHandler.cmake)
|
||||||
- #configure_pc_file(kodiutilities kodiutilities.pc.in
|
- configure_pc_file(asplib asplib.pc.in
|
||||||
- # kodiutilities.pc
|
- asplib.pc
|
||||||
- # ${CMAKE_INSTALL_PREFIX}
|
- ${CMAKE_INSTALL_PREFIX}
|
||||||
- # ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
- ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||||
- # ${CMAKE_INSTALL_PREFIX}/include)
|
- ${CMAKE_INSTALL_PREFIX}/include)
|
||||||
-
|
-
|
||||||
-# install(FILES ${CMAKE_BINARY_DIR}/kodiutilities.pc
|
- install(FILES ${CMAKE_BINARY_DIR}/asplib.pc
|
||||||
-# DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/pkgconfig)
|
- DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/pkgconfig)
|
||||||
-#ENDIF(NOT WIN32)
|
-ENDIF(NOT WIN32)
|
||||||
-
|
-
|
||||||
-# config mode
|
-# config mode
|
||||||
-#configure_file (kodiutilities-config.cmake.in
|
-configure_file(asplib-config.cmake.in
|
||||||
-# kodiutilities-config.cmake @ONLY)
|
- asplib-config.cmake @ONLY)
|
||||||
-#install(FILES ${CMAKE_BINARY_DIR}/kodiutilities-config.cmake
|
-install(FILES ${CMAKE_BINARY_DIR}/asplib-config.cmake
|
||||||
-# DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/kodiutilities)
|
- DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/asplib)
|
||||||
-
|
|
||||||
-# Quell warnings with in-tree builds
|
|
||||||
-#set(KODI_BUILD_DIR ${KODI_BUILD_DIR})
|
|
||||||
+install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
|
||||||
|
@ -17,14 +17,13 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="libcec"
|
PKG_NAME="libcec"
|
||||||
PKG_VERSION="3.0.1"
|
PKG_VERSION="6d68d21"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="http://libcec.pulse-eight.com/"
|
PKG_SITE="http://libcec.pulse-eight.com/"
|
||||||
PKG_URL="https://github.com/Pulse-Eight/libcec/archive/$PKG_NAME-$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/Pulse-Eight/libcec/archive/$PKG_VERSION.tar.gz"
|
||||||
PKG_SOURCE_DIR="$PKG_NAME-$PKG_NAME-$PKG_VERSION"
|
PKG_DEPENDS_TARGET="toolchain systemd lockdev p8-platform"
|
||||||
PKG_DEPENDS_TARGET="toolchain systemd lockdev platform"
|
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
PKG_SECTION="system"
|
PKG_SECTION="system"
|
||||||
PKG_SHORTDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor"
|
PKG_SHORTDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor"
|
||||||
|
@ -820,13 +820,13 @@ index 828cdb2..8b47795 100644
|
|||||||
--- a/src/libcec/cmake/CheckPlatformSupport.cmake
|
--- a/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||||
+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
|
+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||||
@@ -8,6 +8,7 @@
|
@@ -8,6 +8,7 @@
|
||||||
# HAVE_RANDR 1 if xrandr is supported
|
# HAVE_RANDR 1 if xrandr is supported
|
||||||
# HAVE_LIBUDEV 1 if udev is supported
|
# HAVE_LIBUDEV 1 if udev is supported
|
||||||
# HAVE_RPI_API 1 if Raspberry Pi is supported
|
# HAVE_RPI_API 1 if Raspberry Pi is supported
|
||||||
+# HAVE_IMX_API 1 if i.MX is supported
|
+# HAVE_IMX_API 1 if i.MX is supported
|
||||||
# HAVE_TDA995X_API 1 if TDA995X is supported
|
# HAVE_TDA995X_API 1 if TDA995X is supported
|
||||||
# HAVE_EXYNOS_API 1 if Exynos is supported
|
# HAVE_EXYNOS_API 1 if Exynos is supported
|
||||||
# HAVE_P8_USB_DETECT 1 if Pulse-Eight devices can be auto-detected
|
# HAVE_P8_USB_DETECT 1 if Pulse-Eight devices can be auto-detected
|
||||||
@@ -87,6 +88,15 @@ else()
|
@@ -87,6 +88,15 @@ else()
|
||||||
list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_RPI})
|
list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_RPI})
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,859 +0,0 @@
|
|||||||
From ec982e9800ae312972d306b67779215a2add6cde Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Fri, 24 Oct 2014 13:45:21 +0100
|
|
||||||
Subject: [PATCH 1/6] Make released key polling wait for exact time until key
|
|
||||||
gets released
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libcec/CECClient.cpp | 16 ++++++++++++++--
|
|
||||||
src/libcec/CECClient.h | 2 +-
|
|
||||||
src/libcec/CECProcessor.cpp | 8 +++++---
|
|
||||||
src/libcec/LibCEC.cpp | 10 ++++++++--
|
|
||||||
src/libcec/LibCEC.h | 4 +++-
|
|
||||||
5 files changed, 31 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libcec/CECClient.cpp b/src/libcec/CECClient.cpp
|
|
||||||
index 35c2d3e..e307c0e 100644
|
|
||||||
--- a/src/libcec/CECClient.cpp
|
|
||||||
+++ b/src/libcec/CECClient.cpp
|
|
||||||
@@ -1067,7 +1067,7 @@ void CCECClient::SetCurrentButton(const cec_user_control_code iButtonCode)
|
|
||||||
AddKey(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
-void CCECClient::CheckKeypressTimeout(void)
|
|
||||||
+uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
{
|
|
||||||
cec_keypress key;
|
|
||||||
|
|
||||||
@@ -1091,12 +1091,24 @@ void CCECClient::CheckKeypressTimeout(void)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- return;
|
|
||||||
+ // time when this keypress will be released and we'd like to be called again
|
|
||||||
+ unsigned int timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
+ if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton == comboKey && iTimeoutMs > 0)
|
|
||||||
+ timeout = iTimeoutMs - (iNow - m_buttontime) + 1;
|
|
||||||
+ else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton != comboKey)
|
|
||||||
+ timeout = CEC_BUTTON_TIMEOUT - (iNow - m_buttontime) + 1;
|
|
||||||
+ if (timeout > CEC_PROCESSOR_SIGNAL_WAIT_TIME)
|
|
||||||
+ {
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "Unexpected timeout: %d (%.3f %.3f %.3f) k:%02x", timeout, iNow*1e-3, m_buttontime*1e-3, CEC_BUTTON_TIMEOUT*1e-3, m_iCurrentButton);
|
|
||||||
+ timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
+ }
|
|
||||||
+ return timeout;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "key auto-released: %s (%1x)", ToString(key.keycode), key.keycode);
|
|
||||||
QueueAddKey(key);
|
|
||||||
+ return CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CCECClient::EnableCallbacks(void *cbParam, ICECCallbacks *callbacks)
|
|
||||||
diff --git a/src/libcec/CECClient.h b/src/libcec/CECClient.h
|
|
||||||
index 12f8a3b..c9ce5e3 100644
|
|
||||||
--- a/src/libcec/CECClient.h
|
|
||||||
+++ b/src/libcec/CECClient.h
|
|
||||||
@@ -272,7 +272,7 @@ namespace CEC
|
|
||||||
virtual void AddKey(bool bSendComboKey = false);
|
|
||||||
virtual void AddKey(const cec_keypress &key);
|
|
||||||
virtual void SetCurrentButton(const cec_user_control_code iButtonCode);
|
|
||||||
- virtual void CheckKeypressTimeout(void);
|
|
||||||
+ virtual uint16_t CheckKeypressTimeout(void);
|
|
||||||
virtual void SourceActivated(const cec_logical_address logicalAddress);
|
|
||||||
virtual void SourceDeactivated(const cec_logical_address logicalAddress);
|
|
||||||
|
|
||||||
diff --git a/src/libcec/CECProcessor.cpp b/src/libcec/CECProcessor.cpp
|
|
||||||
index 99f71aa..604b950 100644
|
|
||||||
--- a/src/libcec/CECProcessor.cpp
|
|
||||||
+++ b/src/libcec/CECProcessor.cpp
|
|
||||||
@@ -52,7 +52,6 @@
|
|
||||||
using namespace CEC;
|
|
||||||
using namespace PLATFORM;
|
|
||||||
|
|
||||||
-#define CEC_PROCESSOR_SIGNAL_WAIT_TIME 1000
|
|
||||||
#define ACTIVE_SOURCE_CHECK_INTERVAL 500
|
|
||||||
#define TV_PRESENT_CHECK_INTERVAL 30000
|
|
||||||
|
|
||||||
@@ -260,6 +259,7 @@ bool CCECProcessor::OnCommandReceived(const cec_command &command)
|
|
||||||
|
|
||||||
void *CCECProcessor::Process(void)
|
|
||||||
{
|
|
||||||
+ uint16_t timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
m_libcec->AddLog(CEC_LOG_DEBUG, "processor thread started");
|
|
||||||
|
|
||||||
if (!m_connCheck)
|
|
||||||
@@ -274,13 +274,13 @@ void *CCECProcessor::Process(void)
|
|
||||||
while (!IsStopped() && m_communication->IsOpen())
|
|
||||||
{
|
|
||||||
// wait for a new incoming command, and process it
|
|
||||||
- if (m_inBuffer.Pop(command, CEC_PROCESSOR_SIGNAL_WAIT_TIME))
|
|
||||||
+ if (m_inBuffer.Pop(command, timeout))
|
|
||||||
ProcessCommand(command);
|
|
||||||
|
|
||||||
if (CECInitialised() && !IsStopped())
|
|
||||||
{
|
|
||||||
// check clients for keypress timeouts
|
|
||||||
- m_libcec->CheckKeypressTimeout();
|
|
||||||
+ timeout = m_libcec->CheckKeypressTimeout();
|
|
||||||
|
|
||||||
// check if we need to replace handlers
|
|
||||||
ReplaceHandlers();
|
|
||||||
@@ -311,6 +311,8 @@ void *CCECProcessor::Process(void)
|
|
||||||
tvPresentCheck.Init(TV_PRESENT_CHECK_INTERVAL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ else
|
|
||||||
+ timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
diff --git a/src/libcec/LibCEC.cpp b/src/libcec/LibCEC.cpp
|
|
||||||
index af36b79..5ccb8dd 100644
|
|
||||||
--- a/src/libcec/LibCEC.cpp
|
|
||||||
+++ b/src/libcec/LibCEC.cpp
|
|
||||||
@@ -361,11 +361,17 @@ bool CLibCEC::IsValidPhysicalAddress(uint16_t iPhysicalAddress)
|
|
||||||
iPhysicalAddress <= CEC_MAX_PHYSICAL_ADDRESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
-void CLibCEC::CheckKeypressTimeout(void)
|
|
||||||
+uint16_t CLibCEC::CheckKeypressTimeout(void)
|
|
||||||
{
|
|
||||||
+ uint16_t timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
// check all clients
|
|
||||||
for (std::vector<CECClientPtr>::iterator it = m_clients.begin(); it != m_clients.end(); it++)
|
|
||||||
- (*it)->CheckKeypressTimeout();
|
|
||||||
+ {
|
|
||||||
+ uint16_t t = (*it)->CheckKeypressTimeout();
|
|
||||||
+ if (t < timeout)
|
|
||||||
+ timeout = t;
|
|
||||||
+ }
|
|
||||||
+ return timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CLibCEC::AddLog(const cec_log_level level, const char *strFormat, ...)
|
|
||||||
diff --git a/src/libcec/LibCEC.h b/src/libcec/LibCEC.h
|
|
||||||
index 6d9a229..d9d1e7b 100644
|
|
||||||
--- a/src/libcec/LibCEC.h
|
|
||||||
+++ b/src/libcec/LibCEC.h
|
|
||||||
@@ -39,6 +39,8 @@
|
|
||||||
#include "CECTypeUtils.h"
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
+#define CEC_PROCESSOR_SIGNAL_WAIT_TIME 1000
|
|
||||||
+
|
|
||||||
namespace CEC
|
|
||||||
{
|
|
||||||
class CAdapterCommunication;
|
|
||||||
@@ -125,7 +127,7 @@ namespace CEC
|
|
||||||
|
|
||||||
void AddLog(const cec_log_level level, const char *strFormat, ...);
|
|
||||||
void AddCommand(const cec_command &command);
|
|
||||||
- void CheckKeypressTimeout(void);
|
|
||||||
+ uint16_t CheckKeypressTimeout(void);
|
|
||||||
void Alert(const libcec_alert type, const libcec_parameter ¶m);
|
|
||||||
|
|
||||||
static bool IsValidPhysicalAddress(uint16_t iPhysicalAddress);
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
||||||
From 41f0f3ec9ac136da3565c96fd5a7075499f3938d Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Fri, 24 Oct 2014 13:51:34 +0100
|
|
||||||
Subject: [PATCH 2/6] Keep track of time since initial button press and last
|
|
||||||
button update
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libcec/CECClient.cpp | 44 +++++++++++++++++++++++++++-----------------
|
|
||||||
src/libcec/CECClient.h | 3 ++-
|
|
||||||
2 files changed, 29 insertions(+), 18 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libcec/CECClient.cpp b/src/libcec/CECClient.cpp
|
|
||||||
index e307c0e..e7935b9 100644
|
|
||||||
--- a/src/libcec/CECClient.cpp
|
|
||||||
+++ b/src/libcec/CECClient.cpp
|
|
||||||
@@ -54,7 +54,8 @@ CCECClient::CCECClient(CCECProcessor *processor, const libcec_configuration &con
|
|
||||||
m_bInitialised(false),
|
|
||||||
m_bRegistered(false),
|
|
||||||
m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN),
|
|
||||||
- m_buttontime(0),
|
|
||||||
+ m_initialButtontime(0),
|
|
||||||
+ m_updateButtontime(0),
|
|
||||||
m_iPreventForwardingPowerOffCommand(0),
|
|
||||||
m_iLastKeypressTime(0)
|
|
||||||
{
|
|
||||||
@@ -981,9 +982,10 @@ void CCECClient::AddKey(bool bSendComboKey /* = false */)
|
|
||||||
CLockObject lock(m_mutex);
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
{
|
|
||||||
- key.duration = (unsigned int) (GetTimeMs() - m_buttontime);
|
|
||||||
+ unsigned int duration = (unsigned int) (GetTimeMs() - m_updateButtontime);
|
|
||||||
+ key.duration = (unsigned int) (GetTimeMs() - m_initialButtontime);
|
|
||||||
|
|
||||||
- if (key.duration > m_configuration.iComboKeyTimeoutMs ||
|
|
||||||
+ if (duration > m_configuration.iComboKeyTimeoutMs ||
|
|
||||||
m_configuration.iComboKeyTimeoutMs == 0 ||
|
|
||||||
m_iCurrentButton != m_configuration.comboKey ||
|
|
||||||
bSendComboKey)
|
|
||||||
@@ -991,14 +993,15 @@ void CCECClient::AddKey(bool bSendComboKey /* = false */)
|
|
||||||
key.keycode = m_iCurrentButton;
|
|
||||||
|
|
||||||
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
- m_buttontime = 0;
|
|
||||||
+ m_initialButtontime = 0;
|
|
||||||
+ m_updateButtontime = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
{
|
|
||||||
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "key released: %s (%1x)", ToString(key.keycode), key.keycode);
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "key released: %s (%1x) D:%dms", ToString(key.keycode), key.keycode, key.duration);
|
|
||||||
QueueAddKey(key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1012,7 +1015,7 @@ void CCECClient::AddKey(const cec_keypress &key)
|
|
||||||
AddKey();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+ bool isrepeat = false;
|
|
||||||
cec_keypress transmitKey(key);
|
|
||||||
cec_user_control_code comboKey(m_configuration.clientVersion >= LIBCEC_VERSION_TO_UINT(2, 0, 5) ?
|
|
||||||
m_configuration.comboKey : CEC_USER_CONTROL_CODE_STOP);
|
|
||||||
@@ -1035,22 +1038,27 @@ void CCECClient::AddKey(const cec_keypress &key)
|
|
||||||
AddKey(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "key pressed: %s (%1x) current(%lx) duration(%d)", ToString(transmitKey.keycode), transmitKey.keycode, m_iCurrentButton, key.duration);
|
|
||||||
+
|
|
||||||
if (m_iCurrentButton == key.keycode)
|
|
||||||
{
|
|
||||||
- m_buttontime = GetTimeMs();
|
|
||||||
+ m_updateButtontime = GetTimeMs();
|
|
||||||
+ isrepeat = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- AddKey();
|
|
||||||
+ if (m_iCurrentButton != transmitKey.keycode)
|
|
||||||
+ AddKey();
|
|
||||||
if (key.duration == 0)
|
|
||||||
{
|
|
||||||
m_iCurrentButton = transmitKey.keycode;
|
|
||||||
- m_buttontime = m_iCurrentButton == CEC_USER_CONTROL_CODE_UNKNOWN || key.duration > 0 ? 0 : GetTimeMs();
|
|
||||||
+ m_initialButtontime = m_iCurrentButton == CEC_USER_CONTROL_CODE_UNKNOWN || key.duration > 0 ? 0 : GetTimeMs();
|
|
||||||
+ m_updateButtontime = m_initialButtontime;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (key.keycode != comboKey || key.duration > 0)
|
|
||||||
+ if (!isrepeat && (key.keycode != comboKey || key.duration > 0))
|
|
||||||
{
|
|
||||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "key pressed: %s (%1x)", ToString(transmitKey.keycode), transmitKey.keycode);
|
|
||||||
QueueAddKey(transmitKey);
|
|
||||||
@@ -1074,32 +1082,34 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
{
|
|
||||||
CLockObject lock(m_mutex);
|
|
||||||
uint64_t iNow = GetTimeMs();
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s T:%.3f", __FUNCTION__, iNow*1e-3);
|
|
||||||
cec_user_control_code comboKey(m_configuration.clientVersion >= LIBCEC_VERSION_TO_UINT(2, 0, 5) ?
|
|
||||||
m_configuration.comboKey : CEC_USER_CONTROL_CODE_STOP);
|
|
||||||
uint32_t iTimeoutMs(m_configuration.clientVersion >= LIBCEC_VERSION_TO_UINT(2, 0, 5) ?
|
|
||||||
m_configuration.iComboKeyTimeoutMs : CEC_DEFAULT_COMBO_TIMEOUT_MS);
|
|
||||||
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
- ((m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_buttontime > iTimeoutMs) ||
|
|
||||||
- (m_iCurrentButton != comboKey && iNow - m_buttontime > CEC_BUTTON_TIMEOUT)))
|
|
||||||
+ ((m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_updateButtontime > iTimeoutMs) ||
|
|
||||||
+ (m_iCurrentButton != comboKey && iNow - m_updateButtontime > CEC_BUTTON_TIMEOUT)))
|
|
||||||
{
|
|
||||||
- key.duration = (unsigned int) (iNow - m_buttontime);
|
|
||||||
+ key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
key.keycode = m_iCurrentButton;
|
|
||||||
|
|
||||||
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
- m_buttontime = 0;
|
|
||||||
+ m_initialButtontime = 0;
|
|
||||||
+ m_updateButtontime = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// time when this keypress will be released and we'd like to be called again
|
|
||||||
unsigned int timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton == comboKey && iTimeoutMs > 0)
|
|
||||||
- timeout = iTimeoutMs - (iNow - m_buttontime) + 1;
|
|
||||||
+ timeout = iTimeoutMs - (iNow - m_updateButtontime) + 1;
|
|
||||||
else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton != comboKey)
|
|
||||||
- timeout = CEC_BUTTON_TIMEOUT - (iNow - m_buttontime) + 1;
|
|
||||||
+ timeout = CEC_BUTTON_TIMEOUT - (iNow - m_updateButtontime) + 1;
|
|
||||||
if (timeout > CEC_PROCESSOR_SIGNAL_WAIT_TIME)
|
|
||||||
{
|
|
||||||
- LIB_CEC->AddLog(CEC_LOG_ERROR, "Unexpected timeout: %d (%.3f %.3f %.3f) k:%02x", timeout, iNow*1e-3, m_buttontime*1e-3, CEC_BUTTON_TIMEOUT*1e-3, m_iCurrentButton);
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "Unexpected timeout: %d (%.3f %.3f %.3f) k:%02x", timeout, iNow*1e-3, m_updateButtontime*1e-3, CEC_BUTTON_TIMEOUT*1e-3, m_iCurrentButton);
|
|
||||||
timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
}
|
|
||||||
return timeout;
|
|
||||||
diff --git a/src/libcec/CECClient.h b/src/libcec/CECClient.h
|
|
||||||
index c9ce5e3..611c68b 100644
|
|
||||||
--- a/src/libcec/CECClient.h
|
|
||||||
+++ b/src/libcec/CECClient.h
|
|
||||||
@@ -404,7 +404,8 @@ namespace CEC
|
|
||||||
PLATFORM::CMutex m_mutex; /**< mutex for changes to this instance */
|
|
||||||
PLATFORM::CMutex m_cbMutex; /**< mutex that is held when doing anything with callbacks */
|
|
||||||
cec_user_control_code m_iCurrentButton; /**< the control code of the button that's currently held down (if any) */
|
|
||||||
- int64_t m_buttontime; /**< the timestamp when the button was pressed (in seconds since epoch), or 0 if none was pressed. */
|
|
||||||
+ int64_t m_initialButtontime; /**< the timestamp when the button was initially pressed (in seconds since epoch), or 0 if none was pressed. */
|
|
||||||
+ int64_t m_updateButtontime; /**< the timestamp when the button was updated (in seconds since epoch), or 0 if none was pressed. */
|
|
||||||
int64_t m_iPreventForwardingPowerOffCommand; /**< prevent forwarding standby commands until this time */
|
|
||||||
int64_t m_iLastKeypressTime; /**< last time a key press was sent to the client */
|
|
||||||
cec_keypress m_lastKeypress; /**< the last key press that was sent to the client */
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
||||||
From 273ead6980b69eddf98810eb1eb33d94a7d74fce Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Tue, 28 Oct 2014 00:09:18 +0000
|
|
||||||
Subject: [PATCH 3/6] Support repeating button presses with configurable repeat
|
|
||||||
rate
|
|
||||||
|
|
||||||
---
|
|
||||||
include/cectypes.h | 6 ++
|
|
||||||
src/libcec/CECClient.cpp | 100 +++++++++++++++++++----
|
|
||||||
src/libcec/CECClient.h | 6 +-
|
|
||||||
src/libcec/implementations/CECCommandHandler.cpp | 2 +-
|
|
||||||
4 files changed, 96 insertions(+), 18 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/cectypes.h b/include/cectypes.h
|
|
||||||
index acff259..8f098ef 100644
|
|
||||||
--- a/include/cectypes.h
|
|
||||||
+++ b/include/cectypes.h
|
|
||||||
@@ -1493,6 +1493,8 @@ struct libcec_configuration
|
|
||||||
XXX changed meaning in 2.2.0 to not break binary compatibility. next major (3.0) release will fix it in a nicer way */
|
|
||||||
cec_user_control_code comboKey; /*!< key code that initiates combo keys. defaults to CEC_USER_CONTROL_CODE_F1_BLUE. CEC_USER_CONTROL_CODE_UNKNOWN to disable. added in 2.0.5 */
|
|
||||||
uint32_t iComboKeyTimeoutMs; /*!< timeout until the combo key is sent as normal keypress */
|
|
||||||
+ uint32_t iButtonRepeatRateMs; /*!< rate at which buttons autorepeat. 0 means rely on CEC device */
|
|
||||||
+ uint32_t iButtonReleaseDelayMs;/*!< duration after last update until a button is considered released */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
libcec_configuration(void) { Clear(); }
|
|
||||||
@@ -1527,6 +1529,8 @@ struct libcec_configuration
|
|
||||||
cecVersion == other.cecVersion &&
|
|
||||||
adapterType == other.adapterType &&
|
|
||||||
iDoubleTapTimeout50Ms == other.iDoubleTapTimeout50Ms &&
|
|
||||||
+ iButtonRepeatRateMs == other.iButtonRepeatRateMs &&
|
|
||||||
+ iButtonReleaseDelayMs == other.iButtonReleaseDelayMs &&
|
|
||||||
(other.clientVersion <= LIBCEC_VERSION_TO_UINT(2, 0, 4) || comboKey == other.comboKey) &&
|
|
||||||
(other.clientVersion <= LIBCEC_VERSION_TO_UINT(2, 0, 4) || iComboKeyTimeoutMs == other.iComboKeyTimeoutMs) &&
|
|
||||||
(other.clientVersion < LIBCEC_VERSION_TO_UINT(2, 1, 0) || bPowerOnScreensaver == other.bPowerOnScreensaver));
|
|
||||||
@@ -1567,6 +1571,8 @@ struct libcec_configuration
|
|
||||||
iDoubleTapTimeout50Ms = CEC_DOUBLE_TAP_TIMEOUT_50_MS;
|
|
||||||
comboKey = CEC_USER_CONTROL_CODE_STOP;
|
|
||||||
iComboKeyTimeoutMs = CEC_DEFAULT_COMBO_TIMEOUT_MS;
|
|
||||||
+ iButtonRepeatRateMs = 0;
|
|
||||||
+ iButtonReleaseDelayMs = CEC_BUTTON_TIMEOUT;
|
|
||||||
|
|
||||||
memset(strDeviceName, 0, 13);
|
|
||||||
deviceTypes.Clear();
|
|
||||||
diff --git a/src/libcec/CECClient.cpp b/src/libcec/CECClient.cpp
|
|
||||||
index e7935b9..598628d 100644
|
|
||||||
--- a/src/libcec/CECClient.cpp
|
|
||||||
+++ b/src/libcec/CECClient.cpp
|
|
||||||
@@ -56,6 +56,10 @@ CCECClient::CCECClient(CCECProcessor *processor, const libcec_configuration &con
|
|
||||||
m_iCurrentButton(CEC_USER_CONTROL_CODE_UNKNOWN),
|
|
||||||
m_initialButtontime(0),
|
|
||||||
m_updateButtontime(0),
|
|
||||||
+ m_repeatButtontime(0),
|
|
||||||
+ m_releaseButtontime(0),
|
|
||||||
+ m_pressedButtoncount(0),
|
|
||||||
+ m_releasedButtoncount(0),
|
|
||||||
m_iPreventForwardingPowerOffCommand(0),
|
|
||||||
m_iLastKeypressTime(0)
|
|
||||||
{
|
|
||||||
@@ -851,6 +855,9 @@ bool CCECClient::GetCurrentConfiguration(libcec_configuration &configuration)
|
|
||||||
configuration.bMonitorOnly = m_configuration.bMonitorOnly;
|
|
||||||
configuration.cecVersion = m_configuration.cecVersion;
|
|
||||||
configuration.adapterType = m_configuration.adapterType;
|
|
||||||
+ configuration.iDoubleTapTimeout50Ms = m_configuration.iDoubleTapTimeout50Ms;
|
|
||||||
+ configuration.iButtonRepeatRateMs = m_configuration.iButtonRepeatRateMs;
|
|
||||||
+ configuration.iButtonReleaseDelayMs = m_configuration.iButtonReleaseDelayMs;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
@@ -894,6 +901,9 @@ bool CCECClient::SetConfiguration(const libcec_configuration &configuration)
|
|
||||||
m_configuration.cecVersion = configuration.cecVersion;
|
|
||||||
m_configuration.adapterType = configuration.adapterType;
|
|
||||||
m_configuration.iDoubleTapTimeout50Ms = configuration.iDoubleTapTimeout50Ms;
|
|
||||||
+ m_configuration.iButtonRepeatRateMs = configuration.iButtonRepeatRateMs;
|
|
||||||
+ m_configuration.iButtonReleaseDelayMs = configuration.iButtonReleaseDelayMs;
|
|
||||||
+
|
|
||||||
m_configuration.deviceTypes.Add(configuration.deviceTypes[0]);
|
|
||||||
|
|
||||||
if (m_configuration.clientVersion >= LIBCEC_VERSION_TO_UINT(2, 0, 5))
|
|
||||||
@@ -950,6 +960,7 @@ bool CCECClient::SetConfiguration(const libcec_configuration &configuration)
|
|
||||||
primary->ActivateSource();
|
|
||||||
}
|
|
||||||
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: %d:%d:%d", __FUNCTION__, DoubleTapTimeoutMS(), m_configuration.iButtonRepeatRateMs, m_configuration.iButtonReleaseDelayMs);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -973,11 +984,15 @@ void CCECClient::AddCommand(const cec_command &command)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-void CCECClient::AddKey(bool bSendComboKey /* = false */)
|
|
||||||
+void CCECClient::AddKey(bool bSendComboKey /* = false */, bool bButtonRelease /* = false */)
|
|
||||||
{
|
|
||||||
cec_keypress key;
|
|
||||||
key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
|
|
||||||
+ // we ignore button releases when supporting repeating keys
|
|
||||||
+ if (bButtonRelease && m_configuration.iButtonRepeatRateMs && m_configuration.iButtonReleaseDelayMs)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
{
|
|
||||||
CLockObject lock(m_mutex);
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
@@ -995,6 +1010,10 @@ void CCECClient::AddKey(bool bSendComboKey /* = false */)
|
|
||||||
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
m_initialButtontime = 0;
|
|
||||||
m_updateButtontime = 0;
|
|
||||||
+ m_repeatButtontime = 0;
|
|
||||||
+ m_releaseButtontime = 0;
|
|
||||||
+ m_pressedButtoncount = 0;
|
|
||||||
+ m_releasedButtoncount = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1012,6 +1031,7 @@ void CCECClient::AddKey(const cec_keypress &key)
|
|
||||||
key.keycode < CEC_USER_CONTROL_CODE_SELECT)
|
|
||||||
{
|
|
||||||
// send back the previous key if there is one
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "Unexpected key %s (%1x) D:%dms", ToString(key.keycode), key.keycode, key.duration);
|
|
||||||
AddKey();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
@@ -1035,7 +1055,10 @@ void CCECClient::AddKey(const cec_keypress &key)
|
|
||||||
transmitKey.keycode = CEC_USER_CONTROL_CODE_DOT;
|
|
||||||
// default, send back the previous key
|
|
||||||
else
|
|
||||||
+ {
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "Combo key %s (%1x) D%dms:", ToString(key.keycode), key.keycode, key.duration);
|
|
||||||
AddKey(true);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "key pressed: %s (%1x) current(%lx) duration(%d)", ToString(transmitKey.keycode), transmitKey.keycode, m_iCurrentButton, key.duration);
|
|
||||||
@@ -1043,17 +1066,44 @@ void CCECClient::AddKey(const cec_keypress &key)
|
|
||||||
if (m_iCurrentButton == key.keycode)
|
|
||||||
{
|
|
||||||
m_updateButtontime = GetTimeMs();
|
|
||||||
- isrepeat = true;
|
|
||||||
+ m_releaseButtontime = m_updateButtontime + (m_configuration.iButtonReleaseDelayMs ? m_configuration.iButtonReleaseDelayMs : CEC_BUTTON_TIMEOUT);
|
|
||||||
+ // want to have seen some updated before considering a repeat
|
|
||||||
+ if (m_configuration.iButtonRepeatRateMs)
|
|
||||||
+ {
|
|
||||||
+ if (!m_repeatButtontime && m_pressedButtoncount > 1)
|
|
||||||
+ m_repeatButtontime = m_initialButtontime + DoubleTapTimeoutMS();
|
|
||||||
+ isrepeat = true;
|
|
||||||
+ }
|
|
||||||
+ m_pressedButtoncount++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (m_iCurrentButton != transmitKey.keycode)
|
|
||||||
+ {
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "Changed key %s (%1x) D:%dms cur:%lx", ToString(transmitKey.keycode), transmitKey.keycode, transmitKey.duration, m_iCurrentButton);
|
|
||||||
AddKey();
|
|
||||||
+ }
|
|
||||||
if (key.duration == 0)
|
|
||||||
{
|
|
||||||
m_iCurrentButton = transmitKey.keycode;
|
|
||||||
- m_initialButtontime = m_iCurrentButton == CEC_USER_CONTROL_CODE_UNKNOWN || key.duration > 0 ? 0 : GetTimeMs();
|
|
||||||
- m_updateButtontime = m_initialButtontime;
|
|
||||||
+ if (m_iCurrentButton == CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
+ {
|
|
||||||
+ m_initialButtontime = 0;
|
|
||||||
+ m_updateButtontime = 0;
|
|
||||||
+ m_repeatButtontime = 0;
|
|
||||||
+ m_releaseButtontime = 0;
|
|
||||||
+ m_pressedButtoncount = 0;
|
|
||||||
+ m_releasedButtoncount = 0;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ m_initialButtontime = GetTimeMs();
|
|
||||||
+ m_updateButtontime = m_initialButtontime;
|
|
||||||
+ m_repeatButtontime = 0; // set this on next update
|
|
||||||
+ m_releaseButtontime = m_initialButtontime + (m_configuration.iButtonReleaseDelayMs ? m_configuration.iButtonReleaseDelayMs : CEC_BUTTON_TIMEOUT);
|
|
||||||
+ m_pressedButtoncount = 1;
|
|
||||||
+ m_releasedButtoncount = 0;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1072,12 +1122,16 @@ void CCECClient::SetCurrentButton(const cec_user_control_code iButtonCode)
|
|
||||||
key.duration = 0;
|
|
||||||
key.keycode = iButtonCode;
|
|
||||||
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "SetCurrentButton %s (%1x) D:%dms cur:%lx", ToString(key.keycode), key.keycode, key.duration);
|
|
||||||
AddKey(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
{
|
|
||||||
+ // time when we'd like to be called again
|
|
||||||
+ unsigned int timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
cec_keypress key;
|
|
||||||
+ key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
|
|
||||||
{
|
|
||||||
CLockObject lock(m_mutex);
|
|
||||||
@@ -1089,8 +1143,8 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
m_configuration.iComboKeyTimeoutMs : CEC_DEFAULT_COMBO_TIMEOUT_MS);
|
|
||||||
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
- ((m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_updateButtontime > iTimeoutMs) ||
|
|
||||||
- (m_iCurrentButton != comboKey && iNow - m_updateButtontime > CEC_BUTTON_TIMEOUT)))
|
|
||||||
+ ((m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_updateButtontime >= iTimeoutMs) ||
|
|
||||||
+ (m_iCurrentButton != comboKey && m_releaseButtontime && iNow >= (uint64_t)m_releaseButtontime)))
|
|
||||||
{
|
|
||||||
key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
key.keycode = m_iCurrentButton;
|
|
||||||
@@ -1098,27 +1152,41 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
m_initialButtontime = 0;
|
|
||||||
m_updateButtontime = 0;
|
|
||||||
+ m_repeatButtontime = 0;
|
|
||||||
+ m_releaseButtontime = 0;
|
|
||||||
+ m_pressedButtoncount = 0;
|
|
||||||
+ m_releasedButtoncount = 0;
|
|
||||||
+ }
|
|
||||||
+ else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
+ (m_iCurrentButton != comboKey && m_repeatButtontime && iNow >= (uint64_t)m_repeatButtontime))
|
|
||||||
+ {
|
|
||||||
+ key.duration = 0;
|
|
||||||
+ key.keycode = m_iCurrentButton;
|
|
||||||
+ m_repeatButtontime = iNow + m_configuration.iButtonRepeatRateMs;
|
|
||||||
+ timeout = std::min((uint64_t)timeout, m_repeatButtontime - iNow);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- // time when this keypress will be released and we'd like to be called again
|
|
||||||
- unsigned int timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton == comboKey && iTimeoutMs > 0)
|
|
||||||
- timeout = iTimeoutMs - (iNow - m_updateButtontime) + 1;
|
|
||||||
- else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton != comboKey)
|
|
||||||
- timeout = CEC_BUTTON_TIMEOUT - (iNow - m_updateButtontime) + 1;
|
|
||||||
+ timeout = std::min((uint64_t)timeout, m_updateButtontime - iNow + iTimeoutMs);
|
|
||||||
+ if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton != comboKey && m_releaseButtontime)
|
|
||||||
+ timeout = std::min((uint64_t)timeout, m_releaseButtontime - iNow);
|
|
||||||
+ if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton != comboKey && m_repeatButtontime)
|
|
||||||
+ timeout = std::min((uint64_t)timeout, m_repeatButtontime - iNow);
|
|
||||||
if (timeout > CEC_PROCESSOR_SIGNAL_WAIT_TIME)
|
|
||||||
{
|
|
||||||
- LIB_CEC->AddLog(CEC_LOG_ERROR, "Unexpected timeout: %d (%.3f %.3f %.3f) k:%02x", timeout, iNow*1e-3, m_updateButtontime*1e-3, CEC_BUTTON_TIMEOUT*1e-3, m_iCurrentButton);
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_ERROR, "Unexpected timeout: %d (%.3f %.3f %.3f) k:%02x", timeout, iNow*1e-3, m_updateButtontime*1e-3, m_releaseButtontime*1e-3, m_iCurrentButton);
|
|
||||||
timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
}
|
|
||||||
- return timeout;
|
|
||||||
}
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "key %s: %s (%1x) timeout:%dms (rel:%d,rep:%d,prs:%d,rel:%d)", key.keycode == CEC_USER_CONTROL_CODE_UNKNOWN ? "idle" : key.duration ? "released" : "repeated",
|
|
||||||
+ ToString(m_iCurrentButton), m_iCurrentButton, timeout, (int)(m_releaseButtontime ? m_releaseButtontime - iNow : 0), (int)(m_repeatButtontime ? m_repeatButtontime - iNow : 0), m_pressedButtoncount, m_releasedButtoncount);
|
|
||||||
}
|
|
||||||
|
|
||||||
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "key auto-released: %s (%1x)", ToString(key.keycode), key.keycode);
|
|
||||||
- QueueAddKey(key);
|
|
||||||
- return CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
+ if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
+ QueueAddKey(key);
|
|
||||||
+
|
|
||||||
+ return timeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CCECClient::EnableCallbacks(void *cbParam, ICECCallbacks *callbacks)
|
|
||||||
diff --git a/src/libcec/CECClient.h b/src/libcec/CECClient.h
|
|
||||||
index 611c68b..adeb5af 100644
|
|
||||||
--- a/src/libcec/CECClient.h
|
|
||||||
+++ b/src/libcec/CECClient.h
|
|
||||||
@@ -269,7 +269,7 @@ namespace CEC
|
|
||||||
// callbacks
|
|
||||||
virtual void Alert(const libcec_alert type, const libcec_parameter ¶m) { QueueAlert(type, param); }
|
|
||||||
virtual void AddLog(const cec_log_message &message) { QueueAddLog(message); }
|
|
||||||
- virtual void AddKey(bool bSendComboKey = false);
|
|
||||||
+ virtual void AddKey(bool bSendComboKey = false, bool bButtonRelease = false);
|
|
||||||
virtual void AddKey(const cec_keypress &key);
|
|
||||||
virtual void SetCurrentButton(const cec_user_control_code iButtonCode);
|
|
||||||
virtual uint16_t CheckKeypressTimeout(void);
|
|
||||||
@@ -406,6 +406,10 @@ namespace CEC
|
|
||||||
cec_user_control_code m_iCurrentButton; /**< the control code of the button that's currently held down (if any) */
|
|
||||||
int64_t m_initialButtontime; /**< the timestamp when the button was initially pressed (in seconds since epoch), or 0 if none was pressed. */
|
|
||||||
int64_t m_updateButtontime; /**< the timestamp when the button was updated (in seconds since epoch), or 0 if none was pressed. */
|
|
||||||
+ int64_t m_repeatButtontime; /**< the timestamp when the button will next repeat (in seconds since epoch), or 0 if repeat is disabled. */
|
|
||||||
+ int64_t m_releaseButtontime; /**< the timestamp when the button will be released (in seconds since epoch), or 0 if none was pressed. */
|
|
||||||
+ int32_t m_pressedButtoncount; /**< the number of times a button released message has been seen for this press. */
|
|
||||||
+ int32_t m_releasedButtoncount; /**< the number of times a button pressed message has been seen for this press. */
|
|
||||||
int64_t m_iPreventForwardingPowerOffCommand; /**< prevent forwarding standby commands until this time */
|
|
||||||
int64_t m_iLastKeypressTime; /**< last time a key press was sent to the client */
|
|
||||||
cec_keypress m_lastKeypress; /**< the last key press that was sent to the client */
|
|
||||||
diff --git a/src/libcec/implementations/CECCommandHandler.cpp b/src/libcec/implementations/CECCommandHandler.cpp
|
|
||||||
index 6d6244e..d64186f 100644
|
|
||||||
--- a/src/libcec/implementations/CECCommandHandler.cpp
|
|
||||||
+++ b/src/libcec/implementations/CECCommandHandler.cpp
|
|
||||||
@@ -770,7 +770,7 @@ int CCECCommandHandler::HandleUserControlRelease(const cec_command &command)
|
|
||||||
|
|
||||||
CECClientPtr client = m_processor->GetClient(command.destination);
|
|
||||||
if (client)
|
|
||||||
- client->AddKey();
|
|
||||||
+ client->AddKey(false, true);
|
|
||||||
|
|
||||||
return COMMAND_HANDLED;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
||||||
From 3336d0827f7fd159430f3431642b07090c06c869 Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Tue, 28 Oct 2014 01:21:35 +0000
|
|
||||||
Subject: [PATCH 4/6] Skip double press removal. It is handled through other
|
|
||||||
means.
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libcec/CECClient.cpp | 18 +-----------------
|
|
||||||
src/libcec/CECClient.h | 2 --
|
|
||||||
2 files changed, 1 insertion(+), 19 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libcec/CECClient.cpp b/src/libcec/CECClient.cpp
|
|
||||||
index 598628d..dccd874 100644
|
|
||||||
--- a/src/libcec/CECClient.cpp
|
|
||||||
+++ b/src/libcec/CECClient.cpp
|
|
||||||
@@ -60,11 +60,8 @@ CCECClient::CCECClient(CCECProcessor *processor, const libcec_configuration &con
|
|
||||||
m_releaseButtontime(0),
|
|
||||||
m_pressedButtoncount(0),
|
|
||||||
m_releasedButtoncount(0),
|
|
||||||
- m_iPreventForwardingPowerOffCommand(0),
|
|
||||||
- m_iLastKeypressTime(0)
|
|
||||||
+ m_iPreventForwardingPowerOffCommand(0)
|
|
||||||
{
|
|
||||||
- m_lastKeypress.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
- m_lastKeypress.duration = 0;
|
|
||||||
m_configuration.Clear();
|
|
||||||
// set the initial configuration
|
|
||||||
SetConfiguration(configuration);
|
|
||||||
@@ -1647,20 +1644,7 @@ void CCECClient::CallbackAddKey(const cec_keypress &key)
|
|
||||||
{
|
|
||||||
CLockObject lock(m_cbMutex);
|
|
||||||
if (m_configuration.callbacks && m_configuration.callbacks->CBCecKeyPress)
|
|
||||||
- {
|
|
||||||
- // prevent double taps
|
|
||||||
- int64_t now = GetTimeMs();
|
|
||||||
- if (m_lastKeypress.keycode != key.keycode ||
|
|
||||||
- key.duration > 0 ||
|
|
||||||
- now - m_iLastKeypressTime >= DoubleTapTimeoutMS())
|
|
||||||
- {
|
|
||||||
- // no double tap
|
|
||||||
- if (key.duration == 0)
|
|
||||||
- m_iLastKeypressTime = now;
|
|
||||||
- m_lastKeypress = key;
|
|
||||||
m_configuration.callbacks->CBCecKeyPress(m_configuration.callbackParam, key);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
void CCECClient::CallbackAddLog(const cec_log_message &message)
|
|
||||||
diff --git a/src/libcec/CECClient.h b/src/libcec/CECClient.h
|
|
||||||
index adeb5af..43a713b 100644
|
|
||||||
--- a/src/libcec/CECClient.h
|
|
||||||
+++ b/src/libcec/CECClient.h
|
|
||||||
@@ -411,8 +411,6 @@ namespace CEC
|
|
||||||
int32_t m_pressedButtoncount; /**< the number of times a button released message has been seen for this press. */
|
|
||||||
int32_t m_releasedButtoncount; /**< the number of times a button pressed message has been seen for this press. */
|
|
||||||
int64_t m_iPreventForwardingPowerOffCommand; /**< prevent forwarding standby commands until this time */
|
|
||||||
- int64_t m_iLastKeypressTime; /**< last time a key press was sent to the client */
|
|
||||||
- cec_keypress m_lastKeypress; /**< the last key press that was sent to the client */
|
|
||||||
PLATFORM::SyncedBuffer<CCallbackWrap*> m_callbackCalls;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
||||||
From 0dd0234f620a546bfa843172648383f83d88088c Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Mon, 3 Nov 2014 23:28:04 +0000
|
|
||||||
Subject: [PATCH 5/6] Pass through duration on all button repeats
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libcec/CECClient.cpp | 34 ++++++++++++++++++++++++----------
|
|
||||||
1 file changed, 24 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libcec/CECClient.cpp b/src/libcec/CECClient.cpp
|
|
||||||
index dccd874..1946148 100644
|
|
||||||
--- a/src/libcec/CECClient.cpp
|
|
||||||
+++ b/src/libcec/CECClient.cpp
|
|
||||||
@@ -986,10 +986,6 @@ void CCECClient::AddKey(bool bSendComboKey /* = false */, bool bButtonRelease /*
|
|
||||||
cec_keypress key;
|
|
||||||
key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
|
|
||||||
- // we ignore button releases when supporting repeating keys
|
|
||||||
- if (bButtonRelease && m_configuration.iButtonRepeatRateMs && m_configuration.iButtonReleaseDelayMs)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
{
|
|
||||||
CLockObject lock(m_mutex);
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
@@ -1015,6 +1011,10 @@ void CCECClient::AddKey(bool bSendComboKey /* = false */, bool bButtonRelease /*
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ // we don't forward releases when supporting repeating keys
|
|
||||||
+ if (bButtonRelease && m_configuration.iButtonRepeatRateMs)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
{
|
|
||||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "key released: %s (%1x) D:%dms", ToString(key.keycode), key.keycode, key.duration);
|
|
||||||
@@ -1107,7 +1107,7 @@ void CCECClient::AddKey(const cec_keypress &key)
|
|
||||||
|
|
||||||
if (!isrepeat && (key.keycode != comboKey || key.duration > 0))
|
|
||||||
{
|
|
||||||
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "key pressed: %s (%1x)", ToString(transmitKey.keycode), transmitKey.keycode);
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "key pressed: %s (%1x, %d)", ToString(transmitKey.keycode), transmitKey.keycode, transmitKey.duration);
|
|
||||||
QueueAddKey(transmitKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1129,6 +1129,7 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
unsigned int timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
cec_keypress key;
|
|
||||||
key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
+ key.duration = 0;
|
|
||||||
|
|
||||||
{
|
|
||||||
CLockObject lock(m_mutex);
|
|
||||||
@@ -1140,8 +1141,7 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
m_configuration.iComboKeyTimeoutMs : CEC_DEFAULT_COMBO_TIMEOUT_MS);
|
|
||||||
|
|
||||||
if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
- ((m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_updateButtontime >= iTimeoutMs) ||
|
|
||||||
- (m_iCurrentButton != comboKey && m_releaseButtontime && iNow >= (uint64_t)m_releaseButtontime)))
|
|
||||||
+ m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_updateButtontime >= iTimeoutMs)
|
|
||||||
{
|
|
||||||
key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
key.keycode = m_iCurrentButton;
|
|
||||||
@@ -1155,9 +1155,23 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
m_releasedButtoncount = 0;
|
|
||||||
}
|
|
||||||
else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
+ m_iCurrentButton != comboKey && m_releaseButtontime && iNow >= (uint64_t)m_releaseButtontime)
|
|
||||||
+ {
|
|
||||||
+ key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
+ key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
+
|
|
||||||
+ m_iCurrentButton = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
+ m_initialButtontime = 0;
|
|
||||||
+ m_updateButtontime = 0;
|
|
||||||
+ m_repeatButtontime = 0;
|
|
||||||
+ m_releaseButtontime = 0;
|
|
||||||
+ m_pressedButtoncount = 0;
|
|
||||||
+ m_releasedButtoncount = 0;
|
|
||||||
+ }
|
|
||||||
+ else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
(m_iCurrentButton != comboKey && m_repeatButtontime && iNow >= (uint64_t)m_repeatButtontime))
|
|
||||||
{
|
|
||||||
- key.duration = 0;
|
|
||||||
+ key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
key.keycode = m_iCurrentButton;
|
|
||||||
m_repeatButtontime = iNow + m_configuration.iButtonRepeatRateMs;
|
|
||||||
timeout = std::min((uint64_t)timeout, m_repeatButtontime - iNow);
|
|
||||||
@@ -1176,8 +1190,8 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
timeout = CEC_PROCESSOR_SIGNAL_WAIT_TIME;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "key %s: %s (%1x) timeout:%dms (rel:%d,rep:%d,prs:%d,rel:%d)", key.keycode == CEC_USER_CONTROL_CODE_UNKNOWN ? "idle" : key.duration ? "released" : "repeated",
|
|
||||||
- ToString(m_iCurrentButton), m_iCurrentButton, timeout, (int)(m_releaseButtontime ? m_releaseButtontime - iNow : 0), (int)(m_repeatButtontime ? m_repeatButtontime - iNow : 0), m_pressedButtoncount, m_releasedButtoncount);
|
|
||||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "Key %s: %s (duration:%d) (%1x) timeout:%dms (rel:%d,rep:%d,prs:%d,rel:%d)", ToString(m_iCurrentButton), key.keycode == CEC_USER_CONTROL_CODE_UNKNOWN ? "idle" : m_repeatButtontime ? "repeated" : "released", key.duration,
|
|
||||||
+ m_iCurrentButton, timeout, (int)(m_releaseButtontime ? m_releaseButtontime - iNow : 0), (int)(m_repeatButtontime ? m_repeatButtontime - iNow : 0), m_pressedButtoncount, m_releasedButtoncount);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
||||||
From 1ea01f59d8186d4d53af41961aaccbbc11651115 Mon Sep 17 00:00:00 2001
|
|
||||||
From: popcornmix <popcornmix@gmail.com>
|
|
||||||
Date: Wed, 5 Nov 2014 21:04:25 +0000
|
|
||||||
Subject: [PATCH 6/6] squash: Fix for stop needing to be pressed twice
|
|
||||||
|
|
||||||
---
|
|
||||||
src/libcec/CECClient.cpp | 17 ++++++++---------
|
|
||||||
1 file changed, 8 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libcec/CECClient.cpp b/src/libcec/CECClient.cpp
|
|
||||||
index 1946148..f4f114b 100644
|
|
||||||
--- a/src/libcec/CECClient.cpp
|
|
||||||
+++ b/src/libcec/CECClient.cpp
|
|
||||||
@@ -1131,6 +1131,8 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
key.duration = 0;
|
|
||||||
|
|
||||||
+ if (m_iCurrentButton == CEC_USER_CONTROL_CODE_UNKNOWN)
|
|
||||||
+ return timeout;
|
|
||||||
{
|
|
||||||
CLockObject lock(m_mutex);
|
|
||||||
uint64_t iNow = GetTimeMs();
|
|
||||||
@@ -1140,8 +1142,7 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
uint32_t iTimeoutMs(m_configuration.clientVersion >= LIBCEC_VERSION_TO_UINT(2, 0, 5) ?
|
|
||||||
m_configuration.iComboKeyTimeoutMs : CEC_DEFAULT_COMBO_TIMEOUT_MS);
|
|
||||||
|
|
||||||
- if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
- m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_updateButtontime >= iTimeoutMs)
|
|
||||||
+ if (m_iCurrentButton == comboKey && iTimeoutMs > 0 && iNow - m_updateButtontime >= iTimeoutMs)
|
|
||||||
{
|
|
||||||
key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
key.keycode = m_iCurrentButton;
|
|
||||||
@@ -1154,8 +1155,7 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
m_pressedButtoncount = 0;
|
|
||||||
m_releasedButtoncount = 0;
|
|
||||||
}
|
|
||||||
- else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
- m_iCurrentButton != comboKey && m_releaseButtontime && iNow >= (uint64_t)m_releaseButtontime)
|
|
||||||
+ else if (m_iCurrentButton != comboKey && m_releaseButtontime && iNow >= (uint64_t)m_releaseButtontime)
|
|
||||||
{
|
|
||||||
key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
|
|
||||||
@@ -1168,8 +1168,7 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
m_pressedButtoncount = 0;
|
|
||||||
m_releasedButtoncount = 0;
|
|
||||||
}
|
|
||||||
- else if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN &&
|
|
||||||
- (m_iCurrentButton != comboKey && m_repeatButtontime && iNow >= (uint64_t)m_repeatButtontime))
|
|
||||||
+ else if (m_iCurrentButton != comboKey && m_repeatButtontime && iNow >= (uint64_t)m_repeatButtontime)
|
|
||||||
{
|
|
||||||
key.duration = (unsigned int) (iNow - m_initialButtontime);
|
|
||||||
key.keycode = m_iCurrentButton;
|
|
||||||
@@ -1178,11 +1177,11 @@ uint16_t CCECClient::CheckKeypressTimeout(void)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton == comboKey && iTimeoutMs > 0)
|
|
||||||
+ if (m_iCurrentButton == comboKey && iTimeoutMs > 0)
|
|
||||||
timeout = std::min((uint64_t)timeout, m_updateButtontime - iNow + iTimeoutMs);
|
|
||||||
- if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton != comboKey && m_releaseButtontime)
|
|
||||||
+ if (m_iCurrentButton != comboKey && m_releaseButtontime)
|
|
||||||
timeout = std::min((uint64_t)timeout, m_releaseButtontime - iNow);
|
|
||||||
- if (m_iCurrentButton != CEC_USER_CONTROL_CODE_UNKNOWN && m_iCurrentButton != comboKey && m_repeatButtontime)
|
|
||||||
+ if (m_iCurrentButton != comboKey && m_repeatButtontime)
|
|
||||||
timeout = std::min((uint64_t)timeout, m_repeatButtontime - iNow);
|
|
||||||
if (timeout > CEC_PROCESSOR_SIGNAL_WAIT_TIME)
|
|
||||||
{
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
|||||||
# see upstream commit, https://github.com/Pulse-Eight/libcec/commit/678739a0d8aa5897fa1906a8fdeeb67b83f7d1e9
|
|
||||||
|
|
||||||
diff -Naur a/src/libcec/platform/drm/drm-edid.cpp b/src/libcec/platform/drm/drm-edid.cpp
|
|
||||||
--- a/src/libcec/platform/drm/drm-edid.cpp 2015-07-03 10:20:49.000000000 -0700
|
|
||||||
+++ b/src/libcec/platform/drm/drm-edid.cpp 2015-11-10 13:09:14.902629922 -0800
|
|
||||||
@@ -51,6 +51,12 @@
|
|
||||||
|
|
||||||
DIR *dir = opendir(baseDir.c_str());
|
|
||||||
|
|
||||||
+ // DRM subfolder may not exist on some systems
|
|
||||||
+ if (dir == NULL)
|
|
||||||
+ {
|
|
||||||
+ return iPA;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
struct dirent *entry = readdir(dir);
|
|
||||||
std::string enablededid;
|
|
||||||
std::string line;
|
|
@ -1,8 +1,33 @@
|
|||||||
|
From 111381e98e7a2544c052a12211349346ed2b47d6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerald Dachs <gda@dachsweb.de>
|
||||||
|
Date: Thu, 3 Mar 2016 09:38:44 +0100
|
||||||
|
Subject: [PATCH] new adapter for amlogic devices
|
||||||
|
|
||||||
|
---
|
||||||
|
README.md | 6 +
|
||||||
|
include/cectypes.h | 13 +-
|
||||||
|
src/libcec/CMakeLists.txt | 3 +
|
||||||
|
src/libcec/adapter/AdapterFactory.cpp | 24 +-
|
||||||
|
src/libcec/adapter/Amlogic/AmlogicCEC.h | 41 +++
|
||||||
|
.../Amlogic/AmlogicCECAdapterCommunication.cpp | 305 +++++++++++++++++++++
|
||||||
|
.../Amlogic/AmlogicCECAdapterCommunication.h | 105 +++++++
|
||||||
|
.../adapter/Amlogic/AmlogicCECAdapterDetection.cpp | 50 ++++
|
||||||
|
.../adapter/Amlogic/AmlogicCECAdapterDetection.h | 46 ++++
|
||||||
|
src/libcec/cmake/CheckPlatformSupport.cmake | 13 +
|
||||||
|
src/libcec/cmake/DisplayPlatformSupport.cmake | 6 +
|
||||||
|
src/libcec/env.h.in | 3 +
|
||||||
|
12 files changed, 613 insertions(+), 2 deletions(-)
|
||||||
|
create mode 100644 src/libcec/adapter/Amlogic/AmlogicCEC.h
|
||||||
|
create mode 100644 src/libcec/adapter/Amlogic/AmlogicCECAdapterCommunication.cpp
|
||||||
|
create mode 100644 src/libcec/adapter/Amlogic/AmlogicCECAdapterCommunication.h
|
||||||
|
create mode 100644 src/libcec/adapter/Amlogic/AmlogicCECAdapterDetection.cpp
|
||||||
|
create mode 100644 src/libcec/adapter/Amlogic/AmlogicCECAdapterDetection.h
|
||||||
|
|
||||||
diff --git a/README.md b/README.md
|
diff --git a/README.md b/README.md
|
||||||
index dfaf4d6..0dffdcf 100644
|
index dfaf4d6..0dffdcf 100644
|
||||||
--- a/README.md
|
--- a/README.md
|
||||||
+++ b/README.md
|
+++ b/README.md
|
||||||
@@ -58,6 +58,12 @@
|
@@ -93,6 +93,12 @@ To compile in support for Exynos devices, you have to pass the argument -DHAVE_E
|
||||||
cmake -DHAVE_EXYNOS_API=1 ..
|
cmake -DHAVE_EXYNOS_API=1 ..
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -12,18 +37,17 @@ index dfaf4d6..0dffdcf 100644
|
|||||||
+cmake -DHAVE_AMLOGIC_API=1 ..
|
+cmake -DHAVE_AMLOGIC_API=1 ..
|
||||||
+```
|
+```
|
||||||
+
|
+
|
||||||
## TDA995x ##
|
### TDA995x
|
||||||
To compile in support for TDA995x devices, you have to pass the argument -DHAVE_TDA995X_API=1 to cmake:
|
To compile in support for TDA995x devices, you have to pass the argument -DHAVE_TDA995X_API=1 to cmake:
|
||||||
```
|
```
|
||||||
diff --git a/include/cectypes.h b/include/cectypes.h
|
diff --git a/include/cectypes.h b/include/cectypes.h
|
||||||
index e28c8df..c0b9476 100644
|
index 0fdd48e..b7e1932 100644
|
||||||
--- a/include/cectypes.h
|
--- a/include/cectypes.h
|
||||||
+++ b/include/cectypes.h
|
+++ b/include/cectypes.h
|
||||||
@@ -318,6 +318,15 @@ namespace CEC {
|
@@ -309,6 +309,16 @@ namespace CEC {
|
||||||
*/
|
#define CEC_EXYNOS_VIRTUAL_COM "Exynos"
|
||||||
#define CEC_IMX_VIRTUAL_COM "i.MX"
|
|
||||||
|
|
||||||
+/*!
|
/*!
|
||||||
+ * the path to use for the Amlogic HDMI CEC device
|
+ * the path to use for the Amlogic HDMI CEC device
|
||||||
+ */
|
+ */
|
||||||
+#define CEC_AMLOGIC_PATH "/dev/AmlogicCEC"
|
+#define CEC_AMLOGIC_PATH "/dev/AmlogicCEC"
|
||||||
@ -32,10 +56,12 @@ index e28c8df..c0b9476 100644
|
|||||||
+ * the name of the virtual COM port to use for the AMLOGIC' CEC wire
|
+ * the name of the virtual COM port to use for the AMLOGIC' CEC wire
|
||||||
+ */
|
+ */
|
||||||
+#define CEC_AMLOGIC_VIRTUAL_COM "Amlogic"
|
+#define CEC_AMLOGIC_VIRTUAL_COM "Amlogic"
|
||||||
|
+
|
||||||
/*!
|
+/*!
|
||||||
* Mimimum client version
|
* Mimimum client version
|
||||||
@@ -889,7 +898,8 @@ typedef enum cec_adapter_type
|
*/
|
||||||
|
#define CEC_MIN_LIB_VERSION 3
|
||||||
|
@@ -899,7 +899,8 @@
|
||||||
ADAPTERTYPE_RPI = 0x100,
|
ADAPTERTYPE_RPI = 0x100,
|
||||||
ADAPTERTYPE_TDA995x = 0x200,
|
ADAPTERTYPE_TDA995x = 0x200,
|
||||||
ADAPTERTYPE_EXYNOS = 0x300,
|
ADAPTERTYPE_EXYNOS = 0x300,
|
||||||
@ -60,11 +86,11 @@ index a494533..e94b094 100644
|
|||||||
adapter/Pulse-Eight/USBCECAdapterCommunication.h
|
adapter/Pulse-Eight/USBCECAdapterCommunication.h
|
||||||
adapter/Pulse-Eight/USBCECAdapterCommands.h
|
adapter/Pulse-Eight/USBCECAdapterCommands.h
|
||||||
diff --git a/src/libcec/adapter/AdapterFactory.cpp b/src/libcec/adapter/AdapterFactory.cpp
|
diff --git a/src/libcec/adapter/AdapterFactory.cpp b/src/libcec/adapter/AdapterFactory.cpp
|
||||||
index 92e378b..55703b9 100644
|
index da05725..824c5ff 100644
|
||||||
--- a/src/libcec/adapter/AdapterFactory.cpp
|
--- a/src/libcec/adapter/AdapterFactory.cpp
|
||||||
+++ b/src/libcec/adapter/AdapterFactory.cpp
|
+++ b/src/libcec/adapter/AdapterFactory.cpp
|
||||||
@@ -63,6 +63,11 @@
|
@@ -58,6 +58,11 @@
|
||||||
#include "IMX/IMXCECAdapterCommunication.h"
|
#include "Exynos/ExynosCECAdapterCommunication.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
+#if defined(HAVE_AMLOGIC_API)
|
+#if defined(HAVE_AMLOGIC_API)
|
||||||
@ -75,16 +101,7 @@ index 92e378b..55703b9 100644
|
|||||||
using namespace CEC;
|
using namespace CEC;
|
||||||
|
|
||||||
int8_t CAdapterFactory::FindAdapters(cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath /* = NULL */)
|
int8_t CAdapterFactory::FindAdapters(cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath /* = NULL */)
|
||||||
@@ -131,8 +136,6 @@ int8_t CAdapterFactory::DetectAdapters(cec_adapter_descriptor *deviceList, uint8
|
@@ -151,8 +151,19 @@
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-
|
|
||||||
-
|
|
||||||
#if defined(HAVE_IMX_API)
|
|
||||||
if (iAdaptersFound < iBufSize && CIMXCECAdapterDetection::FindAdapter() &&
|
|
||||||
(!strDevicePath || !strcmp(strDevicePath, CEC_IMX_VIRTUAL_COM)))
|
|
||||||
@@ -146,8 +149,20 @@ int8_t CAdapterFactory::DetectAdapters(cec_adapter_descriptor *deviceList, uint8
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -101,13 +118,12 @@ index 92e378b..55703b9 100644
|
|||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
-#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_IMX_API)
|
-#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_IMX_API)
|
||||||
+
|
|
||||||
+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_IMX_API) && !defined(HAVE_AMLOGIC_API)
|
+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_IMX_API) && !defined(HAVE_AMLOGIC_API)
|
||||||
#error "libCEC doesn't have support for any type of adapter. please check your build system or configuration"
|
#error "libCEC doesn't have support for any type of adapter. please check your build system or configuration"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -176,11 +191,16 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_
|
@@ -146,6 +163,11 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_
|
||||||
return new CIMXCECAdapterCommunication(m_lib->m_cec);
|
return new CExynosCECAdapterCommunication(m_lib->m_cec);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
+#if defined(HAVE_AMLOGIC_API)
|
+#if defined(HAVE_AMLOGIC_API)
|
||||||
@ -115,15 +131,9 @@ index 92e378b..55703b9 100644
|
|||||||
+ return new CAmlogicCECAdapterCommunication(m_lib->m_cec);
|
+ return new CAmlogicCECAdapterCommunication(m_lib->m_cec);
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
#if defined(HAVE_P8_USB)
|
#if defined(HAVE_RPI_API)
|
||||||
return new CUSBCECAdapterCommunication(m_lib->m_cec, strPort, iBaudRate);
|
if (!strcmp(strPort, CEC_RPI_VIRTUAL_COM))
|
||||||
#endif
|
return new CRPiCECAdapterCommunication(m_lib->m_cec);
|
||||||
|
|
||||||
-#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API) && !defined(HAVE_IMX_API)
|
|
||||||
+#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_EXYNOS_API) && !defined(HAVE_IMX_API) && !defined(HAVE_AMLOGIC_API)
|
|
||||||
return NULL;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
diff --git a/src/libcec/adapter/Amlogic/AmlogicCEC.h b/src/libcec/adapter/Amlogic/AmlogicCEC.h
|
diff --git a/src/libcec/adapter/Amlogic/AmlogicCEC.h b/src/libcec/adapter/Amlogic/AmlogicCEC.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..7b86982
|
index 0000000..7b86982
|
||||||
@ -223,10 +233,10 @@ index 0000000..5aeddda
|
|||||||
+
|
+
|
||||||
+#include "CECTypeUtils.h"
|
+#include "CECTypeUtils.h"
|
||||||
+#include "LibCEC.h"
|
+#include "LibCEC.h"
|
||||||
+#include <platform/util/buffer.h>
|
+#include <p8-platform/util/buffer.h>
|
||||||
+
|
+
|
||||||
+using namespace CEC;
|
+using namespace CEC;
|
||||||
+using namespace PLATFORM;
|
+using namespace P8PLATFORM;
|
||||||
+
|
+
|
||||||
+#define LIB_CEC m_callback->GetLib()
|
+#define LIB_CEC m_callback->GetLib()
|
||||||
+
|
+
|
||||||
@ -528,14 +538,14 @@ index 0000000..0e99cf8
|
|||||||
+
|
+
|
||||||
+#if defined(HAVE_AMLOGIC_API)
|
+#if defined(HAVE_AMLOGIC_API)
|
||||||
+
|
+
|
||||||
+#include <platform/threads/mutex.h>
|
+#include <p8-platform/threads/mutex.h>
|
||||||
+#include <platform/threads/threads.h>
|
+#include <p8-platform/threads/threads.h>
|
||||||
+#include "../AdapterCommunication.h"
|
+#include "../AdapterCommunication.h"
|
||||||
+#include <map>
|
+#include <map>
|
||||||
+
|
+
|
||||||
+namespace CEC
|
+namespace CEC
|
||||||
+{
|
+{
|
||||||
+ class CAmlogicCECAdapterCommunication : public IAdapterCommunication, public PLATFORM::CThread
|
+ class CAmlogicCECAdapterCommunication : public IAdapterCommunication, public P8PLATFORM::CThread
|
||||||
+ {
|
+ {
|
||||||
+ public:
|
+ public:
|
||||||
+ /*!
|
+ /*!
|
||||||
@ -575,7 +585,7 @@ index 0000000..0e99cf8
|
|||||||
+ void SetActiveSource(bool UNUSED(bSetTo), bool UNUSED(bClientUnregistered)) {}
|
+ void SetActiveSource(bool UNUSED(bSetTo), bool UNUSED(bClientUnregistered)) {}
|
||||||
+ ///}
|
+ ///}
|
||||||
+
|
+
|
||||||
+ /** @name PLATFORM::CThread implementation */
|
+ /** @name P8PLATFORM::CThread implementation */
|
||||||
+ ///{
|
+ ///{
|
||||||
+ void *Process(void);
|
+ void *Process(void);
|
||||||
+ ///}
|
+ ///}
|
||||||
@ -588,7 +598,7 @@ index 0000000..0e99cf8
|
|||||||
+
|
+
|
||||||
+ bool m_bLogicalAddressChanged;
|
+ bool m_bLogicalAddressChanged;
|
||||||
+ cec_logical_addresses m_logicalAddresses;
|
+ cec_logical_addresses m_logicalAddresses;
|
||||||
+ PLATFORM::CMutex m_mutex;
|
+ P8PLATFORM::CMutex m_mutex;
|
||||||
+ int m_fd;
|
+ int m_fd;
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
@ -702,18 +712,18 @@ index 0000000..8a7418d
|
|||||||
+ };
|
+ };
|
||||||
+}
|
+}
|
||||||
diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
|
diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||||
index dc5bc25..64003d9 100644
|
index b8a16c8..311cb52 100644
|
||||||
--- a/src/libcec/cmake/CheckPlatformSupport.cmake
|
--- a/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||||
+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
|
+++ b/src/libcec/cmake/CheckPlatformSupport.cmake
|
||||||
@@ -11,6 +11,7 @@
|
@@ -9,6 +9,7 @@
|
||||||
# HAVE_IMX_API 1 if i.MX is supported
|
# HAVE_RPI_API 1 if Raspberry Pi is supported
|
||||||
# HAVE_TDA995X_API 1 if TDA995X is supported
|
# HAVE_TDA995X_API 1 if TDA995X is supported
|
||||||
# HAVE_EXYNOS_API 1 if Exynos is supported
|
# HAVE_EXYNOS_API 1 if Exynos is supported
|
||||||
+# HAVE_AMLOGIC_API 1 if Amlogic is supported
|
+# HAVE_AMLOGIC_API 1 if Amlogic is supported
|
||||||
|
# HAVE_P8_USB 1 if Pulse-Eight devices are supported
|
||||||
# HAVE_P8_USB_DETECT 1 if Pulse-Eight devices can be auto-detected
|
# HAVE_P8_USB_DETECT 1 if Pulse-Eight devices can be auto-detected
|
||||||
#
|
# HAVE_DRM_EDID_PARSER 1 if DRM EDID parsing is supported
|
||||||
|
@@ -132,6 +133,18 @@ else()
|
||||||
@@ -142,6 +143,18 @@ else()
|
|
||||||
else()
|
else()
|
||||||
set(HAVE_EXYNOS_API 0)
|
set(HAVE_EXYNOS_API 0)
|
||||||
endif()
|
endif()
|
||||||
@ -733,10 +743,10 @@ index dc5bc25..64003d9 100644
|
|||||||
|
|
||||||
# rt
|
# rt
|
||||||
diff --git a/src/libcec/cmake/DisplayPlatformSupport.cmake b/src/libcec/cmake/DisplayPlatformSupport.cmake
|
diff --git a/src/libcec/cmake/DisplayPlatformSupport.cmake b/src/libcec/cmake/DisplayPlatformSupport.cmake
|
||||||
index 4e24def..1890cac 100644
|
index 9dcaacf..464252e 100644
|
||||||
--- a/src/libcec/cmake/DisplayPlatformSupport.cmake
|
--- a/src/libcec/cmake/DisplayPlatformSupport.cmake
|
||||||
+++ b/src/libcec/cmake/DisplayPlatformSupport.cmake
|
+++ b/src/libcec/cmake/DisplayPlatformSupport.cmake
|
||||||
@@ -50,6 +50,12 @@ else()
|
@@ -44,6 +44,12 @@ else()
|
||||||
message(STATUS "DRM support: no")
|
message(STATUS "DRM support: no")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -750,10 +760,10 @@ index 4e24def..1890cac 100644
|
|||||||
message(STATUS "Python support: version ${PYTHONLIBS_VERSION_STRING} (${PYTHON_VERSION})")
|
message(STATUS "Python support: version ${PYTHONLIBS_VERSION_STRING} (${PYTHON_VERSION})")
|
||||||
else()
|
else()
|
||||||
diff --git a/src/libcec/env.h.in b/src/libcec/env.h.in
|
diff --git a/src/libcec/env.h.in b/src/libcec/env.h.in
|
||||||
index 384f1c7..c3f00bc 100644
|
index 0496aa0..971f769 100644
|
||||||
--- a/src/libcec/env.h.in
|
--- a/src/libcec/env.h.in
|
||||||
+++ b/src/libcec/env.h.in
|
+++ b/src/libcec/env.h.in
|
||||||
@@ -75,6 +75,9 @@
|
@@ -72,6 +72,9 @@
|
||||||
/* Define to 1 for Exynos support */
|
/* Define to 1 for Exynos support */
|
||||||
#cmakedefine HAVE_EXYNOS_API @HAVE_EXYNOS_API@
|
#cmakedefine HAVE_EXYNOS_API @HAVE_EXYNOS_API@
|
||||||
|
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
# This file is part of OpenELEC - http://www.openelec.tv
|
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
|
||||||
#
|
|
||||||
# OpenELEC is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 2 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# OpenELEC is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
PKG_NAME="jasper"
|
|
||||||
PKG_VERSION="1.900.1"
|
|
||||||
PKG_REV="1"
|
|
||||||
PKG_ARCH="any"
|
|
||||||
PKG_LICENSE="OpenSource"
|
|
||||||
PKG_SITE="http://www.ece.uvic.ca/~mdadams/jasper/"
|
|
||||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
|
||||||
PKG_DEPENDS_TARGET="toolchain libjpeg-turbo"
|
|
||||||
PKG_PRIORITY="optional"
|
|
||||||
PKG_SECTION="graphics"
|
|
||||||
PKG_SHORTDESC="jasper: JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1) implementation"
|
|
||||||
PKG_LONGDESC="This distribution contains the public release of the an open-source implementation of the ISO/IEC 15444-1 also known as JPEG-2000 standard for image compression."
|
|
||||||
|
|
||||||
PKG_IS_ADDON="no"
|
|
||||||
PKG_AUTORECONF="yes"
|
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static"
|
|
||||||
|
|
||||||
pre_configure_target() {
|
|
||||||
export CFLAGS="$CFLAGS -fPIC -DPIC"
|
|
||||||
}
|
|
||||||
|
|
||||||
post_makeinstall_target() {
|
|
||||||
rm -rf $INSTALL/usr/bin
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -17,30 +17,26 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="soil"
|
PKG_NAME="soil"
|
||||||
PKG_VERSION="1.07"
|
PKG_VERSION="1.16"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="PD"
|
PKG_LICENSE="CCPL"
|
||||||
PKG_SITE="http://www.lonesock.net/soil.html"
|
PKG_SITE="http://www.lonesock.net/soil.html"
|
||||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
PKG_DEPENDS_TARGET="mesa"
|
PKG_DEPENDS_TARGET="toolchain mesa"
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
PKG_SECTION="graphics"
|
PKG_SECTION="graphics"
|
||||||
PKG_SHORTDESC="libsoil: Simple OpenGL Image Library"
|
PKG_SHORTDESC="A tiny C lib primarily for loading textures into OpenGL"
|
||||||
PKG_LONGDESC="libsoil: Simple OpenGL Image Library"
|
PKG_LONGDESC="A tiny C lib primarily for loading textures into OpenGL"
|
||||||
|
|
||||||
PKG_IS_ADDON="no"
|
PKG_IS_ADDON="no"
|
||||||
PKG_AUTORECONF="no"
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
make_target() {
|
pre_make_target() {
|
||||||
mkdir projects/makefile/obj
|
sed "s/1.07-20071110/$PKG_VERSION/" -i Makefile
|
||||||
make CXX="$CXX" CC="$CC" LD="$CC" AR="$AR" CFLAGS="-fPIC -O2" CXXFLAGS="-fPIC -O2" -C projects/makefile
|
export CFLAGS="$CFLAGS -fPIC"
|
||||||
}
|
}
|
||||||
|
|
||||||
makeinstall_target() {
|
pre_makeinstall_target() {
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/lib
|
export DESTDIR=$SYSROOT_PREFIX
|
||||||
cp -PR lib/libSOIL.a $SYSROOT_PREFIX/usr/lib
|
|
||||||
|
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/include/SOIL
|
|
||||||
cp -P src/SOIL.h $SYSROOT_PREFIX/usr/include/SOIL
|
|
||||||
}
|
}
|
||||||
|
47
packages/graphics/soil/patches/soil-0001_fix-makefile.patch
Normal file
47
packages/graphics/soil/patches/soil-0001_fix-makefile.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
--- /dev/null 2015-06-05 20:37:04.396503995 +0200
|
||||||
|
+++ b/Makefile 2016-01-27 22:47:09.795982961 +0100
|
||||||
|
@@ -0,0 +1,44 @@
|
||||||
|
+CC ?= gcc
|
||||||
|
+INSTALL_FILE = install -p -m 644
|
||||||
|
+INSTALL_DIR = install -p -d
|
||||||
|
+LN = ln -s
|
||||||
|
+RM = rm -fv
|
||||||
|
+CFLAGS += -c -O2 -Wall
|
||||||
|
+LDFLAGS +=
|
||||||
|
+
|
||||||
|
+SRC = src
|
||||||
|
+CFILES = $(SRC)/image_DXT.c $(SRC)/image_helper.c $(SRC)/SOIL.c $(SRC)/stb_image_aug.c
|
||||||
|
+OFILES = $(CFILES:.c=.o)
|
||||||
|
+LIBNAME = libSOIL
|
||||||
|
+VERSION = 1.07-20071110
|
||||||
|
+MAJOR = 1
|
||||||
|
+
|
||||||
|
+HFILES = $(SRC)/SOIL.h $(SRC)/image_DXT.h $(SRC)/image_helper.h \
|
||||||
|
+ $(SRC)/stbi_DDS_aug.h $(SRC)/stbi_DDS_aug_c.h $(SRC)/stb_image_aug.h
|
||||||
|
+AFILE = libSOIL.a
|
||||||
|
+INCLUDEDIR = /usr/include/SOIL
|
||||||
|
+LIBDIR = /usr/lib
|
||||||
|
+
|
||||||
|
+all: $(OFILES) lib
|
||||||
|
+
|
||||||
|
+%.o: %.c
|
||||||
|
+ $(CC) $(CFLAGS) $< -o $@
|
||||||
|
+
|
||||||
|
+lib: $(OFILES)
|
||||||
|
+ # create static library
|
||||||
|
+ $(AR) -cvq $(LIBNAME).a $(OFILES)
|
||||||
|
+
|
||||||
|
+install:
|
||||||
|
+ $(INSTALL_DIR) $(DESTDIR)/$(INCLUDEDIR)
|
||||||
|
+ $(INSTALL_FILE) $(HFILES) $(DESTDIR)/$(INCLUDEDIR)
|
||||||
|
+ $(INSTALL_DIR) $(DESTDIR)/$(LIBDIR)
|
||||||
|
+ $(INSTALL_FILE) $(AFILE) $(DESTDIR)/$(LIBDIR)
|
||||||
|
+
|
||||||
|
+clean:
|
||||||
|
+ $(RM) *.o
|
||||||
|
+ $(RM) *~
|
||||||
|
+
|
||||||
|
+distclean:
|
||||||
|
+ $(RM) $(AFILE) $(SOFILE)
|
||||||
|
+
|
||||||
|
+.PHONY: all lib clean distclean
|
@ -0,0 +1,49 @@
|
|||||||
|
diff --git a/skins/Default/720p/mainWindow.xml b/skins/Default/720p/mainWindow.xml
|
||||||
|
index 19c7676..c63f688 100644
|
||||||
|
--- a/skins/Default/720p/mainWindow.xml
|
||||||
|
+++ b/skins/Default/720p/mainWindow.xml
|
||||||
|
@@ -75,7 +75,7 @@
|
||||||
|
<width>220</width>
|
||||||
|
<height>80</height>
|
||||||
|
<aspectratio>keep</aspectratio>
|
||||||
|
- <texture>$INFO[Container(5533).Property(DIST_MEDIA)]/Logo.png</texture>
|
||||||
|
+ <texture>$INFO[Window.Property(DIST_MEDIA)]/Logo.png</texture>
|
||||||
|
</control>
|
||||||
|
<control type="image">
|
||||||
|
<left>268</left>
|
||||||
|
@@ -267,7 +267,7 @@
|
||||||
|
<textcolor>white</textcolor>
|
||||||
|
<align>left</align>
|
||||||
|
<aligny>center</aligny>
|
||||||
|
- <label>$INFO[Container(5533).Property(Distri)] ($INFO[Container(5533).Property(build)])</label>
|
||||||
|
+ <label>$INFO[Window.Property(Distri)] ($INFO[Window.Property(build)])</label>
|
||||||
|
</control>
|
||||||
|
<control type="label">
|
||||||
|
<left>20</left>
|
||||||
|
@@ -289,7 +289,7 @@
|
||||||
|
<textcolor>white</textcolor>
|
||||||
|
<align>left</align>
|
||||||
|
<aligny>center</aligny>
|
||||||
|
- <label>$INFO[Container(5533).Property(Version)]</label>
|
||||||
|
+ <label>$INFO[Window.Property(Version)]</label>
|
||||||
|
</control>
|
||||||
|
<control type="label">
|
||||||
|
<left>20</left>
|
||||||
|
@@ -311,7 +311,7 @@
|
||||||
|
<textcolor>white</textcolor>
|
||||||
|
<align>left</align>
|
||||||
|
<aligny>center</aligny>
|
||||||
|
- <label>$INFO[Container(5533).Property(Arch)]</label>
|
||||||
|
+ <label>$INFO[Window.Property(Arch)]</label>
|
||||||
|
</control>
|
||||||
|
<control type="textbox">
|
||||||
|
<left>20</left>
|
||||||
|
@@ -1246,7 +1246,7 @@
|
||||||
|
<width>740</width>
|
||||||
|
<height>100</height>
|
||||||
|
<font>font12</font>
|
||||||
|
- <label>$INFO[Container(5533).Property(InfoText)]</label>
|
||||||
|
+ <label>$INFO[Window.Property(InfoText)]</label>
|
||||||
|
<align>left</align>
|
||||||
|
<textcolor>white</textcolor>
|
||||||
|
<shadowcolor>black</shadowcolor>
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="adsp.basic"
|
PKG_NAME="adsp.basic"
|
||||||
PKG_VERSION="cb56e0e"
|
PKG_VERSION="5cf12e8"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="adsp.biquad.filters"
|
PKG_NAME="adsp.biquad.filters"
|
||||||
PKG_VERSION="d63d8ac"
|
PKG_VERSION="af575f3"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="adsp.freesurround"
|
PKG_NAME="adsp.freesurround"
|
||||||
PKG_VERSION="08b691d"
|
PKG_VERSION="6dc533b"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.modplug"
|
PKG_NAME="audiodecoder.modplug"
|
||||||
PKG_VERSION="03b772d"
|
PKG_VERSION="3faec25"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.ncsf"
|
PKG_NAME="audiodecoder.ncsf"
|
||||||
PKG_VERSION="b452778"
|
PKG_VERSION="db9517f"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.nosefart"
|
PKG_NAME="audiodecoder.nosefart"
|
||||||
PKG_VERSION="bfab543"
|
PKG_VERSION="646a7cb"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.organya"
|
PKG_NAME="audiodecoder.organya"
|
||||||
PKG_VERSION="ed0d3a5"
|
PKG_VERSION="88d8a0f"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.qsf"
|
PKG_NAME="audiodecoder.qsf"
|
||||||
PKG_VERSION="83b18d7"
|
PKG_VERSION="4330729"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.sidplay"
|
PKG_NAME="audiodecoder.sidplay"
|
||||||
PKG_VERSION="d832f05"
|
PKG_VERSION="4631114"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.snesapu"
|
PKG_NAME="audiodecoder.snesapu"
|
||||||
PKG_VERSION="db62e88"
|
PKG_VERSION="c5a182b"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.stsound"
|
PKG_NAME="audiodecoder.stsound"
|
||||||
PKG_VERSION="759ae7e"
|
PKG_VERSION="65f0e06"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.timidity"
|
PKG_NAME="audiodecoder.timidity"
|
||||||
PKG_VERSION="1aa2378"
|
PKG_VERSION="f649d32"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audiodecoder.vgmstream"
|
PKG_NAME="audiodecoder.vgmstream"
|
||||||
PKG_VERSION="cb2892a"
|
PKG_VERSION="6695178"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audioencoder.flac"
|
PKG_NAME="audioencoder.flac"
|
||||||
PKG_VERSION="f8a9cd0"
|
PKG_VERSION="176288b"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audioencoder.lame"
|
PKG_NAME="audioencoder.lame"
|
||||||
PKG_VERSION="52f84dd"
|
PKG_VERSION="ffaf9cb"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audioencoder.vorbis"
|
PKG_NAME="audioencoder.vorbis"
|
||||||
PKG_VERSION="42620de"
|
PKG_VERSION="47a0676"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="audioencoder.wav"
|
PKG_NAME="audioencoder.wav"
|
||||||
PKG_VERSION="0c6ec77"
|
PKG_VERSION="a12bcd1"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -0,0 +1,60 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - http://www.libreelec.tv
|
||||||
|
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="inputstream.mpd"
|
||||||
|
PKG_VERSION="4323ce6"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="http://www.kodi.tv"
|
||||||
|
PKG_URL="https://github.com/liberty-developer/inputstream.mpd/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain kodi-platform"
|
||||||
|
PKG_SECTION=""
|
||||||
|
PKG_SHORTDESC="inputstream.mpd"
|
||||||
|
PKG_LONGDESC="inputstream.mpd"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="yes"
|
||||||
|
|
||||||
|
configure_target() {
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
|
||||||
|
..
|
||||||
|
}
|
||||||
|
|
||||||
|
post_make_target() {
|
||||||
|
mkdir -p wv && cd wv
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
|
||||||
|
$ROOT/$PKG_BUILD/wvdecrypter
|
||||||
|
make
|
||||||
|
}
|
||||||
|
|
||||||
|
addon() {
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
cp -R $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
|
||||||
|
ADDONSO=$(xmlstarlet sel -t -v "/addon/extension/@library_linux" $ADDON_BUILD/$PKG_ADDON_ID/addon.xml)
|
||||||
|
cp -L $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/$ADDONSO $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/decrypter/
|
||||||
|
cp -P $PKG_BUILD/.$TARGET_NAME/wv/libssd_wv.so $ADDON_BUILD/$PKG_ADDON_ID/lib/
|
||||||
|
|
||||||
|
ln -sf /storage/decrypters/libwidevinecdm.so $ADDON_BUILD/$PKG_ADDON_ID/decrypter/libwidevinecdm.so
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - http://www.libreelec.tv
|
||||||
|
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="inputstream.smoothstream"
|
||||||
|
PKG_VERSION="1813bbb"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="http://www.kodi.tv"
|
||||||
|
PKG_URL="https://github.com/mapfau/inputstream.smoothstream/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain kodi-platform"
|
||||||
|
PKG_SECTION=""
|
||||||
|
PKG_SHORTDESC="inputstream.smoothstream"
|
||||||
|
PKG_LONGDESC="inputstream.smoothstream"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="yes"
|
||||||
|
|
||||||
|
configure_target() {
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
|
||||||
|
..
|
||||||
|
}
|
||||||
|
|
||||||
|
addon() {
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
cp -R $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
|
||||||
|
ADDONSO=$(xmlstarlet sel -t -v "/addon/extension/@library_linux" $ADDON_BUILD/$PKG_ADDON_ID/addon.xml)
|
||||||
|
cp -L $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/$ADDONSO $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
}
|
@ -0,0 +1,50 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - http://www.libreelec.tv
|
||||||
|
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="peripheral.joystick"
|
||||||
|
PKG_VERSION="76b7c40"
|
||||||
|
PKG_REV="0"
|
||||||
|
PKG_ARCH="any"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="https://github.com/kodi-game/peripheral.joystick"
|
||||||
|
PKG_URL="https://github.com/kodi-game/peripheral.joystick/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain kodi-platform p8-platform"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION=""
|
||||||
|
PKG_SHORTDESC="peripheral.joystick: Joystick support in Kodi"
|
||||||
|
PKG_LONGDESC="peripheral.joystick provides joystick support and button mapping"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="yes"
|
||||||
|
PKG_ADDON_TYPE="kodi.peripheral"
|
||||||
|
|
||||||
|
configure_target() {
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
|
||||||
|
..
|
||||||
|
}
|
||||||
|
|
||||||
|
addon() {
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
cp -R $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
|
||||||
|
ADDONSO=$(xmlstarlet sel -t -v "/addon/extension/@library_linux" $ADDON_BUILD/$PKG_ADDON_ID/addon.xml)
|
||||||
|
cp -L $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/$ADDONSO $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
}
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.argustv"
|
PKG_NAME="pvr.argustv"
|
||||||
PKG_VERSION="654715b"
|
PKG_VERSION="974820a"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.demo"
|
PKG_NAME="pvr.demo"
|
||||||
PKG_VERSION="46d7bfb"
|
PKG_VERSION="e74822f"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.dvblink"
|
PKG_NAME="pvr.dvblink"
|
||||||
PKG_VERSION="88849a2"
|
PKG_VERSION="82c7b4d"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.dvbviewer"
|
PKG_NAME="pvr.dvbviewer"
|
||||||
PKG_VERSION="21423d4"
|
PKG_VERSION="6ab861f"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.filmon"
|
PKG_NAME="pvr.filmon"
|
||||||
PKG_VERSION="54ae595"
|
PKG_VERSION="0d8dd5b"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.hdhomerun"
|
PKG_NAME="pvr.hdhomerun"
|
||||||
PKG_VERSION="ae94e4c"
|
PKG_VERSION="fd9daf4"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.hts"
|
PKG_NAME="pvr.hts"
|
||||||
PKG_VERSION="3c673b5"
|
PKG_VERSION="0f88a35"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.iptvsimple"
|
PKG_NAME="pvr.iptvsimple"
|
||||||
PKG_VERSION="1d95cd0"
|
PKG_VERSION="b741cac"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.mediaportal.tvserver"
|
PKG_NAME="pvr.mediaportal.tvserver"
|
||||||
PKG_VERSION="330d90b"
|
PKG_VERSION="96f415e"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.mythtv"
|
PKG_NAME="pvr.mythtv"
|
||||||
PKG_VERSION="f6b0483"
|
PKG_VERSION="f8d25fd"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.nextpvr"
|
PKG_NAME="pvr.nextpvr"
|
||||||
PKG_VERSION="9214bc0"
|
PKG_VERSION="d445c5a"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.njoy"
|
PKG_NAME="pvr.njoy"
|
||||||
PKG_VERSION="480c159"
|
PKG_VERSION="b9b0ae4"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.pctv"
|
PKG_NAME="pvr.pctv"
|
||||||
PKG_VERSION="0096770"
|
PKG_VERSION="f188048"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.stalker"
|
PKG_NAME="pvr.stalker"
|
||||||
PKG_VERSION="92893c7"
|
PKG_VERSION="14a7c70"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.vbox"
|
PKG_NAME="pvr.vbox"
|
||||||
PKG_VERSION="15e864d"
|
PKG_VERSION="e70146d"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.vdr.vnsi"
|
PKG_NAME="pvr.vdr.vnsi"
|
||||||
PKG_VERSION="76652c2"
|
PKG_VERSION="1236405"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.vuplus"
|
PKG_NAME="pvr.vuplus"
|
||||||
PKG_VERSION="815ea2f"
|
PKG_VERSION="d8c6f9b"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="pvr.wmc"
|
PKG_NAME="pvr.wmc"
|
||||||
PKG_VERSION="6c8d668"
|
PKG_VERSION="898e2da"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - http://www.libreelec.tv
|
||||||
|
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="screensaver.asterwave"
|
||||||
|
PKG_VERSION="0dc2c48"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="any"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="https://github.com/notspiff/screensaver.asterwave"
|
||||||
|
PKG_URL="https://github.com/notspiff/screensaver.asterwave/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain kodi-platform soil"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION=""
|
||||||
|
PKG_SHORTDESC="screensaver.asterwave"
|
||||||
|
PKG_LONGDESC="screensaver.asterwave"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="yes"
|
||||||
|
PKG_ADDON_TYPE="xbmc.ui.screensaver"
|
||||||
|
|
||||||
|
if [ "$OPENGL" = "no" ] ; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
configure_target() {
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
|
||||||
|
..
|
||||||
|
}
|
||||||
|
|
||||||
|
addon() {
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
cp -R $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
|
||||||
|
ADDONSO=$(xmlstarlet sel -t -v "/addon/extension/@library_linux" $ADDON_BUILD/$PKG_ADDON_ID/addon.xml)
|
||||||
|
cp -L $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/$ADDONSO $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
}
|
@ -0,0 +1,54 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - http://www.libreelec.tv
|
||||||
|
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="screensaver.cpblobs"
|
||||||
|
PKG_VERSION="87a3abf"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="any"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="https://github.com/notspiff/screensaver.cpblobs"
|
||||||
|
PKG_URL="https://github.com/notspiff/screensaver.cpblobs/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain kodi-platform soil"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION=""
|
||||||
|
PKG_SHORTDESC="screensaver.cpblobs"
|
||||||
|
PKG_LONGDESC="screensaver.cpblobs"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="yes"
|
||||||
|
PKG_ADDON_TYPE="xbmc.ui.screensaver"
|
||||||
|
|
||||||
|
if [ "$OPENGL" = "no" ] ; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
configure_target() {
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
|
||||||
|
..
|
||||||
|
}
|
||||||
|
|
||||||
|
addon() {
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
cp -R $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
|
||||||
|
ADDONSO=$(xmlstarlet sel -t -v "/addon/extension/@library_linux" $ADDON_BUILD/$PKG_ADDON_ID/addon.xml)
|
||||||
|
cp -L $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/$ADDONSO $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
}
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="screensaver.shadertoy"
|
PKG_NAME="screensaver.shadertoy"
|
||||||
PKG_VERSION="7a6f6fe"
|
PKG_VERSION="394de3d"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -0,0 +1,50 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - http://www.libreelec.tv
|
||||||
|
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="visualization.pictureit"
|
||||||
|
PKG_VERSION="e11d577"
|
||||||
|
PKG_REV="1"
|
||||||
|
PKG_ARCH="x86_64"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="http://www.kodi.tv"
|
||||||
|
PKG_URL="https://github.com/linuxwhatelse/visualization.pictureit/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain kodi-platform"
|
||||||
|
PKG_PRIORITY="optional"
|
||||||
|
PKG_SECTION=""
|
||||||
|
PKG_SHORTDESC="visualization.pictureit"
|
||||||
|
PKG_LONGDESC="visualization.pictureit"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="yes"
|
||||||
|
PKG_ADDON_TYPE="xbmc.player.musicviz"
|
||||||
|
|
||||||
|
configure_target() {
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DCMAKE_MODULE_PATH=$SYSROOT_PREFIX/usr/lib/kodi \
|
||||||
|
-DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \
|
||||||
|
..
|
||||||
|
}
|
||||||
|
|
||||||
|
addon() {
|
||||||
|
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
cp -R $PKG_BUILD/.install_pkg/usr/share/kodi/addons/$PKG_NAME/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
|
||||||
|
ADDONSO=$(xmlstarlet sel -t -v "/addon/extension/@library_linux" $ADDON_BUILD/$PKG_ADDON_ID/addon.xml)
|
||||||
|
cp -L $PKG_BUILD/.install_pkg/usr/lib/kodi/addons/$PKG_NAME/$ADDONSO $ADDON_BUILD/$PKG_ADDON_ID/
|
||||||
|
}
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="visualization.shadertoy"
|
PKG_NAME="visualization.shadertoy"
|
||||||
PKG_VERSION="f998800"
|
PKG_VERSION="5b64785"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="visualization.spectrum"
|
PKG_NAME="visualization.spectrum"
|
||||||
PKG_VERSION="9dbe53a"
|
PKG_VERSION="d662ffe"
|
||||||
PKG_REV="1"
|
PKG_REV="1"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
--- a/CMakeLists.txt 2016-03-03 12:18:48.000000000 -0800
|
|
||||||
+++ b/CMakeLists.txt 2016-04-11 12:38:06.499927119 -0700
|
|
||||||
@@ -6,8 +6,8 @@
|
|
||||||
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
|
|
||||||
|
|
||||||
find_package(kodi REQUIRED)
|
|
||||||
-#find_package(platform REQUIRED)
|
|
||||||
-find_package(p8-platform REQUIRED)
|
|
||||||
+find_package(platform REQUIRED)
|
|
||||||
+#find_package(p8-platform REQUIRED)
|
|
||||||
find_package(kodiplatform REQUIRED)
|
|
||||||
find_package(CURL REQUIRED)
|
|
||||||
#find_package(yajl REQUIRED) #why is it so damn difficult to include Kodi's libraries???
|
|
||||||
@@ -94,9 +94,9 @@
|
|
||||||
endif()
|
|
||||||
|
|
||||||
include_directories(${INCLUDES}
|
|
||||||
- ${CURL_INCLUDE_DIR}
|
|
||||||
+ ${CURL_INCLUDE_DIR}
|
|
||||||
${KODI_INCLUDE_DIR}
|
|
||||||
- ${p8-platform_INCLUDE_DIRS}
|
|
||||||
+ ${platform_INCLUDE_DIRS}
|
|
||||||
${kodiplatform_INCLUDE_DIRS})
|
|
||||||
# ${YAJL_INCLUDE_DIR}
|
|
||||||
# ${platform_INCLUDE_DIRS}
|
|
||||||
diff -Naur a/src/WavforHue_Kodi.h b/src/WavforHue_Kodi.h
|
|
||||||
--- a/src/WavforHue_Kodi.h 2016-03-03 12:18:48.000000000 -0800
|
|
||||||
+++ b/src/WavforHue_Kodi.h 2016-04-11 12:38:06.500927127 -0700
|
|
||||||
@@ -23,6 +23,6 @@
|
|
||||||
// Is this worth it?
|
|
||||||
//#include <libKODI_guilib.h>
|
|
||||||
#include <libXBMC_addon.h>
|
|
||||||
-#include "p8-platform/util/util.h"
|
|
||||||
+#include "platform/util/util.h"
|
|
||||||
extern ADDON::CHelper_libXBMC_addon *XBMC;
|
|
||||||
-#endif
|
|
||||||
+#endif
|
|
||||||
\ No newline at end of file
|
|
@ -17,13 +17,13 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="kodi-platform"
|
PKG_NAME="kodi-platform"
|
||||||
PKG_VERSION="15edaf7"
|
PKG_VERSION="fed924e"
|
||||||
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="https://github.com/xbmc/kodi-platform/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/xbmc/kodi-platform/archive/$PKG_VERSION.tar.gz"
|
||||||
PKG_DEPENDS_TARGET="toolchain tinyxml kodi platform"
|
PKG_DEPENDS_TARGET="toolchain tinyxml kodi p8-platform"
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
PKG_SECTION="multimedia"
|
PKG_SECTION="multimedia"
|
||||||
PKG_SHORTDESC="kodi-platform:"
|
PKG_SHORTDESC="kodi-platform:"
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
diff -Naur kodi-platform-15edaf7.orig/CMakeLists.txt kodi-platform-15edaf7/CMakeLists.txt
|
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
||||||
--- kodi-platform-15edaf7.orig/CMakeLists.txt 2015-10-22 17:44:43.034540766 -0700
|
--- a/CMakeLists.txt 2016-01-06 00:56:44.616186365 +0100
|
||||||
+++ kodi-platform-15edaf7/CMakeLists.txt 2015-10-22 17:46:38.851326343 -0700
|
+++ b/CMakeLists.txt 2016-01-06 00:59:03.502490684 +0100
|
||||||
@@ -9,7 +9,6 @@
|
@@ -9,7 +9,6 @@
|
||||||
find_package(TinyXML REQUIRED)
|
find_package(TinyXML REQUIRED)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
find_package(platform REQUIRED)
|
find_package(p8-platform REQUIRED)
|
||||||
-include(UseMultiArch.cmake)
|
-include(UseMultiArch.cmake)
|
||||||
include(CheckAtomic.cmake)
|
include(CheckAtomic.cmake)
|
||||||
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
--- a/720p/IncludesHomeMenuItems.xml 2012-07-22 21:56:07.000000000 +0400
|
|
||||||
+++ b/720p/IncludesHomeMenuItems.xml 2012-09-13 23:34:16.975470148 +0400
|
|
||||||
@@ -189,6 +189,11 @@
|
|
||||||
<label>5</label>
|
|
||||||
<onclick>ActivateWindow(Settings)</onclick>
|
|
||||||
</control>
|
|
||||||
+ <control type="button" id="90120">
|
|
||||||
+ <include>ButtonHomeSubCommonValues</include>
|
|
||||||
+ <label>@DISTRONAME@</label>
|
|
||||||
+ <onclick>RunAddon(service.libreelec.settings)</onclick>
|
|
||||||
+ </control>
|
|
||||||
<control type="button" id="90123">
|
|
||||||
<include>ButtonHomeSubCommonValues</include>
|
|
||||||
<label>7</label>
|
|
@ -16,8 +16,8 @@
|
|||||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="kodi-theme-Confluence"
|
PKG_NAME="kodi-theme-Estuary"
|
||||||
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"
|
||||||
@ -26,7 +26,7 @@ PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
|||||||
PKG_DEPENDS_TARGET="toolchain kodi:host"
|
PKG_DEPENDS_TARGET="toolchain kodi:host"
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
PKG_SECTION="mediacenter"
|
PKG_SECTION="mediacenter"
|
||||||
PKG_SHORTDESC="kodi-theme-Confluence: Kodi Mediacenter default theme"
|
PKG_SHORTDESC="kodi-theme-Estuary: Kodi Mediacenter default theme"
|
||||||
PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center and XBMC) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control."
|
PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center and XBMC) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control."
|
||||||
|
|
||||||
PKG_IS_ADDON="no"
|
PKG_IS_ADDON="no"
|
||||||
@ -37,19 +37,28 @@ make_target() {
|
|||||||
-output Textures.xbt \
|
-output Textures.xbt \
|
||||||
-dupecheck \
|
-dupecheck \
|
||||||
-use_none
|
-use_none
|
||||||
|
|
||||||
|
for theme in themes/*; do
|
||||||
|
TexturePacker -input $theme \
|
||||||
|
-output $(basename $theme).xbt \
|
||||||
|
-dupecheck
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
makeinstall_target() {
|
makeinstall_target() {
|
||||||
mkdir -p $INSTALL/usr/share/kodi/addons/skin.confluence
|
mkdir -p $INSTALL/usr/share/kodi/addons/skin.estuary
|
||||||
cp -R */ $INSTALL/usr/share/kodi/addons/skin.confluence
|
cp -R */ $INSTALL/usr/share/kodi/addons/skin.estuary
|
||||||
cp *.txt $INSTALL/usr/share/kodi/addons/skin.confluence
|
cp *.txt $INSTALL/usr/share/kodi/addons/skin.estuary
|
||||||
cp *.xml $INSTALL/usr/share/kodi/addons/skin.confluence
|
cp *.xml $INSTALL/usr/share/kodi/addons/skin.estuary
|
||||||
cp *.png $INSTALL/usr/share/kodi/addons/skin.confluence
|
cp *.png $INSTALL/usr/share/kodi/addons/skin.estuary
|
||||||
rm -rf $INSTALL/usr/share/kodi/addons/skin.confluence/media
|
rm -rf $INSTALL/usr/share/kodi/addons/skin.estuary/media
|
||||||
|
|
||||||
mkdir -p $INSTALL/usr/share/kodi/addons/skin.confluence/media
|
mkdir -p $INSTALL/usr/share/kodi/addons/skin.estuary/media
|
||||||
cp Textures.xbt $INSTALL/usr/share/kodi/addons/skin.confluence/media
|
cp Textures.xbt $INSTALL/usr/share/kodi/addons/skin.estuary/media
|
||||||
|
for theme in themes/*; do
|
||||||
|
cp $(basename $theme).xbt $INSTALL/usr/share/kodi/addons/skin.estuary/media
|
||||||
|
done
|
||||||
|
|
||||||
# Rebrand
|
# Rebrand
|
||||||
sed -e "s,@DISTRONAME@,$DISTRONAME,g" -i $INSTALL/usr/share/kodi/addons/skin.confluence/720p/IncludesHomeMenuItems.xml
|
sed -e "s,@DISTRONAME@,$DISTRONAME,g" -i $INSTALL/usr/share/kodi/addons/skin.estuary/1080i/Home.xml
|
||||||
}
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
diff -Naur a/1080i/Home.xml b/1080i/Home.xml
|
||||||
|
--- a/1080i/Home.xml 2016-03-29 23:29:42.616607010 +0100
|
||||||
|
+++ b/1080i/Home.xml 2016-03-29 23:30:49.205150336 +0100
|
||||||
|
@@ -1090,6 +1090,12 @@
|
||||||
|
<property name="id">weather</property>
|
||||||
|
<visible>!Skin.HasSetting(HomeMenuNoWeatherButton)</visible>
|
||||||
|
</item>
|
||||||
|
+ <item>
|
||||||
|
+ <label>@DISTRONAME@</label>
|
||||||
|
+ <onclick>RunAddon(service.libreelec.settings)</onclick>
|
||||||
|
+ <thumb>icons/home/libreelec.png</thumb>
|
||||||
|
+ <property name="id">libreelec</property>
|
||||||
|
+ </item>
|
||||||
|
</content>
|
||||||
|
</control>
|
||||||
|
</control>
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="repository.libreelec.tv"
|
<addon id="repository.libreelec.tv"
|
||||||
name="LibreELEC Add-ons"
|
name="LibreELEC Add-ons"
|
||||||
version="7.0.0"
|
version="8.0.0"
|
||||||
provider-name="Team LibreELEC">
|
provider-name="Team LibreELEC">
|
||||||
<extension point="xbmc.addon.repository"
|
<extension point="xbmc.addon.repository"
|
||||||
name="LibreELEC Add-ons">
|
name="LibreELEC Add-ons">
|
||||||
|
@ -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 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,34 +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.confluence/media
|
mkdir -p $ROOT/$PKG_BUILD/addons/skin.estuary/media
|
||||||
touch $PKG_BUILD/addons/skin.confluence/media/Makefile.in
|
touch $ROOT/$PKG_BUILD/addons/skin.estuary/media/Makefile.in
|
||||||
|
|
||||||
# autoreconf
|
|
||||||
BOOTSTRAP_STANDALONE=1 make -C $PKG_BUILD -f bootstrap.mk
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
@ -316,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() {
|
||||||
@ -323,8 +333,8 @@ make_target() {
|
|||||||
SKIN_DIR="skin.`tolower $SKIN_DEFAULT`"
|
SKIN_DIR="skin.`tolower $SKIN_DEFAULT`"
|
||||||
|
|
||||||
# setup default skin inside the sources
|
# setup default skin inside the sources
|
||||||
sed -i -e "s|skin.confluence|$SKIN_DIR|g" $ROOT/$PKG_BUILD/xbmc/settings/Settings.h
|
sed -i -e "s|skin.estuary|$SKIN_DIR|g" $ROOT/$PKG_BUILD/xbmc/system.h
|
||||||
sed -i -e "s|skin.confluence|$SKIN_DIR|g" $ROOT/$PKG_BUILD/system/settings/settings.xml
|
sed -i -e "s|skin.estuary|$SKIN_DIR|g" $ROOT/$PKG_BUILD/system/settings/settings.xml
|
||||||
|
|
||||||
make externals
|
make externals
|
||||||
make kodi.bin
|
make kodi.bin
|
||||||
@ -340,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
|
||||||
@ -361,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
|
||||||
@ -375,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
|
||||||
@ -405,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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
|
@ -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
|
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
@ -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();
|
|
@ -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;
|
|
@ -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'"
|
||||||
|
|
||||||
|
@ -16,18 +16,19 @@
|
|||||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="platform"
|
PKG_NAME="p8-platform"
|
||||||
PKG_VERSION="081032f"
|
PKG_VERSION="38343e0"
|
||||||
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="https://github.com/Pulse-Eight/platform/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/Pulse-Eight/platform/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_SOURCE_DIR="platform-$PKG_VERSION*"
|
||||||
PKG_DEPENDS_TARGET="toolchain"
|
PKG_DEPENDS_TARGET="toolchain"
|
||||||
PKG_PRIORITY="optional"
|
PKG_PRIORITY="optional"
|
||||||
PKG_SECTION="multimedia"
|
PKG_SECTION="multimedia"
|
||||||
PKG_SHORTDESC="platform:"
|
PKG_SHORTDESC="Platform support library used by libCEC and binary add-ons for Kodi"
|
||||||
PKG_LONGDESC="platform:"
|
PKG_LONGDESC="Platform support library used by libCEC and binary add-ons for Kodi"
|
||||||
|
|
||||||
PKG_IS_ADDON="no"
|
PKG_IS_ADDON="no"
|
||||||
PKG_AUTORECONF="no"
|
PKG_AUTORECONF="no"
|
@ -0,0 +1,28 @@
|
|||||||
|
From f91594676d1f75530addd87363ccbc6510efb84e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Saraev <stefan@saraev.ca>
|
||||||
|
Date: Fri, 8 May 2015 11:19:42 +0300
|
||||||
|
Subject: [PATCH] revert cc badness
|
||||||
|
|
||||||
|
this reverts upstream commit 68f8418
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 6 ------
|
||||||
|
1 file changed, 6 deletions(-)
|
||||||
|
|
||||||
|
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
--- a/CMakeLists.txt 2016-01-05 23:58:40.000000000 +0100
|
||||||
|
+++ b/CMakeLists.txt 2016-01-06 01:26:52.004076744 +0100
|
||||||
|
@@ -22,12 +22,6 @@
|
||||||
|
src/windows/os-threads.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-set(p8-platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/p8-platform")
|
||||||
|
-IF(WIN32)
|
||||||
|
- LIST(APPEND p8-platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/p8-platform/windows")
|
||||||
|
-ENDIF(WIN32)
|
||||||
|
-set(p8-platform_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
-
|
||||||
|
if(NOT ${CORE_SYSTEM_NAME} STREQUAL "")
|
||||||
|
if(${CORE_SYSTEM_NAME} STREQUAL "osx" OR ${CORE_SYSTEM_NAME} STREQUAL "ios")
|
||||||
|
list(APPEND p8-platform_LIBRARIES "-framework CoreVideo -framework IOKit")
|
||||||
|
--
|
||||||
|
1.7.10.4
|
@ -1,30 +0,0 @@
|
|||||||
From f91594676d1f75530addd87363ccbc6510efb84e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stefan Saraev <stefan@saraev.ca>
|
|
||||||
Date: Fri, 8 May 2015 11:19:42 +0300
|
|
||||||
Subject: [PATCH] revert cc badness
|
|
||||||
|
|
||||||
this reverts upstream commit 68f8418
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 6 ------
|
|
||||||
1 file changed, 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 73fae2e..dc3e1b5 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -22,12 +22,6 @@ if(WIN32)
|
|
||||||
src/windows/os-threads.cpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
-set(platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/platform")
|
|
||||||
-IF(WIN32)
|
|
||||||
- LIST(APPEND platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/platform/windows")
|
|
||||||
-ENDIF(WIN32)
|
|
||||||
-set(platform_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
|
||||||
-
|
|
||||||
if(NOT ${CORE_SYSTEM_NAME} STREQUAL "")
|
|
||||||
if(${CORE_SYSTEM_NAME} STREQUAL "darwin" OR ${CORE_SYSTEM_NAME} STREQUAL "ios")
|
|
||||||
list(APPEND platform_LIBRARIES "-framework CoreVideo -framework IOKit")
|
|
||||||
--
|
|
||||||
1.7.10.4
|
|
||||||
|
|
@ -37,7 +37,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
|
|||||||
--enable-drm \
|
--enable-drm \
|
||||||
--enable-x11 \
|
--enable-x11 \
|
||||||
--enable-glx \
|
--enable-glx \
|
||||||
--disable-egl \
|
--enable-egl \
|
||||||
--disable-wayland \
|
--disable-wayland \
|
||||||
--disable-dummy-driver \
|
--disable-dummy-driver \
|
||||||
--with-drivers-path=/usr/lib/va"
|
--with-drivers-path=/usr/lib/va"
|
||||||
|
@ -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
|
|
||||||
zcmc(fX;f2Z9>y=ZH#f_@I(Toefj|vNK&XX)Kv`7?5Fj9nfFK|eqk^a)i$D+vOGrT0
|
|
||||||
z5Y~W_Kw^kiL|j0tWs!ndI9M0djt<b)1^0UFSf^(ku;<M510Uv`Ij8e}c;7GYd*1VV
|
|
||||||
z{?GGp{e7KX5|{uJcmpi14<9}_J39-7LO(x0fj}@eHm22TEi5dIjEuazyk=%*-oJnU
|
|
||||||
z@#5lU`YS}SUp)V5#7Wzkkg-$1%u32gWG3uM$ljZhAh1c=zbgeW{eW!p3E#}|4DqqI
|
|
||||||
zVS{=L57sWeUi=h*9_f$yCnc!oCm!*6V)Hg%)Sx4b;3*G3y_Tf5-#ll{cC@v<x=)pA
|
|
||||||
zDy$p)mTgGTcQYShbM#tm2>#Zlzxi?2cy3&gq6Zb5u5$@@ybycc*-E=i(!PE0#hKFr
|
|
||||||
z8YwHA>k$o6chjKaEI)p!$wAoDL&l~=#<s>v-6#Yi*r{$k>ZaBy{Iun&<0smBO`6!}
|
|
||||||
z&StP`{nE=0r$xK_71$KwBW33sD3@jYuko!${Lx^a-L6nm0XI6%X29c~=ih=uThmJ)
|
|
||||||
z0`sx_;Y1skXCCRh-xeI%QSoNyoC$Wv8mqotx(oQi`#)m+fqj0FJ-Ty#;#jn=BdyK1
|
|
||||||
z=B6qP9+rpm>D&te;)?^%P6X=O1hYo3EX2|KvKf!7<in@|#EeC0w2e)Mm}q{`poK|>
|
|
||||||
zPC<6`-z>t4dt|sDMs?7$3qAAwp-9+}MG!&<X;8uHJ!}cJinh0cyE~Vi50<$Xx>HJG
|
|
||||||
zR56mo+HAFw+XYc`x>Q}qx+NXw8e)#H8!s@v;-0BxXf+|F!d7fF@#<yem8N9j5SC=r
|
|
||||||
zc$J(})qZ_E@sRLVqKtdLWG-?<)m``mc;5dsHW7am(_Qrv810mnzqP3UthRm2kuT0W
|
|
||||||
z&lrxG68`O#Kj6Puz_+qnz<*@Nbri&j*VHS+Mo-Jb?JMMa0!wm-Z@4q@m?_7ZAll^_
|
|
||||||
zDtpS%N^D4F2KKG&^e2?Q+9#gy(T;AXoq>p{m^y-r6hhl}(OBf7Z9T-XA592wChCS0
|
|
||||||
zghE0dyCjN1p_XlCgFCZKa-d{)QY(vcG`ORqtd3Hv5q9cwWnZ4q9qQ6`p6gJt`i)yI
|
|
||||||
z(k}USCso)D$=T8}kwkOttLQTdyk*$=N_P3zvI>gu=+%v7SlP7u{o}wK&@wvs;D^UR
|
|
||||||
z_hrU2=hu&--McI1v8!sb^Bc*rSV@S1`PqwVQ`z9M6-zo`(fwU?)%?V6L!Su!wg%>{
|
|
||||||
z_Ap6;JlsqFZs&4*_Hyca%X9UeJIQa&rOjqikQOUh?PJH$+b_COMJv9VKYa@bFkHLx
|
|
||||||
zuWLOM>d88zwur244toBqkoynF%QKPCmFw0Ka@mD&l3lo%OWd7hoRh}_r7X*^);1h%
|
|
||||||
zS0Y48mAJw~sY5l#+K!_g>SODUoZ~jI`sJw?F0nP#X1q5bEJf^ykCn3huW0t=Buk;;
|
|
||||||
z><OG4E{)F{TT=~)r?<_`<?!07($8YgTA!>>ir2ELZoSz5-s3JdcW?Z_9fzG0p9c+f
|
|
||||||
zF75u0<G0q%Pgq*{s0DHLH8@=}91=$HB+Fe*zx;<VO;%Lb%Fn7>#&QywaXZ%t%wx<X
|
|
||||||
zvUdSJpAPsYepv&92^b?33aQ+l$}%1*we|81iQN&gY;M_x@Tm;K7TZ*q#I*>{@Fph2
|
|
||||||
z8>d4#CVRatgPNLgq_yn;r95LtQ=1x5s+u(jzg=bD(&G)*)dYbk>S|JZ)~LT9sTL@u
|
|
||||||
zECM`$!UZY^R=O23aIrSC7%KKzN9#j7fanO3;b9=-Uc<wOwcmJ`n?DRl3VQB76FuWr
|
|
||||||
ze&-Y}Y7)5DF@p(38BssGAF%vvh1c?>$Ny%r0K&Q!3cxIY#cXS+p(!;!p<8t|C$aCa
|
|
||||||
zmw^IV`QJZ}KB=L;O)P3iejKViBr3riXEU+Os6+HSe_FAg!SQwiv}qZC3nHl$W!6d@
|
|
||||||
z71S4lX+^(KPOx(Lj8E2YV-Zqp(+-;Kb+HVT)!}eMBgt)5sl=u6D6D9$YloY~9dexu
|
|
||||||
zC}LF_6A=VFoaEBm3%6lfCWlPwM@VL+UM3*w1;PDiz0>h(8VN;V8aTNv3fh%t9zvN$
|
|
||||||
za|0i22m!`XM6L*S0Fdda0iPRhpr2%l$fxG?zK7#0^aKDQU~07$CjLum<cgsI^Cg?$
|
|
||||||
z=^u0uFIa(TpbQ(@x~a@M#9Ht8tlKT~kX&o|rlNu8u|88ZKbw*Z>>`5g?|W04<I|k{
|
|
||||||
zf8kS=oj={Y;@8;XOz~=TqntirW=YnyZvFmV#w8iwSj1b+vE)h1aIm71n3cCdS}6x>
|
|
||||||
zWxRT@I!WkM-tG!!7x5q%CKh;dv|7?pi#(SC(n*+<A&fO4BC*gpt<Kw#?v@QANIy>0
|
|
||||||
z_JkG+)}Xfm$~B~iw*|Y6V&e#09^^HH!`DEm|CuKkbWa-O@fsst>tv+k@8<e0IeRDQ
|
|
||||||
z6%&;KwCx)MxzJKg`0~%-=L+cyz|v~xJYkuvQl4L~U`3Vi2q5TUQtYbI7P9j?Srnoc
|
|
||||||
zBrcLeuot<fb1!`d3L1ehObS%-LknRP9YwAKlo7Z_N}NOuuOk?7WV8&K90Km+q>)}8
|
|
||||||
zIQam3jP;F3e?*@>`tHd{w(%sqW=s(>)3Q9u09{KSdvd$zkgeI0Rru=vq=DF#Oe*oT
|
|
||||||
zUC2Jj$)htMM58IqjK$$@6z*jZz{EVhT7wY1hm0T)9FAM%LDXn*5`t*q1rLmYg^^Y_
|
|
||||||
z5X0LrM!i=K-<X=iiDNDt@Wv0=Q}2ho$4CwE7JL2`Pa{@kR#MJmqt?c3cFpEb!SRfx
|
|
||||||
zJMm8m!h#Wq2wGEHCUm6MHllU%%Ic=_qa3j-1zZ#YL5LrPfOWb>AxOOl={&<{L5D6K
|
|
||||||
z>;#ZUjACfyRUVK|-3P;Ja2nW>ZDDm2Hk|&>-$hEgc><W-n8G36B;oVn8+Z@Cd2$CA
|
|
||||||
ze9w4E`#J92pw}150idYeiA<k5?!9CX9{*1!Afw-i3_cctKAXI5B~jNaPrTKK7b_A5
|
|
||||||
z8uu_GFd~x6@lQ71$LFn<?BLbPFp)E*BsW1;@7%m!QBQAbu2V~jB5PcwwnP{{;2KoO
|
|
||||||
zppv?~Ihmq-;Cvsc%*ZFPH~C~Y$qAr<mw-hT;=6l_LC`70-8O=J7mW7vmCd?rz=DQY
|
|
||||||
z)LHJeZ=Y~xlivUbwT!#3*W1LsccOK@GL={@|AY`J{cjQwf&SitlwrC&U|`R?P4?+L
|
|
||||||
zr)p}C0u>zg*B6Z$SRsZ~{lGhZr?x1$s1t=S{s}LNuEC0*wfD$uoK%8ST1Gwr7S<)+
|
|
||||||
z9iovkGf8Q-PRuArxY*w<zSKAaAqKDZq2vZD6jGN+60GWIJ>t@#b!a<6hm>8dJ&H!R
|
|
||||||
z$Oeur6$C~7PILzO;&4;G^(D-5m{@KUl(MQ1yKs>x+CMqUUllb3x?=fppG8_v>@)ZY
|
|
||||||
xGUUb21Yb|%0k3;EZL|UA71ss70{N2%rZhjU!V8TtZxzYw_F;tVxR3z1e*p+ht@8i?
|
|
||||||
|
|
||||||
literal 0
|
|
||||||
HcmV?d00001
|
|
||||||
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -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
|
|
||||||
zcmc(fX;f2Z9>y=ZH#f_@I(Toefj|vNK&XX)Kv`7?5Fj9nfFK|eqk^a)i$D+vOGrT0
|
|
||||||
z5Y~W_Kw^kiL|j0tWs!ndI9M0djt<b)1^0UFSf^(ku;<M510Uv`Ij8e}c;7GYd*1VV
|
|
||||||
z{?GGp{e7KX5|{uJcmpi14<9}_J39-7LO(x0fj}@eHm22TEi5dIjEuazyk=%*-oJnU
|
|
||||||
z@#5lU`YS}SUp)V5#7Wzkkg-$1%u32gWG3uM$ljZhAh1c=zbgeW{eW!p3E#}|4DqqI
|
|
||||||
zVS{=L57sWeUi=h*9_f$yCnc!oCm!*6V)Hg%)Sx4b;3*G3y_Tf5-#ll{cC@v<x=)pA
|
|
||||||
zDy$p)mTgGTcQYShbM#tm2>#Zlzxi?2cy3&gq6Zb5u5$@@ybycc*-E=i(!PE0#hKFr
|
|
||||||
z8YwHA>k$o6chjKaEI)p!$wAoDL&l~=#<s>v-6#Yi*r{$k>ZaBy{Iun&<0smBO`6!}
|
|
||||||
z&StP`{nE=0r$xK_71$KwBW33sD3@jYuko!${Lx^a-L6nm0XI6%X29c~=ih=uThmJ)
|
|
||||||
z0`sx_;Y1skXCCRh-xeI%QSoNyoC$Wv8mqotx(oQi`#)m+fqj0FJ-Ty#;#jn=BdyK1
|
|
||||||
z=B6qP9+rpm>D&te;)?^%P6X=O1hYo3EX2|KvKf!7<in@|#EeC0w2e)Mm}q{`poK|>
|
|
||||||
zPC<6`-z>t4dt|sDMs?7$3qAAwp-9+}MG!&<X;8uHJ!}cJinh0cyE~Vi50<$Xx>HJG
|
|
||||||
zR56mo+HAFw+XYc`x>Q}qx+NXw8e)#H8!s@v;-0BxXf+|F!d7fF@#<yem8N9j5SC=r
|
|
||||||
zc$J(})qZ_E@sRLVqKtdLWG-?<)m``mc;5dsHW7am(_Qrv810mnzqP3UthRm2kuT0W
|
|
||||||
z&lrxG68`O#Kj6Puz_+qnz<*@Nbri&j*VHS+Mo-Jb?JMMa0!wm-Z@4q@m?_7ZAll^_
|
|
||||||
zDtpS%N^D4F2KKG&^e2?Q+9#gy(T;AXoq>p{m^y-r6hhl}(OBf7Z9T-XA592wChCS0
|
|
||||||
zghE0dyCjN1p_XlCgFCZKa-d{)QY(vcG`ORqtd3Hv5q9cwWnZ4q9qQ6`p6gJt`i)yI
|
|
||||||
z(k}USCso)D$=T8}kwkOttLQTdyk*$=N_P3zvI>gu=+%v7SlP7u{o}wK&@wvs;D^UR
|
|
||||||
z_hrU2=hu&--McI1v8!sb^Bc*rSV@S1`PqwVQ`z9M6-zo`(fwU?)%?V6L!Su!wg%>{
|
|
||||||
z_Ap6;JlsqFZs&4*_Hyca%X9UeJIQa&rOjqikQOUh?PJH$+b_COMJv9VKYa@bFkHLx
|
|
||||||
zuWLOM>d88zwur244toBqkoynF%QKPCmFw0Ka@mD&l3lo%OWd7hoRh}_r7X*^);1h%
|
|
||||||
zS0Y48mAJw~sY5l#+K!_g>SODUoZ~jI`sJw?F0nP#X1q5bEJf^ykCn3huW0t=Buk;;
|
|
||||||
z><OG4E{)F{TT=~)r?<_`<?!07($8YgTA!>>ir2ELZoSz5-s3JdcW?Z_9fzG0p9c+f
|
|
||||||
zF75u0<G0q%Pgq*{s0DHLH8@=}91=$HB+Fe*zx;<VO;%Lb%Fn7>#&QywaXZ%t%wx<X
|
|
||||||
zvUdSJpAPsYepv&92^b?33aQ+l$}%1*we|81iQN&gY;M_x@Tm;K7TZ*q#I*>{@Fph2
|
|
||||||
z8>d4#CVRatgPNLgq_yn;r95LtQ=1x5s+u(jzg=bD(&G)*)dYbk>S|JZ)~LT9sTL@u
|
|
||||||
zECM`$!UZY^R=O23aIrSC7%KKzN9#j7fanO3;b9=-Uc<wOwcmJ`n?DRl3VQB76FuWr
|
|
||||||
ze&-Y}Y7)5DF@p(38BssGAF%vvh1c?>$Ny%r0K&Q!3cxIY#cXS+p(!;!p<8t|C$aCa
|
|
||||||
zmw^IV`QJZ}KB=L;O)P3iejKViBr3riXEU+Os6+HSe_FAg!SQwiv}qZC3nHl$W!6d@
|
|
||||||
z71S4lX+^(KPOx(Lj8E2YV-Zqp(+-;Kb+HVT)!}eMBgt)5sl=u6D6D9$YloY~9dexu
|
|
||||||
zC}LF_6A=VFoaEBm3%6lfCWlPwM@VL+UM3*w1;PDiz0>h(8VN;V8aTNv3fh%t9zvN$
|
|
||||||
za|0i22m!`XM6L*S0Fdda0iPRhpr2%l$fxG?zK7#0^aKDQU~07$CjLum<cgsI^Cg?$
|
|
||||||
z=^u0uFIa(TpbQ(@x~a@M#9Ht8tlKT~kX&o|rlNu8u|88ZKbw*Z>>`5g?|W04<I|k{
|
|
||||||
zf8kS=oj={Y;@8;XOz~=TqntirW=YnyZvFmV#w8iwSj1b+vE)h1aIm71n3cCdS}6x>
|
|
||||||
zWxRT@I!WkM-tG!!7x5q%CKh;dv|7?pi#(SC(n*+<A&fO4BC*gpt<Kw#?v@QANIy>0
|
|
||||||
z_JkG+)}Xfm$~B~iw*|Y6V&e#09^^HH!`DEm|CuKkbWa-O@fsst>tv+k@8<e0IeRDQ
|
|
||||||
z6%&;KwCx)MxzJKg`0~%-=L+cyz|v~xJYkuvQl4L~U`3Vi2q5TUQtYbI7P9j?Srnoc
|
|
||||||
zBrcLeuot<fb1!`d3L1ehObS%-LknRP9YwAKlo7Z_N}NOuuOk?7WV8&K90Km+q>)}8
|
|
||||||
zIQam3jP;F3e?*@>`tHd{w(%sqW=s(>)3Q9u09{KSdvd$zkgeI0Rru=vq=DF#Oe*oT
|
|
||||||
zUC2Jj$)htMM58IqjK$$@6z*jZz{EVhT7wY1hm0T)9FAM%LDXn*5`t*q1rLmYg^^Y_
|
|
||||||
z5X0LrM!i=K-<X=iiDNDt@Wv0=Q}2ho$4CwE7JL2`Pa{@kR#MJmqt?c3cFpEb!SRfx
|
|
||||||
zJMm8m!h#Wq2wGEHCUm6MHllU%%Ic=_qa3j-1zZ#YL5LrPfOWb>AxOOl={&<{L5D6K
|
|
||||||
z>;#ZUjACfyRUVK|-3P;Ja2nW>ZDDm2Hk|&>-$hEgc><W-n8G36B;oVn8+Z@Cd2$CA
|
|
||||||
ze9w4E`#J92pw}150idYeiA<k5?!9CX9{*1!Afw-i3_cctKAXI5B~jNaPrTKK7b_A5
|
|
||||||
z8uu_GFd~x6@lQ71$LFn<?BLbPFp)E*BsW1;@7%m!QBQAbu2V~jB5PcwwnP{{;2KoO
|
|
||||||
zppv?~Ihmq-;Cvsc%*ZFPH~C~Y$qAr<mw-hT;=6l_LC`70-8O=J7mW7vmCd?rz=DQY
|
|
||||||
z)LHJeZ=Y~xlivUbwT!#3*W1LsccOK@GL={@|AY`J{cjQwf&SitlwrC&U|`R?P4?+L
|
|
||||||
zr)p}C0u>zg*B6Z$SRsZ~{lGhZr?x1$s1t=S{s}LNuEC0*wfD$uoK%8ST1Gwr7S<)+
|
|
||||||
z9iovkGf8Q-PRuArxY*w<zSKAaAqKDZq2vZD6jGN+60GWIJ>t@#b!a<6hm>8dJ&H!R
|
|
||||||
z$Oeur6$C~7PILzO;&4;G^(D-5m{@KUl(MQ1yKs>x+CMqUUllb3x?=fppG8_v>@)ZY
|
|
||||||
xGUUb21Yb|%0k3;EZL|UA71ss70{N2%rZhjU!V8TtZxzYw_F;tVxR3z1e*p+ht@8i?
|
|
||||||
|
|
||||||
literal 0
|
|
||||||
HcmV?d00001
|
|
||||||
|
|
||||||
--
|
|
||||||
2.5.0
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -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
|
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
||||||
|
@ -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
|
|
||||||
|
|
||||||
|
@ -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")
|
@ -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;
|
||||||
|
};
|
@ -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
|
||||||
|
@ -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()
|
||||||
{
|
{
|
||||||
|
@ -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++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
37
packages/multimedia/libmpeg2/package.mk → tools/mkpkg/mkpkg_libcec
Normal file → Executable file
37
packages/multimedia/libmpeg2/package.mk → tools/mkpkg/mkpkg_libcec
Normal file → Executable file
@ -1,3 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
################################################################################
|
################################################################################
|
||||||
# This file is part of OpenELEC - http://www.openelec.tv
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
@ -16,25 +17,25 @@
|
|||||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="libmpeg2"
|
echo "getting sources..."
|
||||||
PKG_VERSION="0.5.1"
|
if [ ! -d libcec.git ]; then
|
||||||
PKG_REV="1"
|
git clone --depth=1 https://github.com/Pulse-Eight/libcec.git libcec.git
|
||||||
PKG_ARCH="any"
|
fi
|
||||||
PKG_LICENSE="GPL"
|
|
||||||
PKG_SITE="http://libmpeg2.sourceforge.net/"
|
|
||||||
PKG_URL="http://libmpeg2.sourceforge.net/files/$PKG_NAME-$PKG_VERSION.tar.gz"
|
|
||||||
PKG_DEPENDS_TARGET="toolchain"
|
|
||||||
PKG_PRIORITY="optional"
|
|
||||||
PKG_SECTION="multimedia"
|
|
||||||
PKG_SHORTDESC="libmpeg2: The MPEG Library - version 2"
|
|
||||||
PKG_LONGDESC="The MPEG Library is a collection of C routines to decode MPEG-1 and MPEG-2 movies and dither them in a variety of colour schemes."
|
|
||||||
PKG_IS_ADDON="no"
|
|
||||||
|
|
||||||
PKG_AUTORECONF="yes"
|
cd libcec.git
|
||||||
|
git pull
|
||||||
|
GIT_REV=`git log -n1 --format=%h`
|
||||||
|
cd ..
|
||||||
|
|
||||||
PKG_CONFIGURE_OPTS_TARGET="--disable-sdl --without-x"
|
echo "copying sources..."
|
||||||
|
rm -rf libcec-$GIT_REV
|
||||||
|
cp -R libcec.git libcec-$GIT_REV
|
||||||
|
|
||||||
post_makeinstall_target() {
|
echo "cleaning sources..."
|
||||||
rm -rf $INSTALL/usr/bin
|
rm -rf libcec-$GIT_REV/.git
|
||||||
}
|
|
||||||
|
|
||||||
|
echo "packing sources..."
|
||||||
|
tar cvJf libcec-$GIT_REV.tar.xz libcec-$GIT_REV
|
||||||
|
|
||||||
|
echo "remove temporary sourcedir..."
|
||||||
|
rm -rf libcec-$GIT_REV
|
28
packages/mediacenter/libsquish/package.mk → tools/mkpkg/mkpkg_soil
Normal file → Executable file
28
packages/mediacenter/libsquish/package.mk → tools/mkpkg/mkpkg_soil
Normal file → Executable file
@ -1,6 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
################################################################################
|
################################################################################
|
||||||
# This file is part of OpenELEC - http://www.openelec.tv
|
# This file is part of OpenELEC - http://www.openelec.tv
|
||||||
# Copyright (C) 2014 Stefan Saraev (stefan@sarae.va)
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||||
#
|
#
|
||||||
# OpenELEC is free software: you can redistribute it and/or modify
|
# OpenELEC is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -16,21 +17,14 @@
|
|||||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="libsquish"
|
echo "getting sources..."
|
||||||
PKG_VERSION="1.10-openelec"
|
wget http://www.lonesock.net/files/soil.zip
|
||||||
PKG_REV="1"
|
unzip soil.zip
|
||||||
PKG_ARCH="any"
|
mv "Simple OpenGL Image Library" soil-1.16
|
||||||
PKG_LICENSE="GPL"
|
|
||||||
PKG_SITE=""
|
|
||||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
|
|
||||||
PKG_DEPENDS_HOST="toolchain"
|
|
||||||
PKG_PRIORITY="optional"
|
|
||||||
PKG_SECTION=""
|
|
||||||
PKG_SHORTDESC="libsquish"
|
|
||||||
PKG_LONGDESC="libsquish"
|
|
||||||
|
|
||||||
PKG_IS_ADDON="no"
|
echo "packing sources..."
|
||||||
PKG_AUTORECONF="no"
|
tar cvJf soil-1.16.tar.xz soil-1.16
|
||||||
|
|
||||||
PKG_MAKE_OPTS_TARGET="PREFIX=/usr INSTALL_DIR=$SYSROOT_PREFIX/usr"
|
echo "remove temporary sourcedir..."
|
||||||
PKG_MAKEINSTALL_OPTS_TARGET="$PKG_MAKE_OPTS_TARGET"
|
rm -rf soil-1.16
|
||||||
|
rm -rf soil.zip
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user