diff --git a/packages/addons/addon-depends/pngquant/package.mk b/packages/addons/addon-depends/pngquant/package.mk
new file mode 100644
index 0000000000..592b2dfe5f
--- /dev/null
+++ b/packages/addons/addon-depends/pngquant/package.mk
@@ -0,0 +1,47 @@
+################################################################################
+# This file is part of LibreELEC - https://libreelec.tv
+# Copyright (C) 2017-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="pngquant"
+PKG_VERSION="2.9.1"
+PKG_ARCH="any"
+PKG_LICENSE="GPLv3"
+PKG_SITE="https://pngquant.org"
+PKG_URL="http://pngquant.org/pngquant-${PKG_VERSION}-src.tar.gz"
+PKG_DEPENDS_HOST="toolchain libpng:host zlib:host"
+PKG_SECTION="graphics"
+PKG_SHORTDESC="lossy PNG compressor"
+PKG_LONGDESC="a PNG compresor that significantly reduces file sizes by converting images to a more efficient 8-bit PNG format"
+
+PKG_IS_ADDON="no"
+PKG_AUTORECONF="no"
+
+configure_host() {
+ : #
+}
+
+make_host() {
+ cd $PKG_BUILD
+ BIN=$PKG_BUILD/pngquant make
+
+ $STRIP $PKG_BUILD/pngquant
+}
+
+makeinstall_host() {
+ mkdir -p $TOOLCHAIN/bin
+ cp $PKG_BUILD/pngquant $TOOLCHAIN/bin
+}
diff --git a/packages/addons/service/tvheadend42/changelog.txt b/packages/addons/service/tvheadend42/changelog.txt
index b845f1511e..df666ec0a6 100644
--- a/packages/addons/service/tvheadend42/changelog.txt
+++ b/packages/addons/service/tvheadend42/changelog.txt
@@ -1,3 +1,8 @@
+110
+- added tv_grab_file support for compressed files (gz bz2 xz)
+- update to Tvheadend 4.2.1.7
+- fix FRITZ!Box support, AVM Repeater and 6490 are now working
+
109
- added custom start options to addon
- added FRITZ!Box Sat>IP server support to addon
diff --git a/packages/addons/service/tvheadend42/package.mk b/packages/addons/service/tvheadend42/package.mk
index 9d6b7c7913..4c9081d64b 100644
--- a/packages/addons/service/tvheadend42/package.mk
+++ b/packages/addons/service/tvheadend42/package.mk
@@ -1,6 +1,6 @@
################################################################################
# This file is part of LibreELEC - https://LibreELEC.tv
-# Copyright (C) 2016-2017 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
@@ -17,15 +17,15 @@
################################################################################
PKG_NAME="tvheadend42"
-PKG_VERSION="e5f5a42"
-PKG_VERSION_NUMBER="4.1.2415"
-PKG_REV="109"
+PKG_VERSION="4d4bf14"
+PKG_VERSION_NUMBER="4.2.1.7"
+PKG_REV="110"
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 curl dvb-tools libdvbcsa libiconv openssl Python:host yasm"
+PKG_DEPENDS_TARGET="toolchain curl dvb-tools libdvbcsa libiconv openssl pngquant:host Python:host yasm"
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"
@@ -56,6 +56,7 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
--enable-hdhomerun_static \
--enable-epoll \
--enable-inotify \
+ --enable-pngquant \
--disable-nvenc \
--disable-uriparser \
$TVH_TRANSCODING \
@@ -67,6 +68,7 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
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() {
diff --git a/packages/addons/service/tvheadend42/patches/tvheadend42-03_temp_ffmpeg_downgrade.patch b/packages/addons/service/tvheadend42/patches/tvheadend42-03_temp_ffmpeg_downgrade.patch
index 841dda5ae9..152f63e7e9 100644
--- a/packages/addons/service/tvheadend42/patches/tvheadend42-03_temp_ffmpeg_downgrade.patch
+++ b/packages/addons/service/tvheadend42/patches/tvheadend42-03_temp_ffmpeg_downgrade.patch
@@ -7,12 +7,12 @@ diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
LIBMFX_SHA1 = 84dbdf4a6b409067e863eb9564bb2efdec6d39ce
LIBMFX_DIFFS = libmfx.linux.path.diff
--FFMPEG = ffmpeg-3.2
+-FFMPEG = ffmpeg-3.2.4
-FFMPEG_TB = $(FFMPEG).tar.bz2
+FFMPEG = ffmpeg-3.1.5
+FFMPEG_TB = $(FFMPEG).tar.bz2
FFMPEG_URL = http://ffmpeg.org/releases/$(FFMPEG_TB)
--FFMPEG_SHA1 = aac4876d1bc4d2cd8d9833b20649c3eed984f6ef
+-FFMPEG_SHA1 = bfdd9bc3bb9808f1c31e5eede37c932ea9785812
+FFMPEG_SHA1 = 053dfea8c9e057fdf237885decd03147cb2412b1
diff --git a/packages/addons/service/tvheadend42/source/bin/tv_grab_file b/packages/addons/service/tvheadend42/source/bin/tv_grab_file
index 906d3a66ef..60825c80e3 100755
--- a/packages/addons/service/tvheadend42/source/bin/tv_grab_file
+++ b/packages/addons/service/tvheadend42/source/bin/tv_grab_file
@@ -30,7 +30,14 @@ then
XMLTV_LOCATION_SCRIPT=`grep XMLTV_LOCATION_SCRIPT $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
if [ "$XMLTV_TYPE" = "FILE" ]; then
- cat "$XMLTV_LOCATION_FILE"
+ 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
diff --git a/packages/addons/service/tvheadend42/source/bin/tvheadend42.start b/packages/addons/service/tvheadend42/source/bin/tvheadend42.start
index 89a999f157..8e249d6486 100755
--- a/packages/addons/service/tvheadend42/source/bin/tvheadend42.start
+++ b/packages/addons/service/tvheadend42/source/bin/tvheadend42.start
@@ -2,7 +2,7 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
-# Copyright (C) 2016-2017 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
@@ -89,14 +89,26 @@ if [ "$WORKAROUND_SLEEP" == "true" ]; then
sleep $WORKAROUND_SLEEP_TIME
fi
-# support FritzBox Sat>IP Server detection workaround
+# support FritzBox Sat>IP Server detection workaround for AVM-Repeater and AVM-6490
if [ "$AVM_SATIP_SERVER" == "true" ]; then
- AVM_SATIP=""
- for i in $(seq 1 $AVM_SATIP_SERVER_NUM); do
- ref_ip=AVM_IP_${i}
- eval "AVM_IP=\${$ref_ip}"
- AVM_SATIP="$AVM_SATIP --satip_xml http://${AVM_IP}:${AVM_PORT}/satipdesc.xml"
- done
+ 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
diff --git a/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml b/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml
index 02b78e7e35..7cd4701897 100644
--- a/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml
+++ b/packages/addons/service/tvheadend42/source/resources/language/English/strings.xml
@@ -20,14 +20,14 @@
Custom start parameter
Parameter
FRITZ!Box Sat>IP server
- # of tuners
- Tuner #1 address
- Tuner #2 address
- Tuner #3 address
- Tuner #4 address
- AVM SAT>IP Port
- Port
- FRITZ!Box Sat>IP server connection
+ 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
diff --git a/packages/addons/service/tvheadend42/source/resources/settings.xml b/packages/addons/service/tvheadend42/source/resources/settings.xml
index 06883e8c41..8737b8de5c 100644
--- a/packages/addons/service/tvheadend42/source/resources/settings.xml
+++ b/packages/addons/service/tvheadend42/source/resources/settings.xml
@@ -38,11 +38,14 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+