Merge pull request #248 from Gujs/openelec-tvheadend

hts-tvheadend addon
This commit is contained in:
Stephan Raue 2012-02-29 01:23:17 -08:00
commit 7f01884eb9
7 changed files with 44 additions and 10 deletions

View File

@ -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

View File

@ -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"

View File

@ -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
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

View File

@ -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

View File

@ -3,9 +3,12 @@
<!-- HTS TVHEADEND -->
<string id="1000">XMLTV</string>
<string id="1001">DVB</string>
<string id="1011">XMLTV configuration</string>
<string id="1011">XMLTV source type</string>
<string id="1012">XMLTV File location</string>
<string id="1013">XMLTV Web location</string>
<string id="1020">DVB Configuration</string>
<string id="1021">Unload DVB mudules before suspend</string>
</strings>

View File

@ -9,4 +9,9 @@
<setting id="XMLTV_LOCATION_FILE" type="file" label="1012" default="" enable="eq(-1,0)"/>
<setting id="XMLTV_LOCATION_WEB" type="text" label="1013" default="http://" enable="eq(-2,2)"/>
</category>
<category label="1001">
<setting label="1020" type="lsep"/>
<setting type="sep" />
<setting id="REMOVE_MODULES" type="text" label="1021" values="" default=""/>
</category>
</settings>

View File

@ -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
;;