From 3ef2525313e2d61be6e718e886a97ff72783e03e Mon Sep 17 00:00:00 2001 From: Gregor Fuis Date: Mon, 27 Feb 2012 20:20:51 +0100 Subject: [PATCH 1/3] hts-tvheadend: enable unloading/loading dvb modules on suspend/resume. Configurable through addon settings. --- .../service/multimedia/hts-tvheadend/changelog.txt | 3 +++ packages/addons/service/multimedia/hts-tvheadend/meta | 2 +- .../source/resources/language/English/strings.xml | 3 +++ .../hts-tvheadend/source/resources/settings.xml | 5 +++++ .../hts-tvheadend/source/sleep.d/tvheadend.power | 10 ++++++++++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt index 8f2191e538..dba1578c2c 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt +++ b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt @@ -1,3 +1,6 @@ +2.0.7 +- enable unloading/loading dvb modules on suspend/resume + 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/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..1e58767165 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 @@ -25,6 +25,10 @@ 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 @@ -32,11 +36,17 @@ case "$1" in 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" From c62da08102379443b51de5c2c5fe0f0ecd054bc6 Mon Sep 17 00:00:00 2001 From: Gregor Fuis Date: Mon, 27 Feb 2012 20:38:29 +0100 Subject: [PATCH 2/3] hts-tvheadend: add while loop for restarting tvheadend if it crashes --- .../multimedia/hts-tvheadend/changelog.txt | 1 + .../hts-tvheadend/source/bin/tvheadend.start | 19 ++++++++++++++++--- .../hts-tvheadend/source/bin/tvheadend.stop | 5 +++++ .../source/sleep.d/tvheadend.power | 6 ------ 4 files changed, 22 insertions(+), 9 deletions(-) diff --git a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt index dba1578c2c..69c97804ba 100644 --- a/packages/addons/service/multimedia/hts-tvheadend/changelog.txt +++ b/packages/addons/service/multimedia/hts-tvheadend/changelog.txt @@ -1,5 +1,6 @@ 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 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/sleep.d/tvheadend.power b/packages/addons/service/multimedia/hts-tvheadend/source/sleep.d/tvheadend.power index 1e58767165..8a5bf9fc3e 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,9 +22,6 @@ . /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"` @@ -33,8 +30,6 @@ 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 @@ -49,7 +44,6 @@ case "$1" in done progress "Restarting HTS TVHeadend for wakeup..." tvheadend.start - rm -rf "$LOCKDIR/$LOCKFILE" fi ;; From e3e4271382b2b600292ef89f0e38f84f00a9fbd3 Mon Sep 17 00:00:00 2001 From: Gregor Fuis Date: Mon, 27 Feb 2012 23:27:17 +0100 Subject: [PATCH 3/3] hts-tvheadend: tvheadend.power - start service through xbmc --- .../multimedia/hts-tvheadend/source/sleep.d/tvheadend.power | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8a5bf9fc3e..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 @@ -43,7 +43,7 @@ case "$1" in modprobe $module done progress "Restarting HTS TVHeadend for wakeup..." - tvheadend.start + xbmc-send --host=127.0.0.1 -a "XBMC.RunScript(service.multimedia.hts-tvheadend)" & fi ;;