Merge pull request #10286 from HiassofT/le13-tvh42

[le13] remove tvheadend42
This commit is contained in:
CvH 2025-07-25 18:36:28 +02:00 committed by GitHub
commit 81c634d9bc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 13 additions and 1209 deletions

View File

@ -1,34 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
<import addon="xbmc.python" version="3.0.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.service" library="default.py">
<provides>@PKG_ADDON_PROVIDES@</provides>
</extension>
<extension point="xbmc.python.script" library="download.py">
<provides>@PKG_ADDON_PROVIDES@</provides>
</extension>
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
<description>
@PKG_LONGDESC@
</description>
<disclaimer>
@PKG_DISCLAIMER@
</disclaimer>
<platform>all</platform>
<news>
@PKG_ADDON_NEWS@
</news>
<assets>
<icon>resources/icon.png</icon>
<fanart>resources/fanart.png</fanart>
@PKG_ADDON_SCREENSHOT@
</assets>
</extension>
</addon>

View File

@ -1 +0,0 @@
initial release

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -2,135 +2,25 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tvheadend42" PKG_NAME="tvheadend42"
PKG_VERSION="5bdcfd8ac97b3337e1c7911ae24127df76fa693a" PKG_VERSION="1.0"
PKG_SHA256="b562a26248cdc02dc94cc62038deea172668fa4c079b2ea4e1b4220f3b1d34f5" PKG_REV="3"
PKG_VERSION_NUMBER="4.2.8-36"
PKG_REV="2"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="http://www.tvheadend.org" PKG_SITE=""
PKG_URL="https://github.com/tvheadend/tvheadend/archive/${PKG_VERSION}.tar.gz" PKG_URL=""
PKG_DEPENDS_TARGET="toolchain argtable2 avahi comskip curl dvb-apps libdvbcsa libhdhomerun \ PKG_DEPENDS_TARGET="toolchain"
libiconv openssl pngquant:host Python3:host dtv-scan-tables"
PKG_DEPENDS_CONFIG="ffmpegx"
PKG_SECTION="service" PKG_SECTION="service"
PKG_SHORTDESC="Tvheadend: a TV streaming server for Linux" PKG_SHORTDESC="Add-on removed"
PKG_LONGDESC="Tvheadend (${PKG_VERSION_NUMBER}): is a TV streaming server for Linux supporting DVB-S/S2, DVB-C, DVB-T/T2, IPTV, SAT>IP, ATSC and ISDB-T" PKG_LONGDESC="Add-on removed"
PKG_BUILD_FLAGS="-sysroot" PKG_TOOLCHAIN="manual"
PKG_ADDON_BROKEN="Tvheadend 4.2 is no longer maintained and has been superseded by Tvheadend 4.3."
PKG_IS_ADDON="yes" PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Tvheadend Server 4.2" PKG_ADDON_NAME="Tvheadend Server 4.2"
PKG_ADDON_TYPE="xbmc.service" PKG_ADDON_TYPE="xbmc.broken"
# basic transcoding options
PKG_TVH_TRANSCODING="\
--disable-ffmpeg_static \
--disable-libfdkaac_static \
--disable-libopus_static \
--disable-libtheora \
--disable-libtheora_static \
--disable-libvorbis_static \
--disable-libvpx_static \
--disable-libx264_static \
--disable-libx265_static \
--disable-libav \
--disable-libfdkaac \
--disable-libopus \
--disable-libvorbis \
--disable-libx264"
# hw specific transcoding options
if [ "${TARGET_ARCH}" = "x86_64" ]; then
PKG_DEPENDS_TARGET+=" libva"
# specific transcoding options
PKG_TVH_TRANSCODING="${PKG_TVH_TRANSCODING} \
--disable-vaapi \
--disable-libvpx \
--disable-libx265"
else
# for != "x86_64" targets
# specific transcoding options
PKG_TVH_TRANSCODING="${PKG_TVH_TRANSCODING} \
--disable-libvpx \
--disable-libx265"
fi
post_unpack() {
sed -e 's/VER="0.0.0~unknown"/VER="'${PKG_VERSION_NUMBER}' ~ LibreELEC Tvh-addon v'${ADDON_VERSION}'.'${PKG_REV}'"/g' -i ${PKG_BUILD}/support/version
sed -e 's|'/usr/bin/pngquant'|'${TOOLCHAIN}/bin/pngquant'|g' -i ${PKG_BUILD}/support/mkbundle
}
pre_configure_target() {
PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
--arch=${TARGET_ARCH} \
--cpu=${TARGET_CPU} \
--cc=${CC} \
${PKG_TVH_TRANSCODING} \
--enable-avahi \
--enable-bundle \
--disable-dbus_1 \
--enable-dvbcsa \
--disable-dvben50221 \
--disable-dvbscan \
--enable-hdhomerun_client \
--disable-hdhomerun_static \
--enable-epoll \
--enable-inotify \
--enable-pngquant \
--disable-libmfx_static \
--disable-nvenc \
--disable-uriparser \
--enable-tvhcsa \
--enable-trace \
--nowerror \
--disable-bintray_cache \
--python=${TOOLCHAIN}/bin/python"
# fails to build in subdirs
cd ${PKG_BUILD}
rm -rf .${TARGET_NAME}
# pass ffmpegx to build
CFLAGS+=" -I$(get_install_dir ffmpegx)/usr/local/include"
LDFLAGS+=" -L$(get_install_dir ffmpegx)/usr/local/lib"
# pass libhdhomerun to build
CFLAGS+=" -I${SYSROOT_PREFIX}/usr/include/hdhomerun"
export CROSS_COMPILE="${TARGET_PREFIX}"
export CFLAGS+=" -I${SYSROOT_PREFIX}/usr/include/iconv -L${SYSROOT_PREFIX}/usr/lib/iconv"
}
post_make_target() {
${CC} -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl
}
post_makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib
cp -p capmt_ca.so ${INSTALL}/usr/lib
}
addon() { addon() {
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin :
cp ${PKG_DIR}/addon.xml ${ADDON_BUILD}/${PKG_ADDON_ID}
# set only version (revision will be added by buildsystem)
sed -e "s|@ADDON_VERSION@|${ADDON_VERSION}|g" \
-i ${ADDON_BUILD}/${PKG_ADDON_ID}/addon.xml
cp -P ${PKG_INSTALL}/usr/bin/tvheadend ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
cp -P ${PKG_INSTALL}/usr/lib/capmt_ca.so ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
cp -P $(get_install_dir comskip)/usr/bin/comskip ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
if [ "${TARGET_ARCH}" = "x86_64" ]; then
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
cp -P $(get_install_dir x265)/usr/lib/libx265.so.215 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
patchelf --add-rpath '${ORIGIN}/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/{comskip,tvheadend}
fi
# dvb-scan files
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/dvb-scan
cp -r $(get_install_dir dtv-scan-tables)/usr/share/dvbv5/* \
${ADDON_BUILD}/${PKG_ADDON_ID}/dvb-scan
} }

View File

@ -1,11 +0,0 @@
--- a/src/input/mpegts/scanfile.c
+++ b/src/input/mpegts/scanfile.c
@@ -906,7 +906,7 @@ scanfile_init ( const char *muxconf_path
#elif defined(PLATFORM_FREEBSD)
path = "/usr/local/share/dtv-scan-tables";
#else
- path = "/usr/share/dvb";
+ path = "/storage/.kodi/addons/service.tvheadend42/dvb-scan";
#endif
if (!initialized) {

View File

@ -1,24 +0,0 @@
fix libhdhomerun includes
--- a/configure
+++ b/configure
@@ -394,7 +394,7 @@ if enabled hdhomerun_static; then
else
if enabled_or_auto hdhomerun_client; then
- if check_cc_header 'libhdhomerun/hdhomerun' libhdhomerun; then
+ if check_cc_header 'hdhomerun' libhdhomerun; then
enable hdhomerun_client
LDFLAGS="$LDFLAGS -lhdhomerun"
fi
--- a/src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h
+++ b/src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h
@@ -24,7 +24,7 @@
#include "htsbuf.h"
#include "tvhdhomerun.h"
-#include "libhdhomerun/hdhomerun.h"
+#include "hdhomerun.h"
typedef struct tvhdhomerun_device_info tvhdhomerun_device_info_t;
typedef struct tvhdhomerun_device tvhdhomerun_device_t;

View File

@ -1,25 +0,0 @@
https://github.com/tvheadend/tvheadend/commit/13cd23c371e3377973502f8dc65654b6a0ff372b
From: Michael Marley <michael@michaelmarley.com>
Date: Wed, 26 Jun 2019 19:35:50 -0400
Subject: [PATCH] Fix compilation with libhdhomerun 20190621
They renamed the symbol that was used to determine whether the
"hdhomerun_discover_find_devices_custom" needed to be aliased,
causing an FTBFS. Instead, recognize both the old and new symbols.
---
src/input/mpegts/tvhdhomerun/tvhdhomerun.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/src/input/mpegts/tvhdhomerun/tvhdhomerun.c
+++ b/src/input/mpegts/tvhdhomerun/tvhdhomerun.c
@@ -28,7 +28,8 @@
#include <arpa/inet.h>
#include <openssl/sha.h>
-#ifdef HDHOMERUN_TAG_DEVICE_AUTH_BIN
+#if defined(HDHOMERUN_TAG_DEVICE_AUTH_BIN) \
+ || defined(HDHOMERUN_TAG_DEVICE_AUTH_BIN_DEPRECATED)
#define hdhomerun_discover_find_devices_custom \
hdhomerun_discover_find_devices_custom_v2
#endif

View File

@ -1,46 +0,0 @@
From 8a2942a361e95ccdbd30c1edc7627df3862cdbbe Mon Sep 17 00:00:00 2001
From: James Le Cuirot <chewi@gentoo.org>
Date: Fri, 15 May 2020 17:45:30 +0100
Subject: [PATCH] Fix building with -fno-common (default from GCC 10)
---
src/input.h | 4 ++--
src/input/mpegts.c | 2 ++
src/input/mpegts.h | 2 +-
3 files changed, 5 insertions(+), 3 deletions(-)
--- a/src/input.h
+++ b/src/input.h
@@ -128,8 +128,8 @@ void tvh_hardware_delete ( tvh_hardware_
extern const idclass_t tvh_input_class;
extern const idclass_t tvh_input_instance_class;
-tvh_input_list_t tvh_inputs;
-tvh_hardware_list_t tvh_hardware;
+extern tvh_input_list_t tvh_inputs;
+extern tvh_hardware_list_t tvh_hardware;
#define TVH_INPUT_FOREACH(x) LIST_FOREACH(x, &tvh_inputs, ti_link)
#define TVH_HARDWARE_FOREACH(x) LIST_FOREACH(x, &tvh_hardware, th_link)
--- a/src/input/mpegts.c
+++ b/src/input/mpegts.c
@@ -20,6 +20,8 @@
#include "mpegts/fastscan.h"
#include "memoryinfo.h"
+struct mpegts_listeners mpegts_listeners;
+
extern memoryinfo_t mpegts_input_queue_memoryinfo;
extern memoryinfo_t mpegts_input_table_memoryinfo;
--- a/src/input/mpegts.h
+++ b/src/input/mpegts.h
@@ -1132,7 +1132,7 @@ typedef struct mpegts_listener
void (*ml_mux_delete) (mpegts_mux_t *mm, void *p);
} mpegts_listener_t;
-LIST_HEAD(,mpegts_listener) mpegts_listeners;
+extern LIST_HEAD(mpegts_listeners, mpegts_listener) mpegts_listeners;
#define mpegts_add_listener(ml)\
LIST_INSERT_HEAD(&mpegts_listeners, ml, ml_link)

View File

@ -1,41 +0,0 @@
Fix query urls for imdb.com and thetvdb.com
Based on tvheadend master branch
https://github.com/tvheadend/tvheadend/commit/d8a31e57a492be6628b685488fcc7f1d9d262679
https://github.com/tvheadend/tvheadend/commit/ce09077056f9c6558c188d135cec3be85cc9c200
--- a/src/webui/static/app/epg.js
+++ b/src/webui/static/app/epg.js
@@ -287,13 +287,11 @@ tvheadend.epgDetails = function(event) {
win.show();
function searchIMDB() {
- window.open('http://akas.imdb.com/find?q=' +
- encodeURIComponent(event.title), '_blank');
+ window.open('https://www.imdb.com/find?q=' + encodeURIComponent(event.title), '_blank');
}
function searchTheTVDB(){
- window.open('http://thetvdb.com/?string='+
- encodeURIComponent(event.title)+'&searchseriesid=&tab=listseries&function=Search','_blank');
+ window.open('https://www.thetvdb.com/search?query=' + encodeURIComponent(event.title), '_blank');
}
function playProgram() {
--- a/src/webui/static/app/dvr.js
+++ b/src/webui/static/app/dvr.js
@@ -87,13 +87,11 @@ tvheadend.dvrDetails = function(uuid) {
}));
function searchIMDB() {
- window.open('http://akas.imdb.com/find?q=' +
- encodeURIComponent(title), '_blank');
+ window.open('https://www.imdb.com/find?q=' + encodeURIComponent(title), '_blank');
}
function searchTheTVDB(){
- window.open('http://thetvdb.com/?string='+
- encodeURIComponent(title)+'&searchseriesid=&tab=listseries&function=Search','_blank');
+ window.open('https://www.thetvdb.com/search?query=' + encodeURIComponent(title),'_blank');
}
var win = new Ext.Window({

View File

@ -1,39 +0,0 @@
From 1ebf9bf548540f935ff4ce1d380f5ce7849572f3 Mon Sep 17 00:00:00 2001
From: Matthieu Poullet <matthieu.poullet@gmail.com>
Date: Tue, 15 Mar 2022 10:40:44 +0100
Subject: [PATCH] SAT>IP client: UPnP header field names are case insensitive
- SAT>IP Protocol Specification 1.2.2: 3.3.2 Server Advertisements
---
src/input/mpegts/satip/satip.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
--- a/src/input/mpegts/satip/satip.c
+++ b/src/input/mpegts/satip/satip.c
@@ -1125,19 +1125,19 @@ satip_discovery_service_received
if (ptr == NULL)
break;
if (http_tokenize(ptr, argv, 2, ':') == 2) {
- if (strcmp(argv[0], "ST") == 0)
+ if (strcasecmp(argv[0], "ST") == 0)
st = argv[1];
- else if (strcmp(argv[0], "LOCATION") == 0)
+ else if (strcasecmp(argv[0], "LOCATION") == 0)
location = argv[1];
- else if (strcmp(argv[0], "SERVER") == 0)
+ else if (strcasecmp(argv[0], "SERVER") == 0)
server = argv[1];
- else if (strcmp(argv[0], "BOOTID.UPNP.ORG") == 0)
+ else if (strcasecmp(argv[0], "BOOTID.UPNP.ORG") == 0)
bootid = argv[1];
- else if (strcmp(argv[0], "CONFIGID.UPNP.ORG") == 0)
+ else if (strcasecmp(argv[0], "CONFIGID.UPNP.ORG") == 0)
configid = argv[1];
- else if (strcmp(argv[0], "DEVICEID.SES.COM") == 0)
+ else if (strcasecmp(argv[0], "DEVICEID.SES.COM") == 0)
deviceid = argv[1];
- else if (strcmp(argv[0], "USN") == 0) {
+ else if (strcasecmp(argv[0], "USN") == 0) {
n = http_tokenize(argv[1], argv, ARRAY_SIZE(argv), ':');
for (i = 0; i < n-1; i++)
if (argv[i] && strcmp(argv[i], "uuid") == 0) {

View File

@ -1,22 +0,0 @@
diff --git a/src/htsmsg.h b/src/htsmsg.h
index 5cdcaa4867..d15c547e58 100644
--- a/src/htsmsg.h
+++ b/src/htsmsg.h
@@ -75,7 +75,7 @@ typedef struct htsmsg_field {
} bin;
htsmsg_t *msg;
double dbl;
- int bool;
+ int boolean;
} u;
#if ENABLE_SLOW_MEMORYINFO
@@ -91,7 +91,7 @@ typedef struct htsmsg_field {
#define hmf_bin u.bin.data
#define hmf_binsize u.bin.len
#define hmf_dbl u.dbl
-#define hmf_bool u.bool
+#define hmf_bool u.boolean
// backwards compat
#define htsmsg_get_map_by_field(f) htsmsg_field_get_map(f)

View File

@ -1,71 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
if [ $# -lt 1 ]; then
. /etc/profile
ADDON_HOME="$HOME/.kodi/userdata/addon_data/service.tvheadend42"
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
XML_SETTINGS_VER="$(xmlstarlet sel -t -m settings -v @version $ADDON_SETTINGS)"
if [ "$XML_SETTINGS_VER" = "2" ]; then
XMLTV_TYPE="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_TYPE"]' $ADDON_SETTINGS)"
XMLTV_LOCATION_FILE="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_LOCATION_FILE"]' $ADDON_SETTINGS)"
XMLTV_LOCATION_WEB="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_LOCATION_WEB"]' $ADDON_SETTINGS | xmlstarlet unesc)"
XMLTV_LOCATION_SCRIPT="$(xmlstarlet sel -t -v '/settings/setting[@id="XMLTV_LOCATION_SCRIPT"]' $ADDON_SETTINGS)"
else
XMLTV_TYPE="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_TYPE"]' -v @value $ADDON_SETTINGS)"
XMLTV_LOCATION_FILE="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_LOCATION_FILE"]' -v @value $ADDON_SETTINGS)"
XMLTV_LOCATION_WEB="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_LOCATION_WEB"]' -v @value $ADDON_SETTINGS | xmlstarlet unesc)"
XMLTV_LOCATION_SCRIPT="$(xmlstarlet sel -t -m '/settings/setting[@id="XMLTV_LOCATION_SCRIPT"]' -v @value $ADDON_SETTINGS)"
fi
if [ "$XMLTV_TYPE" = "FILE" ]; then
case "$XMLTV_LOCATION_FILE" in
*.gz | *.bz2 | *.xz)
zcat "$XMLTV_LOCATION_FILE"
;;
*)
cat "$XMLTV_LOCATION_FILE"
;;
esac
exit 0
elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then
if [ -e "$XMLTV_LOCATION_SCRIPT" ]; then
exec "$XMLTV_LOCATION_SCRIPT"
fi
elif [ "$XMLTV_TYPE" = "WEB" ]; then
case "$XMLTV_LOCATION_WEB" in
*.gz | *.bz2 | *.xz)
wget -qO - "$XMLTV_LOCATION_WEB" | zcat
;;
*)
wget -qO - "$XMLTV_LOCATION_WEB"
;;
esac
exit 0
fi
fi
dflag=
vflag=
cflag=
for a in "$@"; do
[ "$a" = "-d" -o "$a" = "--description" ] && dflag=1
[ "$a" = "-v" -o "$a" = "--version" ] && vflag=1
[ "$a" = "-c" -o "$a" = "--capabilities" ] && cflag=1
done
if [ -n "$dflag" ]; then
echo "tv_grab_file is a simple grabber that can be configured through the addon settings from Kodi"
fi
if [ -n "$vflag" ]; then
echo "1.0"
fi
if [ -n "$cflag" ]; then
echo "baseline"
fi

View File

@ -1,177 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon service.tvheadend42
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
COMSKIP_DIR="$ADDON_HOME/comskip"
COMSKIP_SETTINGS_FILE="$COMSKIP_DIR/comskip.ini"
DVR_SETTINGS_DIR="$ADDON_HOME/dvr/config"
DVR_SETTINGS_FILE="$DVR_SETTINGS_DIR/8d0f5b7ae354d956d7fe5db25f5d0d24"
EPGGRAB_SETTINGS_DIR="$ADDON_HOME/epggrab"
EPGGRAB_SETTINGS_FILE="$EPGGRAB_SETTINGS_DIR/config"
TIMESHIFT_SETTINGS_DIR="$ADDON_HOME/timeshift"
TIMESHIFT_SETTINGS_FILE="$TIMESHIFT_SETTINGS_DIR/config"
TVH_SETTINGS_DIR="$ADDON_HOME"
TVH_SETTINGS_FILE="$TVH_SETTINGS_DIR/config"
XMLTV_SETTINGS_DIR="$ADDON_HOME/xmltv"
XMLTV_SETTINGS_FILE="$XMLTV_SETTINGS_DIR/config"
TIMESHIFT_DIR="$ADDON_HOME/cache/timeshift"
XMLTV_FILE="$ADDON_DIR/bin/tv_grab_file"
chmod a+x $ADDON_DIR/bin/*
# workaround to support old 4.1.x version upgrade for Tvh after 4.1.2369
if [ -f "$ADDON_HOME/dvr/config/dvr-config" ]; then
rm $ADDON_HOME/dvr/config/dvr-config
fi
# workaround to create default Tvh directories without entering samba share
if [ ! -d "/storage/recordings" ]; then
mkdir -p /storage/recordings /storage/picons/tvh /storage/picons/vdr
fi
if [ -f "$ADDON_HOME/channel/config/config.tmp" ]; then
rm $ADDON_HOME/channel/config/config.tmp
fi
if [ -f "$ADDON_HOME/channel/config/tag.tmp" ]; then
rm $ADDON_HOME/channel/config/tag.tmp
fi
# copy config files to userdata
if [ ! -f "$COMSKIP_SETTINGS_FILE" ]; then
mkdir -p $COMSKIP_DIR
cp $ADDON_DIR/defaults/comskip/comskip.ini $COMSKIP_SETTINGS_FILE
fi
if [ ! -f "$DVR_SETTINGS_FILE" ]; then
mkdir -p $DVR_SETTINGS_DIR
cp $ADDON_DIR/defaults/dvr/config/8d0f5b7ae354d956d7fe5db25f5d0d24 $DVR_SETTINGS_FILE
fi
if [ ! -f "$EPGGRAB_SETTINGS_FILE" ]; then
mkdir -p $EPGGRAB_SETTINGS_DIR
cp $ADDON_DIR/defaults/epggrab/config $EPGGRAB_SETTINGS_FILE
fi
if [ ! -f "$TIMESHIFT_SETTINGS_FILE" ]; then
mkdir -p $TIMESHIFT_DIR
mkdir -p $TIMESHIFT_SETTINGS_DIR
cp $ADDON_DIR/defaults/timeshift/config $TIMESHIFT_SETTINGS_FILE
fi
if [ ! -f "$TVH_SETTINGS_FILE" ]; then
mkdir -p $TVH_SETTINGS_DIR
cp $ADDON_DIR/defaults/config $TVH_SETTINGS_FILE
fi
if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then
mkdir -p $XMLTV_SETTINGS_DIR
cp $ADDON_DIR/defaults/xmltv/config $XMLTV_SETTINGS_FILE
fi
# delayed Tvh startup
if [ "$WORKAROUND_SLEEP" == "true" ]; then
sleep $WORKAROUND_SLEEP_TIME
fi
# support FritzBox Sat>IP Server detection workaround for AVM-Repeater and AVM-6490
if [ "$AVM_SATIP_SERVER" == "true" ]; then
if [ "$AVM_DEVICE" == "AVM_Repeater" ]; then
AVM_SATIP="--satip_xml http://${AVM_ROUTER_IP}:49000/satipdesc.xml"
fi
if [ "$AVM_DEVICE" == "AVM_6490" ]; then
AVM_SATIP="--satip_xml http://${AVM_ROUTER_FAKE_IP}:49000/satipdesc.xml"
AVM_NUM="4"
fi
# add virtual ip as workaround for AVM limitation of one stream per ip
# AVM-Repeater (2 tuners)
ip address add ${AVM_IP1}/24 dev $AVM_ETH
ip address add ${AVM_IP2}/24 dev $AVM_ETH
# AVM-6490 (4 tuners)
if [ "$AVM_NUM" = "4" ]; then
ip address add ${AVM_IP3}/24 dev $AVM_ETH
ip address add ${AVM_IP4}/24 dev $AVM_ETH
fi
fi
# custom startup parameters
if [ "$CUSTOM_START" != "true" ]; then
CUSTOM_ARGS=""
fi
# debug value generation
if [ "$DEBUG_LOG_TRACE_1" != "NONE" ]; then
DEBUG_LOG_ARG="$DEBUG_LOG_TRACE_1"
fi
if [ "$DEBUG_LOG_TRACE_2" != "NONE" ]; then
DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_2"
fi
if [ "$DEBUG_LOG_TRACE_3" != "NONE" ]; then
DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_3"
fi
if [ "$DEBUG_LOG_TRACE_4" != "NONE" ]; then
DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_4"
fi
if [ "$DEBUG_LOG_TRACE_5" != "NONE" ]; then
DEBUG_LOG_ARG="$DEBUG_LOG_ARG,$DEBUG_LOG_TRACE_5"
fi
# if debuglog is activated and nothing selected to trace
if [ -z "$DEBUG_LOG_ARG" ];then
DEBUG_LOG_ARG="all"
fi
# rename debuglog if already exist to prevent overwriting after crash
if [ -f "${DEBUG_LOG_PATH}" ]; then
cp ${DEBUG_LOG_PATH} ${DEBUG_LOG_PATH}_$(date '+%Y-%m-%d_%H.%M.%S').txt
fi
# debug commandline
if [ "$DEBUG_LOG" = "true" ]; then
TVHEADEND_ARG="-B -C -u root -g video -c $ADDON_HOME $AVM_SATIP $CUSTOM_ARGS -l ${DEBUG_LOG_PATH} --trace $DEBUG_LOG_ARG"
else
TVHEADEND_ARG="-B -C -u root -g video -c $ADDON_HOME $AVM_SATIP $CUSTOM_ARGS"
fi
# start userspace DVB driver/addon
for driver_dvb in $(find /storage/.kodi/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###"
# use ". " because of variable export
. $driver_dvb
done
if [ "$WAIT_FOR_FEINIT" == "true" ] ; then
while [ true ] ; do
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ] ; then
break
fi
sleep 1
done
fi
if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then
logger -t Tvheadend "### Preloading capmt_ca.so library ###"
LD_PRELOAD="$ADDON_DIR/bin/capmt_ca.so $LD_PRELOAD" exec $ADDON_DIR/bin/tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
else
exec $ADDON_DIR/bin/tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
fi

View File

@ -1,20 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
import subprocess
import xbmc
import xbmcaddon
class Monitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
self.id = xbmcaddon.Addon().getAddonInfo('id')
def onSettingsChanged(self):
subprocess.call(['systemctl', 'restart', self.id])
if __name__ == "__main__":
Monitor().waitForAbort()

View File

@ -1,83 +0,0 @@
; See comskip.txt in the distribution zip file for many settable parameters, read manual.html, tuning.html and debugwindow.html for how to tune and debug comskip
edl_mode=3 ; the mode specified in the generated edl file, 0=cut, 3=commercial break
mkv_time_offset=30.0 ; offset in seconds, to work around what appears to be an Kodi or ffmpeg bug
always_keep_first_seconds=2 ; Kodi has a bug that causes a segfault if we don't keep the start of the stream, I'll fix that when I get a chance
detect_method=43 ; 1=black frame, 2=logo, 4=scene change, 8=fuzzy logic, 16=closed captions, 32=aspect ration, 64=silence, 128=cutscenes, 255=all
validate_silence=1 ; Default, set to 0 to force using this clues if selected above.
validate_uniform=1 ; Default, set to 0 to force using this clues (like pure white frames) if blackframe is selected above.
validate_scenechange=1 ; Default, set to 0 to force using this clues if selected above.
verbose=10 ; show a lot of extra info, level 5 is also OK, set to 0 to disable
max_brightness=60 ; frame not black if any pixels checked are greater than this (scale 0 to 255)
test_brightness=40 ; frame not pure black if any pixels checked are greater than this, will check average brightness (scale 0 to 255)
max_avg_brightness=25 ; maximum average brightness for a dim frame to be considered black (scale 0 to 255) 0 means autosetting
max_commercialbreak=600 ; maximum length in seconds to consider a segment a commercial break
min_commercialbreak=25 ; minimum length in seconds to consider a segment a commercial break
max_commercial_size=125 ; maximum time in seconds for a single commercial or multiple commercials if no breaks in between
min_commercial_size=4 ; mimimum time in seconds for a single commercial
min_show_segment_length=250 ; any segment longer than this will be scored towards show.
non_uniformity=500 ; Set to 0 to disable cutpoints based on uniform frames
max_volume=500 ; any frame with sound volume larger than this will not be regarded as black frame
min_silence=12 ; Any deep silence longer than this amount of frames is a possible cutpoint
ticker_tape=0 ; Amount of pixels from bottom to ignore in all processing
logo_at_bottom=0 ; Set to 1 to search only for logo at the lower half of the video, do not combine with subtitle setting
punish=0 ; Compare to average for sum of 1=brightness, 2=uniform 4=volume, 8=silence, 16=schange, set to 0 to disable
punish_threshold=1.3 ; Multiply when amount is above average * punish_threshold
punish_modifier=2 ; When above average * threshold multiply score by this value
intelligent_brightness=0 ; Set to 1 to use a USA specific algorithm to tune some of the settings, not adviced outside the USA
logo_percentile=0.92 ; if more then this amount of logo is found then logo detection will be disabled
logo_threshold=0.75
punish_no_logo=1 ; Default, set to 0 to avoid show segments without logo to be scored towards commercial
aggressive_logo_rejection=0
connect_blocks_with_logo=1 ; set to 1 if you want successive blocks with logo on the transition to be regarded as connected, set to 0 to disable
logo_filter=0 ; set the size of the filter to apply to bad logo detection, 4 seems to be a good value.
cut_on_ar_change=1 ; set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable
delete_show_after_last_commercial=0 ; set to 1 if you want to delete the last block if its a show and after a commercial
delete_show_before_or_after_current=0 ; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
delete_block_after_commercial=0 ; set to max size of block in seconds to be discarded, set to 0 to disable
remove_before=0 ; amount of seconds of show to be removed before ALL commercials
remove_after=0 ; amount of seconds of show to be removed after ALL commercials
shrink_logo=5 ; Reduce the duration of the logo with this amount of seconds
after_logo=0 ; set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint
padding=0
ms_audio_delay=5
volume_slip=40
skip_b_frames=0 ; Set to 1 to force Comskip to skip frames for higher processing speed.
hardware_decode=0 ; Set to 1 to enable hardware accelerated video decoding, only available in donator version
max_repair_size=200 ; Will repair maximum 200 missing MPEG frames in the timeline, set to 0 to disable repairing for players that don't use PTS.
disable_heuristics=4 ; bit pattern for disabling heuristics, adding 1 disables heristics 1, adding 2 disables heristics 2, adding 4 disables heristics 3, 255 disables all heuristics
delete_logo_file=0 ; set to 1 if you want comskip to tidy up after finishing
output_framearray=0 ; create a big excel file for detailed analysis, set to 0 to disable
output_data=0 ; create a dump of the user data channel, used for CC and XDS (such as V-Chip info). Can be use together with output_framearray to remote debug CC decoding
output_videoredo=0 ; The old videoredo format
output_videoredo3=0 ; The new videoredo v3 format.
output_womble=0
output_mls=0 ; set to 1 if you want MPeg Video Wizard bookmark file output
output_cuttermaran=0
output_mpeg2schnitt=0
output_mpgtx=0
output_dvrcut=0
output_zoomplayer_chapter=0
output_zoomplayer_cutlist=0
output_edl=1
output_dvrmstb=0 ; Set to 1 if you're running DVRMS-Toolbox
output_edlx=0
output_vcf=0
output_bsplayer=0
output_btv=0 ; set to 1 if you want Beyond TV chapter cutlist output
output_projectx=0 ; set to 1 if you want ProjectX cutlist output (Xcl)
output_avisynth=0
output_vdr=1 ; set to 1 if you want Kodi to skipping commercials
output_demux=0 ; set to 1 if you want comskip to demux the mpeg file while scanning
sage_framenumber_bug=0
sage_minute_bug=0
live_tv=0 ; set to 1 if you use parallelprocessing and need the output while recording
live_tv_retries=4 ; change to 16 when using live_tv in BTV, used for mpeg PS and TS
dvrms_live_tv_retries=300 ; only used for dvr_ms
standoff=0 ; change to 8000000 when using live_tv in BTV
cuttermaran_options="cut=\"true\" unattended=\"true\" muxResult=\"false\" snapToCutPoints=\"true\" closeApp=\"true\""
mpeg2schnitt_options="mpeg2schnitt.exe /S /E /R25 /Z %2 %1"
avisynth_options="LoadPlugin(\"MPEG2Dec3.dll\") \nMPEG2Source(\"%s\")\n"
dvrcut_options="dvrcut \"%s.dvr-ms\" \"%s_clean.dvr-ms\" "
windowtitle="Comskip - %s"

View File

@ -1,14 +0,0 @@
{
"wizard": "hello",
"uilevel": 1,
"uilevel_nochange": true,
"ui_quicktips": true,
"cookie_expires": 14,
"caclient_ui": true,
"epg_compress": true,
"prefer_picon": true,
"chiconpath": "file:///storage/picons/tvh/%C.png",
"chiconscheme": 2,
"piconpath": "file:///storage/picons/vdr/",
"piconscheme": 1
}

View File

@ -1,18 +0,0 @@
{
"storage": "/storage/recordings",
"retention-days": 2147483646,
"removal-days": 2147483647,
"pre-extra-time": 0,
"post-extra-time": 0,
"day-dir": false,
"channel-dir": false,
"channel-in-title": true,
"date-in-title": true,
"time-in-title": true,
"whitespace-in-title": false,
"title-dir": true,
"episode-in-title": true,
"tag-files": true,
"windows-compatible-filenames": true,
"charset": "UTF-8"
}

View File

@ -1,79 +0,0 @@
{
"channel_rename": true,
"channel_renumber": false,
"channel_reicon": false,
"epgdb_periodicsave": 2,
"ota_initial": true,
"modules": {
"opentv-skyit": {
"class": "epggrab_mod_ota",
"name": "OpenTV: Sky Italia",
"type": "Over-the-air",
"enabled": true,
"priority": 2
},
"opentv-skynz": {
"class": "epggrab_mod_ota",
"name": "OpenTV: Sky NZ",
"type": "Over-the-air",
"enabled": true,
"priority": 2
},
"opentv-skyuk": {
"class": "epggrab_mod_ota",
"name": "OpenTV: Sky UK",
"type": "Over-the-air",
"enabled": true,
"priority": 2
},
"opentv-ausat": {
"class": "epggrab_mod_ota",
"name": "OpenTV: Ausat",
"type": "Over-the-air",
"enabled": true,
"priority": 2
},
"psip": {
"class": "epggrab_mod_ota",
"name": "PSIP: ATSC Grabber",
"type": "Over-the-air",
"enabled": true,
"priority": 1
},
"Bulsatcom_39E": {
"class": "epggrab_mod_ota",
"name": "Bulsatcom: Bula 39E",
"type": "Over-the-air",
"enabled": true,
"priority": 5
},
"viasat_baltic": {
"class": "epggrab_mod_ota",
"name": "VIASAT: Baltic",
"type": "Over-the-air",
"enabled": true,
"priority": 5
},
"uk_freeview": {
"class": "epggrab_mod_ota",
"name": "UK: Freeview",
"type": "Over-the-air",
"enabled": true,
"priority": 5
},
"uk_freesat": {
"class": "epggrab_mod_ota",
"name": "UK: Freesat",
"type": "Over-the-air",
"enabled": true,
"priority": 5
},
"eit": {
"class": "epggrab_mod_ota",
"name": "EIT: DVB Grabber",
"type": "Over-the-air",
"enabled": true,
"priority": 1
}
}
}

View File

@ -1,9 +0,0 @@
{
"enabled": 0,
"ondemand": 0,
"path": "/storage/.kodi/userdata/addon_data/service.tvheadend42/cache/timeshift",
"unlimited_period": 0,
"max_period": 3600,
"unlimited_size": 0,
"max_size": 3072
}

View File

@ -1,14 +0,0 @@
{
"grabbers": [
{
"path": "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_file",
"description": "tv_grag_file is a simple grabber that just read the ~/.xmltv/tv_grab_file.xmltv file",
"version": "0.1\n",
"mtime": 1318774706,
"capabilities": 1
}
],
"grab-interval": 12,
"grab-enabled": 1,
"current-grabber": "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_file"
}

View File

@ -1,56 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
import os
import shutil
import urllib.request
import subprocess
import re
import xbmc, xbmcvfs, xbmcgui, xbmcaddon
ADDON_NAME = xbmcaddon.Addon().getAddonInfo("name")
LS = xbmcaddon.Addon().getLocalizedString
def clear_directory(directory):
try:
for file_name in os.listdir(directory):
file_path = os.path.join(directory, file_name)
if os.path.isfile(file_path):
os.unlink(file_path)
elif os.path.isdir(file_path):
shutil.rmtree(file_path)
except Exception as e:
xbmcgui.Dialog().notification(ADDON_NAME, LS(30041), xbmcgui.NOTIFICATION_INFO)
exit(1)
def download_and_extract(url, destination, extract_path):
try:
# Download the file
urllib.request.urlretrieve(url, destination)
# Extract the file to the specified directory, ignoring the root path
subprocess.run(["tar", "xf", destination, "--strip-components=3", "-C", extract_path])
except Exception as e:
xbmcgui.Dialog().notification(ADDON_NAME, LS(30040), xbmcgui.NOTIFICATION_INFO)
exit(1)
if __name__ == "__main__":
scan_tables_path = os.path.join(xbmcvfs.translatePath(xbmcaddon.Addon().getAddonInfo("path")), "dvb-scan")
download_url = "https://linuxtv.org/downloads/dtv-scan-tables/dtv-scan-tables-LATEST.tar.bz2"
downloaded_file_path = "/tmp/dtv-scan-tables-LATEST.tar.bz2"
# Clear the contents of the dvb_scan directory
clear_directory(scan_tables_path)
# Download and extract the file using subprocess
download_and_extract(download_url, downloaded_file_path, scan_tables_path)
# Clean up the downloaded file
os.remove(downloaded_file_path)
# Notify download complete
xbmcgui.Dialog().notification(ADDON_NAME, LS(30039), xbmcgui.NOTIFICATION_INFO)

View File

@ -1,174 +0,0 @@
# Kodi Media Center language file
# Addon Name: tvheadend42
# Addon id: service.tvheadend42
# Addon Provider: Team LibreELEC
msgid ""
msgstr ""
msgctxt "#30000"
msgid "XMLTV"
msgstr ""
msgctxt "#30001"
msgid "DVB"
msgstr ""
msgctxt "#30002"
msgid "DEBUG"
msgstr ""
msgctxt "#30003"
msgid "FRITZ!Box Sat>IP"
msgstr ""
msgctxt "#30004"
msgid "XMLTV Configuration"
msgstr ""
msgctxt "#30005"
msgid "XMLTV source type"
msgstr ""
msgctxt "#30006"
msgid "XMLTV File location"
msgstr ""
msgctxt "#30007"
msgid "XMLTV Web location"
msgstr ""
msgctxt "#30008"
msgid "XMLTV Script location"
msgstr ""
msgctxt "#30009"
msgid "DVB Configuration"
msgstr ""
msgctxt "#30010"
msgid "Unload DVB modules before suspend"
msgstr ""
msgctxt "#30011"
msgid "Wait for frontend initialization"
msgstr ""
msgctxt "#30012"
msgid "Number of adapters to wait for"
msgstr ""
msgctxt "#30013"
msgid "Preload capmt_ca.so library"
msgstr ""
msgctxt "#30014"
msgid "Delay the start of Tvheadend"
msgstr ""
msgctxt "#30015"
msgid "Seconds delay"
msgstr ""
msgctxt "#30016"
msgid "Custom start parameter"
msgstr ""
msgctxt "#30017"
msgid "Parameter"
msgstr ""
msgctxt "#30018"
msgid "FRITZ!Box Sat>IP server"
msgstr ""
msgctxt "#30019"
msgid "AVM device"
msgstr ""
msgctxt "#30020"
msgid "IP of the AVM Repeater"
msgstr ""
msgctxt "#30021"
msgid "Router IP range (last digits are always .254)"
msgstr ""
msgctxt "#30022"
msgid "Used network"
msgstr ""
msgctxt "#30023"
msgid "Virtual IP #1"
msgstr ""
msgctxt "#30024"
msgid "Virtual IP #2"
msgstr ""
msgctxt "#30025"
msgid "Virtual IP #3"
msgstr ""
msgctxt "#30026"
msgid "Virtual IP #4"
msgstr ""
msgctxt "#30027"
msgid "TRACE Configuration"
msgstr ""
msgctxt "#30028"
msgid "Path"
msgstr ""
msgctxt "#30029"
msgid "Activate TRACE Debug"
msgstr ""
msgctxt "#30030"
msgid "Debug Value #1"
msgstr ""
msgctxt "#30031"
msgid "Debug Value #2"
msgstr ""
msgctxt "#30032"
msgid "Debug Value #3"
msgstr ""
msgctxt "#30033"
msgid "Debug Value #4"
msgstr ""
msgctxt "#30034"
msgid "Debug Value #5"
msgstr ""
msgctxt "#30035"
msgid "FRITZ!Box Configuration for FRITZ!OS 6.x (do not use for 7.x)"
msgstr ""
msgctxt "#30036"
msgid "Scan Tables"
msgstr ""
msgctxt "#30037"
msgid "Manage Scan-Tables"
msgstr ""
msgctxt "#30038"
msgid "Download and install Scan-Tables"
msgstr ""
msgctxt "#30039"
msgid "Download completed, tables installed"
msgstr ""
msgctxt "#30040"
msgid "Could not download Scan-Tables"
msgstr ""
msgctxt "#30041"
msgid "Could not extract zip files"
msgstr ""

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

View File

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<!-- HTS TVHEADEND -->
<category label="30000">
<setting label="30004" type="lsep"/>
<setting type="sep" />
<setting id="XMLTV_TYPE" type="labelenum" label="30005" values="NONE|FILE|SCRIPT|WEB" sort="yes" default="NONE"/>
<setting id="XMLTV_LOCATION_FILE" type="file" label="30006" default="" enable="eq(-1,1)"/>
<setting id="XMLTV_LOCATION_WEB" type="text" label="30007" default="http://" enable="eq(-2,3)"/>
<setting id="XMLTV_LOCATION_SCRIPT" type="file" label="30008" default="" enable="eq(-3,2)"/>
</category>
<category label="30001">
<setting label="30009" type="lsep"/>
<setting type="sep" />
<setting id="WAIT_FOR_FEINIT" type="bool" label="30011" default="false" />
<setting id="NUM_ADAPTERS" type="slider" range="1,16" option="int" label="30012" default="1" enable="eq(-1,true)" />
<setting id="REMOVE_MODULES" type="text" label="30010" values="" default=""/>
<setting id="PRELOAD_CAPMT_CA" type="bool" label="30013" default="false" />
<setting id="WORKAROUND_SLEEP" type="bool" label="30014" default="false" />
<setting id="WORKAROUND_SLEEP_TIME" type="slider" range="1,30" option="int" label="30015" default="1" enable="eq(-1,true)" />
</category>
<category label="30002">
<setting label="30027" type="lsep"/>
<setting type="sep" />
<setting id="DEBUG_LOG" type="bool" label="30029" default="false" />
<setting type="sep" />
<setting id="DEBUG_LOG_PATH" type="text" label="30028" default="/storage/.kodi/userdata/addon_data/service.tvheadend42/debug.txt" enable="eq(-2,true)"/>
<setting id="DEBUG_LOG_TRACE_1" type="select" default="NONE" visible="eq(-3,true)" enable="eq(-3,true)" label="30030" values="NONE|all|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
<setting id="DEBUG_LOG_TRACE_2" type="select" default="NONE" visible="eq(-4,true)" enable="!eq(-1,NONE)+eq(-4,true)" label="30031" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
<setting id="DEBUG_LOG_TRACE_3" type="select" default="NONE" visible="eq(-5,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+eq(-5,true)" label="30032" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
<setting id="DEBUG_LOG_TRACE_4" type="select" default="NONE" visible="eq(-6,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+!eq(-3,NONE)+eq(-6,true)" label="30033" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
<setting id="DEBUG_LOG_TRACE_5" type="select" default="NONE" visible="eq(-7,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+!eq(-3,NONE)+!eq(-4,NONE)+eq(-7,true)" label="30034" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
<setting type="sep" />
<setting id="CUSTOM_START" type="bool" label="30016" default="false" />
<setting id="CUSTOM_ARGS" type="text" label="30017" default="" enable="eq(-1,true)" />
</category>
<category label="30003">
<setting label="30035" type="lsep"/>
<setting type="sep" />
<setting id="AVM_SATIP_SERVER" type="bool" label="30018" default="false"/>
<setting id="AVM_DEVICE" type="labelenum" label="30019" values="AVM_Repeater|AVM_6490" visible="eq(-1,true)"/>
<setting id="AVM_ROUTER_IP" type="ipaddress" label="30020" default="192.168.178.2" visible="eq(-2,true)+eq(-1,0)"/>
<setting id="AVM_ROUTER_FAKE_IP" type="ipaddress" label="30021" default="192.168.178.254" visible="eq(-3,true)+eq(-2,1)"/>
<setting id="AVM_ETH" type="labelenum" label="30022" default="eth0" visible="eq(-4,true)" values="eth0|wlan0|eth1|wlan1" />
<setting type="sep" visible="eq(-5,true)"/>
<setting id="AVM_IP1" type="ipaddress" label="30023" default="192.168.178.201" visible="eq(-6,true)"/>
<setting id="AVM_IP2" type="ipaddress" label="30024" default="192.168.178.202" visible="eq(-7,true)"/>
<setting id="AVM_IP3" type="ipaddress" label="30025" default="192.168.178.203" visible="eq(-8,true)+eq(-7,1)"/>
<setting id="AVM_IP4" type="ipaddress" label="30026" default="192.168.178.204" visible="eq(-9,true)+eq(-8,1)"/>
</category>
<category label="30036">
<setting label="30037" type="lsep"/>
<setting id="DOWNLOAD_SCAN_TABLES" type="action" label="30038" option="close" action="RunScript(service.tvheadend42,download.py)"/>
</category>
</settings>

View File

@ -1,31 +0,0 @@
<settings version="2">
<setting id="AVM_DEVICE" default="true"></setting>
<setting id="AVM_ETH" default="true">eth0</setting>
<setting id="AVM_IP1" default="true">192.168.178.201</setting>
<setting id="AVM_IP2" default="true">192.168.178.202</setting>
<setting id="AVM_IP3" default="true">192.168.178.203</setting>
<setting id="AVM_IP4" default="true">192.168.178.204</setting>
<setting id="AVM_ROUTER_FAKE_IP" default="true">192.168.178.254</setting>
<setting id="AVM_ROUTER_IP" default="true">192.168.178.2</setting>
<setting id="AVM_SATIP_SERVER" default="true">false</setting>
<setting id="CUSTOM_ARGS" default="true"></setting>
<setting id="CUSTOM_START" default="true">false</setting>
<setting id="DEBUG_LOG" default="true">false</setting>
<setting id="DEBUG_LOG_PATH" default="true">/storage/.kodi/userdata/addon_data/service.tvheadend42/debug.txt</setting>
<setting id="DEBUG_LOG_TRACE_1" default="true">NONE</setting>
<setting id="DEBUG_LOG_TRACE_2" default="true">NONE</setting>
<setting id="DEBUG_LOG_TRACE_3" default="true">NONE</setting>
<setting id="DEBUG_LOG_TRACE_4" default="true">NONE</setting>
<setting id="DEBUG_LOG_TRACE_5" default="true">NONE</setting>
<setting id="DOWNLOAD_SCAN_TABLES" default="true"></setting>
<setting id="NUM_ADAPTERS">1</setting>
<setting id="PRELOAD_CAPMT_CA" default="true">false</setting>
<setting id="REMOVE_MODULES" default="true"></setting>
<setting id="WAIT_FOR_FEINIT" default="true">false</setting>
<setting id="WORKAROUND_SLEEP" default="true">false</setting>
<setting id="WORKAROUND_SLEEP_TIME">1</setting>
<setting id="XMLTV_LOCATION_FILE" default="true"></setting>
<setting id="XMLTV_LOCATION_SCRIPT" default="true"></setting>
<setting id="XMLTV_LOCATION_WEB" default="true">http://</setting>
<setting id="XMLTV_TYPE" default="true">NONE</setting>
</settings>

View File

@ -1,29 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon service.tvheadend42
SERVICE="service.tvheadend42"
case "$1" in
pre)
if systemctl is-active "$SERVICE" &>/dev/null ; then
systemctl stop "$SERVICE"
for module in $REMOVE_MODULES ; do
rmmod $module
done
fi
;;
post)
if systemctl is-enabled "$SERVICE" &>/dev/null ; then
for module in $REMOVE_MODULES ; do
modprobe $module
done
systemctl start "$SERVICE"
fi
;;
esac

View File

@ -1,13 +0,0 @@
[Unit]
Description=TVHeadend42 Service
After=network-online.service
[Service]
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.tvheadend42/bin/tvheadend42.start"
TimeoutStopSec=2
Restart=always
RestartSec=2
StartLimitInterval=0
[Install]
WantedBy=kodi.target