mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
kodi: update to kodi-15.0-beta1-7dacc6e
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi-theme-Confluence"
|
||||
PKG_VERSION="15.0-beta1-fea3e6c"
|
||||
PKG_VERSION="15.0-beta1-7dacc6e"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="kodi"
|
||||
PKG_VERSION="15.0-beta1-fea3e6c"
|
||||
PKG_VERSION="15.0-beta1-7dacc6e"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,31 +1,35 @@
|
||||
From c39ded1793ba6839bc53cd9a28956d8cc8630c82 Mon Sep 17 00:00:00 2001
|
||||
From fb58bfbb6a87666d35fde23ff08cf9a47071e188 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Mon, 2 Mar 2015 23:50:40 +0200
|
||||
Subject: [PATCH 05/12] make binary addons executable
|
||||
|
||||
add executable mode to all files in addon's bin folder
|
||||
---
|
||||
xbmc/addons/AddonInstaller.cpp | 23 +++++++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
|
||||
diff --git a/xbmc/addons/AddonInstaller.cpp b/xbmc/addons/AddonInstaller.cpp
|
||||
index 2af33a3..b8ec673 100644
|
||||
--- a/xbmc/addons/AddonInstaller.cpp
|
||||
+++ b/xbmc/addons/AddonInstaller.cpp
|
||||
@@ -40,6 +40,9 @@
|
||||
#include "dialogs/GUIDialogOK.h"
|
||||
#include "dialogs/GUIDialogProgress.h"
|
||||
#include "URL.h"
|
||||
credits to vpeter4 for the patch
|
||||
---
|
||||
xbmc/addons/Addon.cpp | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/xbmc/addons/Addon.cpp b/xbmc/addons/Addon.cpp
|
||||
index bf5c584..03325dd 100644
|
||||
--- a/xbmc/addons/Addon.cpp
|
||||
+++ b/xbmc/addons/Addon.cpp
|
||||
@@ -44,6 +44,10 @@
|
||||
#include <string.h>
|
||||
#include <ostream>
|
||||
|
||||
+#include <iostream>
|
||||
+#include <dirent.h>
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
using XFILE::CDirectory;
|
||||
using XFILE::CFile;
|
||||
using namespace std;
|
||||
@@ -674,6 +678,28 @@ void OnPostInstall(const AddonPtr& addon, bool update, bool modal)
|
||||
if (CAddonMgr::Get().GetAddon(addon->ID(), localAddon, ADDON_CONTEXT_ITEM))
|
||||
CContextMenuManager::Get().Register(std::static_pointer_cast<CContextItemAddon>(localAddon));
|
||||
|
||||
#include <functional>
|
||||
|
||||
@@ -869,6 +872,26 @@ bool CAddonInstallJob::Install(const std::string &installFrom, const AddonPtr& r
|
||||
|
||||
void CAddonInstallJob::OnPostInstall(bool reloadAddon)
|
||||
{
|
||||
+ // OE: make binary addons executable, creddits to vpeter4
|
||||
+ std::string addonDirPath;
|
||||
+ std::string chmodFilePath;
|
||||
+ DIR *addonsDir;
|
||||
@@ -33,7 +37,7 @@ index 2af33a3..b8ec673 100644
|
||||
+ struct stat fileStat;
|
||||
+ int statRet;
|
||||
+
|
||||
+ addonDirPath = "/storage/.kodi/addons/" + m_addon->ID() + "/bin/";
|
||||
+ addonDirPath = "/storage/.kodi/addons/" + addon->ID() + "/bin/";
|
||||
+ if ((addonsDir = opendir(addonDirPath.c_str())) != NULL)
|
||||
+ {
|
||||
+ while ((fileDirent = readdir(addonsDir)) != NULL)
|
||||
@@ -45,10 +49,11 @@ index 2af33a3..b8ec673 100644
|
||||
+ }
|
||||
+ closedir(addonsDir);
|
||||
+ }
|
||||
+ // OE
|
||||
+
|
||||
if (!IsModal() && CSettings::Get().GetBool("general.addonnotifications"))
|
||||
CGUIDialogKaiToast::QueueNotification(m_addon->Icon(), m_addon->Name(),
|
||||
g_localizeStrings.Get(m_update ? 24065 : 24064),
|
||||
addon->OnPostInstall(update, modal);
|
||||
}
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
||||
|
||||
@@ -1,86 +1,95 @@
|
||||
From 0a2ae6dd9fe63c713e1ea2336ca3263c00fa9bfc Mon Sep 17 00:00:00 2001
|
||||
From ba906db17bdb834aedf88ca35b1ce30ea2d2bbd4 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Fri, 8 Aug 2014 18:22:44 +0300
|
||||
Date: Fri, 24 Apr 2015 19:45:20 +0300
|
||||
Subject: [PATCH 09/12] use a wrapper to setup systemd services
|
||||
|
||||
---
|
||||
xbmc/addons/Service.cpp | 22 ++++++++++++++++++++++
|
||||
xbmc/addons/Service.h | 1 +
|
||||
2 files changed, 23 insertions(+)
|
||||
xbmc/addons/Addon.cpp | 30 ++++++++++++++++++++++++++++++
|
||||
xbmc/addons/Addon.h | 2 ++
|
||||
2 files changed, 32 insertions(+)
|
||||
|
||||
diff --git a/xbmc/addons/Service.cpp b/xbmc/addons/Service.cpp
|
||||
index 2fc7670..9126ce7 100644
|
||||
--- a/xbmc/addons/Service.cpp
|
||||
+++ b/xbmc/addons/Service.cpp
|
||||
@@ -53,6 +53,10 @@ AddonPtr CService::Clone() const
|
||||
bool CService::Start()
|
||||
{
|
||||
bool ret = true;
|
||||
+
|
||||
+ // systemctl enable but dont force start
|
||||
+ CallOEWrapper(ID(), false, true);
|
||||
+
|
||||
switch (m_type)
|
||||
{
|
||||
#ifdef HAS_PYTHON
|
||||
@@ -113,13 +117,24 @@ void CService::BuildServiceType()
|
||||
}
|
||||
diff --git a/xbmc/addons/Addon.cpp b/xbmc/addons/Addon.cpp
|
||||
index 03325dd..b2bfafa 100644
|
||||
--- a/xbmc/addons/Addon.cpp
|
||||
+++ b/xbmc/addons/Addon.cpp
|
||||
@@ -626,6 +626,13 @@ AddonVersion CAddon::GetDependencyVersion(const std::string &dependencyID) const
|
||||
return AddonVersion("0.0.0");
|
||||
}
|
||||
|
||||
+void CService::CallOEWrapper(const std::string& ID, bool disable, bool check)
|
||||
+void CallOEWrapper(const std::string& ID, bool disable)
|
||||
+{
|
||||
+ char cmd[255];
|
||||
+ snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d %d", ID.c_str(), disable, check);
|
||||
+ snprintf(cmd, sizeof(cmd), "/usr/lib/openelec/systemd-addon-wrapper %s %d %d", ID.c_str(), disable);
|
||||
+ system(cmd);
|
||||
+}
|
||||
+
|
||||
void CService::OnDisabled()
|
||||
void OnEnabled(const std::string& id)
|
||||
{
|
||||
Stop();
|
||||
+ // systemctl stop & disable on addon disable
|
||||
+ CallOEWrapper(ID(), true, false);
|
||||
}
|
||||
// If the addon is a special, call enabled handler
|
||||
@@ -633,6 +640,11 @@ void OnEnabled(const std::string& id)
|
||||
if (CAddonMgr::Get().GetAddon(id, addon, ADDON_PVRDLL))
|
||||
return addon->OnEnabled();
|
||||
|
||||
void CService::OnEnabled()
|
||||
+ // OE: systemctl enable & start on addon enable
|
||||
+ if (CAddonMgr::Get().GetAddon(id, addon, ADDON_SERVICE))
|
||||
+ CallOEWrapper(addon->ID(), false);
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::Get().GetAddon(id, addon, ADDON_SERVICE))
|
||||
std::static_pointer_cast<CService>(addon)->Start();
|
||||
|
||||
@@ -649,6 +661,11 @@ void OnDisabled(const std::string& id)
|
||||
if (CAddonMgr::Get().GetAddon(id, addon, ADDON_SERVICE, false))
|
||||
std::static_pointer_cast<CService>(addon)->Stop();
|
||||
|
||||
+ // OE: systemctl stop & disable on addon disable
|
||||
+ if (CAddonMgr::Get().GetAddon(id, addon, ADDON_SERVICE, false))
|
||||
+ CallOEWrapper(addon->ID(), true);
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::Get().GetAddon(id, addon, ADDON_CONTEXT_ITEM, false))
|
||||
CContextMenuManager::Get().Unregister(std::static_pointer_cast<CContextItemAddon>(addon));
|
||||
}
|
||||
@@ -672,6 +689,14 @@ void OnPreInstall(const AddonPtr& addon)
|
||||
void OnPostInstall(const AddonPtr& addon, bool update, bool modal)
|
||||
{
|
||||
+ // systemctl enable & start on addon enable
|
||||
+ CallOEWrapper(ID(), false, false);
|
||||
Start();
|
||||
}
|
||||
AddonPtr localAddon;
|
||||
+ // OE: systemctl stop & disable / enable & start on addon upgrade
|
||||
+ if (CAddonMgr::Get().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
+ {
|
||||
+ CallOEWrapper(addon->ID(), true);
|
||||
+ CallOEWrapper(addon->ID(), false);
|
||||
+ }
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::Get().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
std::static_pointer_cast<CService>(localAddon)->Start();
|
||||
|
||||
@@ -145,13 +160,20 @@ void CService::OnPostInstall(bool restart, bool update, bool modal)
|
||||
{
|
||||
std::shared_ptr<CService> service = std::dynamic_pointer_cast<CService>(localAddon);
|
||||
if (service)
|
||||
+ {
|
||||
+ // systemctl stop & disable / enable & start on addon upgrade
|
||||
+ CallOEWrapper(ID(), true, false);
|
||||
+ CallOEWrapper(ID(), false, false);
|
||||
service->Start();
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CService::OnPreUnInstall()
|
||||
@@ -706,6 +731,11 @@ void OnPostInstall(const AddonPtr& addon, bool update, bool modal)
|
||||
void OnPreUnInstall(const AddonPtr& addon)
|
||||
{
|
||||
+ // systemctl stop & disable on addon ininstall
|
||||
+ CallOEWrapper(ID(), true, false);
|
||||
Stop();
|
||||
}
|
||||
AddonPtr localAddon;
|
||||
+ // OE: systemctl stop & disable on addon ininstall
|
||||
+ if (CAddonMgr::Get().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
+ CallOEWrapper(addon->ID(), true);
|
||||
+ // OE
|
||||
+
|
||||
if (CAddonMgr::Get().GetAddon(addon->ID(), localAddon, ADDON_SERVICE))
|
||||
std::static_pointer_cast<CService>(localAddon)->Stop();
|
||||
|
||||
diff --git a/xbmc/addons/Service.h b/xbmc/addons/Service.h
|
||||
index f7394de..1ba3f27 100644
|
||||
--- a/xbmc/addons/Service.h
|
||||
+++ b/xbmc/addons/Service.h
|
||||
@@ -47,6 +47,7 @@ namespace ADDON
|
||||
bool Stop();
|
||||
TYPE GetServiceType() { return m_type; }
|
||||
START_OPTION GetStartOption() { return m_startOption; }
|
||||
+ void CallOEWrapper(const std::string& ID, bool disable, bool check);
|
||||
virtual void OnDisabled();
|
||||
virtual void OnEnabled();
|
||||
virtual bool OnPreInstall();
|
||||
diff --git a/xbmc/addons/Addon.h b/xbmc/addons/Addon.h
|
||||
index ca9cddb..46e30d3 100644
|
||||
--- a/xbmc/addons/Addon.h
|
||||
+++ b/xbmc/addons/Addon.h
|
||||
@@ -171,6 +171,8 @@ public:
|
||||
const InfoMap &ExtraInfo() const { return m_props.extrainfo; }
|
||||
const ADDONDEPS &GetDeps() const { return m_props.dependencies; }
|
||||
|
||||
+ void CallOEWrapper(const std::string& ID, bool disable);
|
||||
+
|
||||
/*! \brief get the required version of a dependency.
|
||||
\param dependencyID the addon ID of the dependency.
|
||||
\return the version this addon requires.
|
||||
--
|
||||
2.1.4
|
||||
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
From 411b2097affa681e22e8e0fe1a1c30bebd574a0e Mon Sep 17 00:00:00 2001
|
||||
From aabc63419df8aa69f156afdafb28820c3c9ccdc7 Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <Peter.Fruehberger@gmail.com>
|
||||
Date: Sat, 1 Nov 2014 12:44:54 +0100
|
||||
Subject: [PATCH] AdvancedSettings: Add minimalSampleRate to ActiveAE cause of
|
||||
broken AVRs out there
|
||||
|
||||
---
|
||||
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 7 +++++++
|
||||
xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp | 8 ++++++++
|
||||
xbmc/settings/AdvancedSettings.cpp | 3 +++
|
||||
xbmc/settings/AdvancedSettings.h | 2 ++
|
||||
3 files changed, 12 insertions(+)
|
||||
3 files changed, 13 insertions(+)
|
||||
|
||||
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
index 0e4d8da..b9d74bf 100644
|
||||
index bf7e439..1687bad 100644
|
||||
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
|
||||
@@ -1505,6 +1505,13 @@ void CActiveAE::ApplySettingsToFormat(AEAudioFormat &format, AudioSettings &sett
|
||||
@@ -28,6 +28,7 @@ using namespace ActiveAE;
|
||||
#include "cores/AudioEngine/Encoders/AEEncoderFFmpeg.h"
|
||||
|
||||
#include "settings/Settings.h"
|
||||
+#include "settings/AdvancedSettings.h"
|
||||
#include "windowing/WindowingFactory.h"
|
||||
|
||||
#define MAX_CACHE_LEVEL 0.5 // total cache time of stream in seconds
|
||||
@@ -1504,6 +1505,13 @@ void CActiveAE::ApplySettingsToFormat(AEAudioFormat &format, AudioSettings &sett
|
||||
format.m_channelLayout = AE_CH_LAYOUT_2_0;
|
||||
}
|
||||
|
||||
@@ -29,19 +37,19 @@ index 0e4d8da..b9d74bf 100644
|
||||
{
|
||||
format.m_sampleRate = m_settings.samplerate;
|
||||
diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
|
||||
index 7d04872..3d5432a 100644
|
||||
index c4fa298..35728e4 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.cpp
|
||||
+++ b/xbmc/settings/AdvancedSettings.cpp
|
||||
@@ -107,6 +107,8 @@ void CAdvancedSettings::Initialize()
|
||||
@@ -108,6 +108,8 @@ void CAdvancedSettings::Initialize()
|
||||
return;
|
||||
|
||||
m_audioHeadRoom = 0;
|
||||
+ // OpenELEC workaround for broken AVRs
|
||||
+ m_minimumSampleRate = 8000;
|
||||
m_ac3Gain = 12.0f;
|
||||
m_audioApplyDrc = true;
|
||||
m_audioApplyDrc = -1.0f;
|
||||
m_dvdplayerIgnoreDTSinWAV = false;
|
||||
@@ -475,6 +477,7 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
|
||||
@@ -464,6 +466,7 @@ void CAdvancedSettings::ParseSettingsFile(const std::string &file)
|
||||
{
|
||||
XMLUtils::GetFloat(pElement, "ac3downmixgain", m_ac3Gain, -96.0f, 96.0f);
|
||||
XMLUtils::GetInt(pElement, "headroom", m_audioHeadRoom, 0, 12);
|
||||
@@ -50,18 +58,18 @@ index 7d04872..3d5432a 100644
|
||||
// 101 on purpose - can be used to never automark as watched
|
||||
XMLUtils::GetFloat(pElement, "playcountminimumpercent", m_audioPlayCountMinimumPercent, 0.0f, 101.0f);
|
||||
diff --git a/xbmc/settings/AdvancedSettings.h b/xbmc/settings/AdvancedSettings.h
|
||||
index 7df586e..9b79a8a 100644
|
||||
index b0b4df1..7137614 100644
|
||||
--- a/xbmc/settings/AdvancedSettings.h
|
||||
+++ b/xbmc/settings/AdvancedSettings.h
|
||||
@@ -136,6 +136,8 @@ class CAdvancedSettings : public ISettingCallback, public ISettingsHandler
|
||||
@@ -140,6 +140,8 @@ class CAdvancedSettings : public ISettingCallback, public ISettingsHandler
|
||||
static void SettingOptionsLoggingComponentsFiller(const CSetting *setting, std::vector< std::pair<std::string, int> > &list, int ¤t, void *data);
|
||||
|
||||
int m_audioHeadRoom;
|
||||
+ // OpenELEC workaround for minimum sample Rate
|
||||
+ int m_minimumSampleRate;
|
||||
float m_ac3Gain;
|
||||
CStdString m_audioDefaultPlayer;
|
||||
std::string m_audioDefaultPlayer;
|
||||
float m_audioPlayCountMinimumPercent;
|
||||
--
|
||||
1.9.1
|
||||
2.1.4
|
||||
|
||||
|
||||
@@ -22,13 +22,7 @@ if [ ! -d /storage/.config/system.d ] ; then
|
||||
fi
|
||||
|
||||
if [ -f "/storage/.kodi/addons/$1/system.d/$1.service" ] ; then
|
||||
if [ "_$3" = "_1" ] ; then
|
||||
# check if enabled, on kodi start
|
||||
if ! systemctl is-enabled "$1.service" &>/dev/null ; then
|
||||
systemctl enable "/storage/.kodi/addons/$1/system.d/$1.service"
|
||||
systemctl start "$1.service"
|
||||
fi
|
||||
elif [ "_$2" = "_1" ] ; then
|
||||
if [ "_$2" = "_1" ] ; then
|
||||
# disable = true: cleanup
|
||||
systemctl stop "$1.service"
|
||||
systemctl disable "/storage/.kodi/addons/$1/system.d/$1.service"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user