diff --git a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt
index 8f2191e538..69c97804ba 100644
--- a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt
+++ b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt
@@ -1,3 +1,7 @@
+2.0.7
+- enable unloading/loading dvb modules on suspend/resume
+- add while loop for restarting tvheadend if it crashes
+
2.0.6
- add possibilty to start / stop addon from addon manager with enable / disable
- add possibility to browse filesystem for xmltv source file
diff --git a/packages/addons/service/multimedia/hts-tvheadend/meta b/packages/addons/service/multimedia/hts-tvheadend/meta
index 2358e37a79..a6886e1e5a 100644
--- a/packages/addons/service/multimedia/hts-tvheadend/meta
+++ b/packages/addons/service/multimedia/hts-tvheadend/meta
@@ -20,7 +20,7 @@
PKG_NAME="hts-tvheadend"
PKG_VERSION="b877800"
-PKG_REV="6"
+PKG_REV="7"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html"
diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.start b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.start
index 55e375bdf8..4e88f67817 100755
--- a/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.start
+++ b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.start
@@ -22,6 +22,9 @@
. /etc/profile
+LOCKDIR="/var/lock/"
+LOCKFILE="tvheadend.disabled"
+
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.hts-tvheadend"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend"
ADDON_BIN="tvheadend"
@@ -40,7 +43,7 @@ if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then
cp $ADDON_DIR/xmltv-config $XMLTV_SETTINGS_FILE
fi
-TVHEADEND_ARG="-f -C -s -u root -g video -c $ADDON_HOME"
+TVHEADEND_ARG="-C -s -u root -g video -c $ADDON_HOME"
mkdir -p $ADDON_HOME
if [ ! $(pidof $ADDON_BIN) ]; then
@@ -52,5 +55,15 @@ mkdir -p $ADDON_HOME
. $driver_dvb
done
- $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE
- fi
\ No newline at end of file
+ if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
+ rm -rf "$LOCKDIR/$LOCKFILE"
+ fi
+
+ while [ true ] ; do
+ if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
+ break
+ fi
+ $ADDON_BIN $TVHEADEND_ARG &>$LOG_FILE
+ sleep 1
+ done &
+ fi
diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.stop b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.stop
index b1dd1471cc..5cdb503e65 100755
--- a/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.stop
+++ b/packages/addons/service/multimedia/hts-tvheadend/source/bin/tvheadend.stop
@@ -22,8 +22,13 @@
. /etc/profile
+LOCKDIR="/var/lock/"
+LOCKFILE="tvheadend.disabled"
+
ADDON_BIN="tvheadend"
if [ $(pidof $ADDON_BIN) ];then
+ mkdir -p "$LOCKDIR"
+ touch "$LOCKDIR/$LOCKFILE"
killall $ADDON_BIN
fi
diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/resources/language/English/strings.xml b/packages/addons/service/multimedia/hts-tvheadend/source/resources/language/English/strings.xml
index ad5eb930f8..92b655ff1a 100644
--- a/packages/addons/service/multimedia/hts-tvheadend/source/resources/language/English/strings.xml
+++ b/packages/addons/service/multimedia/hts-tvheadend/source/resources/language/English/strings.xml
@@ -3,9 +3,12 @@
XMLTV
+ DVB
XMLTV configuration
XMLTV source type
XMLTV File location
XMLTV Web location
+ DVB Configuration
+ Unload DVB mudules before suspend
diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/resources/settings.xml b/packages/addons/service/multimedia/hts-tvheadend/source/resources/settings.xml
index c18406ba27..12666cf0dd 100644
--- a/packages/addons/service/multimedia/hts-tvheadend/source/resources/settings.xml
+++ b/packages/addons/service/multimedia/hts-tvheadend/source/resources/settings.xml
@@ -9,4 +9,9 @@
+
+
+
+
+
diff --git a/packages/addons/service/multimedia/hts-tvheadend/source/sleep.d/tvheadend.power b/packages/addons/service/multimedia/hts-tvheadend/source/sleep.d/tvheadend.power
index 09cbae07b7..ac3fb9e658 100755
--- a/packages/addons/service/multimedia/hts-tvheadend/source/sleep.d/tvheadend.power
+++ b/packages/addons/service/multimedia/hts-tvheadend/source/sleep.d/tvheadend.power
@@ -22,24 +22,28 @@
. /etc/profile
-LOCKDIR="/var/lock/"
-LOCKFILE="tvheadend"
+ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.hts-tvheadend"
+ADDON_SETTINGS="$ADDON_HOME/settings.xml"
+REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
case "$1" in
hibernate|suspend)
if [ $(pidof tvheadend) ];then
progress "Shutting down HTS TVHeadend for suspending..."
- mkdir -p "$LOCKDIR"
- touch "$LOCKDIR/$LOCKFILE"
tvheadend.stop
+ for module in $REMOVE_MODULES ; do
+ rmmod -w $module
+ done
fi
;;
thaw|resume)
if [ -f "$LOCKDIR/$LOCKFILE" ];then
+ for module in $REMOVE_MODULES ; do
+ modprobe $module
+ done
progress "Restarting HTS TVHeadend for wakeup..."
- tvheadend.start
- rm -rf "$LOCKDIR/$LOCKFILE"
+ xbmc-send --host=127.0.0.1 -a "XBMC.RunScript(service.multimedia.hts-tvheadend)" &
fi
;;