diff --git a/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk b/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk
new file mode 100644
index 0000000000..df0682eae7
--- /dev/null
+++ b/packages/addons/addon-depends/tvh-dtv-scan-tables/package.mk
@@ -0,0 +1,29 @@
+################################################################################
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2018-present Team LibreELEC
+#
+# 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 .
+################################################################################
+
+PKG_NAME="tvh-dtv-scan-tables"
+PKG_VERSION="a3ebfcd"
+PKG_SHA256="0cfb977f9346b3a19f8494816379214a9e197301254f6fd46d9072f3895f5f68"
+PKG_ARCH="any"
+PKG_LICENSE="GPL"
+PKG_SITE="https://github.com/tvheadend"
+PKG_URL="https://github.com/tvheadend/dtv-scan-tables/archive/$PKG_VERSION.tar.gz"
+PKG_SOURCE_DIR="dtv-scan-tables-${PKG_VERSION}*"
+PKG_DEPENDS_TARGET="toolchain"
+PKG_LONGDESC="Digital TV scan tables, a fork from Tvh to support more recent tables"
+PKG_TOOLCHAIN="manual"
diff --git a/packages/addons/service/tvheadend42/addon.xml b/packages/addons/service/tvheadend42/addon.xml
new file mode 100644
index 0000000000..a166e9a6b0
--- /dev/null
+++ b/packages/addons/service/tvheadend42/addon.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+@REQUIRES@
+
+
+ @PKG_ADDON_PROVIDES@
+
+
+ @PKG_ADDON_PROVIDES@
+
+
+ @PKG_SHORTDESC@
+
+@PKG_LONGDESC@
+
+
+@PKG_DISCLAIMER@
+
+ all
+
+@PKG_ADDON_NEWS@
+
+
+ resources/icon.png
+ resources/fanart.png
+@PKG_ADDON_SCREENSHOT@
+
+
+
diff --git a/packages/addons/service/tvheadend42/changelog.txt b/packages/addons/service/tvheadend42/changelog.txt
index 30b75937aa..5f4f2d6c20 100644
--- a/packages/addons/service/tvheadend42/changelog.txt
+++ b/packages/addons/service/tvheadend42/changelog.txt
@@ -1,3 +1,7 @@
+114
+- update to 4.2.5-27
+- addded manual Scan-Table update
+
113
- update to 4.2.4-23
- full transcoding support
diff --git a/packages/addons/service/tvheadend42/package.mk b/packages/addons/service/tvheadend42/package.mk
index f81ac1c4fc..8bc8704e37 100644
--- a/packages/addons/service/tvheadend42/package.mk
+++ b/packages/addons/service/tvheadend42/package.mk
@@ -17,16 +17,16 @@
################################################################################
PKG_NAME="tvheadend42"
-PKG_VERSION="ceaf330"
-PKG_SHA256="c6b3b366136d9e86630cb2ebd2cab823448d0eeb02ef15e72bc0accd8dc9d923"
-PKG_VERSION_NUMBER="4.2.4-23"
-PKG_REV="113"
+PKG_VERSION="7a8fa15"
+PKG_SHA256="317fbd5ac0167cb64021bcfbe1f31deb4edbafaf63e6ffc385c94662706e20a1"
+PKG_VERSION_NUMBER="4.2.5-27"
+PKG_REV="114"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.tvheadend.org"
PKG_URL="https://github.com/tvheadend/tvheadend/archive/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="tvheadend-${PKG_VERSION}*"
-PKG_DEPENDS_TARGET="toolchain avahi curl dvb-apps ffmpegx libdvbcsa libiconv openssl pngquant:host Python2:host"
+PKG_DEPENDS_TARGET="toolchain avahi curl dvb-apps ffmpegx libdvbcsa libiconv openssl pngquant:host Python2:host tvh-dtv-scan-tables"
PKG_SECTION="service"
PKG_SHORTDESC="Tvheadend: a TV streaming server for Linux"
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"
@@ -71,8 +71,9 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
--disable-dbus_1 \
--enable-dvbcsa \
--enable-dvben50221 \
- --enable-hdhomerun_client \
- --enable-hdhomerun_static \
+ --disable-dvbscan \
+ --disable-hdhomerun_client \
+ --disable-hdhomerun_static \
--enable-epoll \
--enable-inotify \
--enable-pngquant \
@@ -114,6 +115,20 @@ makeinstall_target() {
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_BUILD/build.linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -P $PKG_BUILD/capmt_ca.so $ADDON_BUILD/$PKG_ADDON_ID/bin
+
+ #dvb-scan files
+ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/dvb-scan
+ cp -r $(get_build_dir tvh-dtv-scan-tables)/atsc \
+ $(get_build_dir tvh-dtv-scan-tables)/dvb-* \
+ $(get_build_dir tvh-dtv-scan-tables)/isdb-t \
+ $ADDON_BUILD/$PKG_ADDON_ID/dvb-scan
}
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch
new file mode 100644
index 0000000000..af3432ed85
--- /dev/null
+++ b/packages/addons/service/tvheadend42/patches/tvheadend42-01-dvb-scan-path.patch
@@ -0,0 +1,11 @@
+--- a/src/input/mpegts/scanfile.c
++++ b/src/input/mpegts/scanfile.c
+@@ -903,7 +903,7 @@ scanfile_init ( const char *muxconf_path, int lock )
+ #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) {
diff --git a/packages/addons/service/tvheadend42/source/default.py b/packages/addons/service/tvheadend42/source/default.py
index 3999a0eb31..131e0e528d 100644
--- a/packages/addons/service/tvheadend42/source/default.py
+++ b/packages/addons/service/tvheadend42/source/default.py
@@ -1,6 +1,6 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
-# Copyright (C) 2016 Team LibreELEC
+# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/packages/addons/service/tvheadend42/source/download.py b/packages/addons/service/tvheadend42/source/download.py
new file mode 100644
index 0000000000..8f7cbeb9c9
--- /dev/null
+++ b/packages/addons/service/tvheadend42/source/download.py
@@ -0,0 +1,82 @@
+################################################################################
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2018-present Team LibreELEC
+#
+# 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 .
+################################################################################
+
+import urllib, os, zipfile
+from urllib2 import URLError
+import xbmc, xbmcgui, xbmcaddon
+import shutil
+import sys
+
+url = 'https://github.com/tvheadend/dtv-scan-tables/archive/tvheadend.zip'
+temp = xbmc.translatePath('special://temp')
+temp_folder = os.path.join(temp, 'dtv-scan-tables-tvheadend')
+dest_folder = os.path.join(xbmc.translatePath(xbmcaddon.Addon().getAddonInfo('path')), 'dvb-scan')
+archive = os.path.join(temp, 'dtv_scantables.zip')
+
+ADDON_NAME = xbmcaddon.Addon().getAddonInfo('name')
+LS = xbmcaddon.Addon().getLocalizedString
+SCANTABLES = ['atsc', 'channels-conf', 'dvb-c', 'dvb-s', 'dvb-t', 'isdb-t']
+
+class DownLoader():
+
+ def __init__(self):
+ self.dp = xbmcgui.DialogProgressBG()
+
+ def download(self, url, dest):
+ try:
+ self.dp.create(ADDON_NAME, LS(30042))
+ urllib.urlretrieve(url, dest, reporthook=self._pbhook)
+ self.dp.close()
+ zip = zipfile.ZipFile(archive)
+ if zip.testzip() is not None: raise zipfile.BadZipfile
+
+ if os.path.exists(temp_folder): shutil.rmtree(temp_folder)
+ if os.path.exists(dest_folder): shutil.rmtree(dest_folder)
+
+ self.dp.create(ADDON_NAME, LS(30043))
+ for idx, folder in enumerate(SCANTABLES):
+ self._pbhook(idx, 1, len(SCANTABLES) - 1)
+ for z in zip.filelist:
+ if folder in z.filename: zip.extract(z.filename, temp)
+
+ self.dp.close()
+ for folder in SCANTABLES:
+ shutil.copytree(os.path.join(temp_folder, folder), os.path.join(dest_folder, folder))
+
+ xbmcgui.Dialog().notification(ADDON_NAME, LS(30039), xbmcgui.NOTIFICATION_INFO)
+ except URLError, e:
+ xbmc.log('Could not download file: %s' % e.reason, xbmc.LOGERROR)
+ self.dp.close()
+ xbmcgui.Dialog().notification(ADDON_NAME, LS(30040), xbmcgui.NOTIFICATION_ERROR)
+ except zipfile.BadZipfile:
+ xbmc.log('Could not extract files from zip, bad zipfile', xbmc.LOGERROR)
+ xbmcgui.Dialog().notification(ADDON_NAME, LS(30041), xbmcgui.NOTIFICATION_ERROR)
+
+ def _pbhook(self, numblocks, blocksize, filesize):
+ percent = int((numblocks * blocksize * 100) / filesize)
+ self.dp.update(percent)
+
+
+if __name__ == '__main__':
+ try:
+ if sys.argv[1] == 'getscantables':
+ dl = DownLoader()
+ dl.download(url, archive)
+ except IndexError:
+ pass
+
diff --git a/packages/addons/service/tvheadend42/source/resources/language/English/strings.po b/packages/addons/service/tvheadend42/source/resources/language/English/strings.po
new file mode 100644
index 0000000000..8047092343
--- /dev/null
+++ b/packages/addons/service/tvheadend42/source/resources/language/English/strings.po
@@ -0,0 +1,182 @@
+# 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"
+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 ""
+
+msgctxt "#30042"
+msgid "Download Scan-Tables"
+msgstr ""
+
+msgctxt "#30043"
+msgid "Extract Scan-Tables"
+msgstr ""
diff --git a/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml b/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml
deleted file mode 100644
index 7cd4701897..0000000000
--- a/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
- XMLTV
- DVB
- DEBUG
- FRITZ!Box Sat>IP
- XMLTV Configuration
- XMLTV source type
- XMLTV File location
- XMLTV Web location
- XMLTV Script location
- DVB Configuration
- Unload DVB mudules before suspend
- Wait for frontend initialization
- Number of adapters to wait for
- Preload capmt_ca.so library
- Delay the start of Tvheadend
- Seconds delay
- Custom start parameter
- Parameter
- FRITZ!Box Sat>IP server
- AVM device
- IP of the AVM Repeater
- Router IP range (last digits are always .254)
- Used network
- Virtual IP #1
- Virtual IP #2
- Virtual IP #3
- Virtual IP #4
- TRACE Configuration
- Path
- Activate TRACE Debug
- Debug Value #1
- Debug Value #2
- Debug Value #3
- Debug Value #4
- Debug Value #5
-
diff --git a/packages/addons/service/tvheadend42/source/resources/settings.xml b/packages/addons/service/tvheadend42/source/resources/settings.xml
index 8737b8de5c..33599b7e01 100644
--- a/packages/addons/service/tvheadend42/source/resources/settings.xml
+++ b/packages/addons/service/tvheadend42/source/resources/settings.xml
@@ -1,51 +1,55 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/packages/addons/service/tvheadend42/source/settings-default.xml b/packages/addons/service/tvheadend42/source/settings-default.xml
index 0f47b8e232..1b5688d658 100644
--- a/packages/addons/service/tvheadend42/source/settings-default.xml
+++ b/packages/addons/service/tvheadend42/source/settings-default.xml
@@ -1,10 +1,31 @@
-
-
-
-
-
-
-
-
-
+
+
+
+ 192.168.178.201
+ 192.168.178.202
+ 192.168.178.203
+ 192.168.178.204
+ 192.168.178.254
+ 192.168.178.2
+ false
+
+ false
+ false
+ /storage/.kodi/userdata/addon_data/service.tvheadend42/debug.txt
+ NONE
+ NONE
+ NONE
+ NONE
+ NONE
+
+ 1
+ false
+
+ false
+ false
+ 1
+
+
+ http://
+ NONE
diff --git a/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power b/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power
index ca66f083ff..b35747480a 100755
--- a/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power
+++ b/packages/addons/service/tvheadend42/source/sleep.d/tvheadend.power
@@ -1,8 +1,8 @@
#!/bin/sh
################################################################################
-# This file is part of LibreELEC - https://LibreELEC.tv
-# Copyright (C) 2016 Team LibreELEC
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by