mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
hdhomerun: improved start, suspend and resume
This commit is contained in:
parent
86e25c471d
commit
c12144afea
3
packages/addons/driver/hdhomerun/changelog.txt
Normal file → Executable file
3
packages/addons/driver/hdhomerun/changelog.txt
Normal file → Executable file
@ -1,3 +1,6 @@
|
||||
3.1.2
|
||||
new addon settings option to enable suspend/resume driver actions
|
||||
new addon settings option to enable logging
|
||||
3.1.1
|
||||
rebuild for OpenELEC-3.2
|
||||
3.0.5
|
||||
|
0
packages/addons/driver/hdhomerun/config/dvbhdhomerun.sample
Normal file → Executable file
0
packages/addons/driver/hdhomerun/config/dvbhdhomerun.sample
Normal file → Executable file
0
packages/addons/driver/hdhomerun/icon/icon.png
Normal file → Executable file
0
packages/addons/driver/hdhomerun/icon/icon.png
Normal file → Executable file
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
2
packages/addons/driver/hdhomerun/meta
Normal file → Executable file
2
packages/addons/driver/hdhomerun/meta
Normal file → Executable file
@ -20,7 +20,7 @@
|
||||
|
||||
PKG_NAME="hdhomerun"
|
||||
PKG_VERSION="3.2"
|
||||
PKG_REV="1"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.silicondust.com/products/hdhomerun/dvbt/"
|
||||
|
3
packages/addons/driver/hdhomerun/settings-default.xml
Normal file → Executable file
3
packages/addons/driver/hdhomerun/settings-default.xml
Normal file → Executable file
@ -1,4 +1,7 @@
|
||||
<settings>
|
||||
<setting id="PRE_WAIT" value="2" />
|
||||
<setting id="POST_WAIT" value="1" />
|
||||
<setting id="USERHDHOMERUN_LOG" value="false" />
|
||||
<setting id="LIBHDHOMERUN_LOG" value="false" />
|
||||
<setting id="SUSPEND_DRIVER" value="false" />
|
||||
</settings>
|
||||
|
0
packages/addons/driver/hdhomerun/source/bin/hdhomerun.start
Normal file → Executable file
0
packages/addons/driver/hdhomerun/source/bin/hdhomerun.start
Normal file → Executable file
0
packages/addons/driver/hdhomerun/source/bin/hdhomerun.stop
Normal file → Executable file
0
packages/addons/driver/hdhomerun/source/bin/hdhomerun.stop
Normal file → Executable file
23
packages/addons/driver/hdhomerun/source/bin/userspace-driver.sh
Normal file → Executable file
23
packages/addons/driver/hdhomerun/source/bin/userspace-driver.sh
Normal file → Executable file
@ -22,6 +22,18 @@
|
||||
|
||||
. /etc/profile
|
||||
|
||||
# start locking mechanism - allows only one instance to be run at a time
|
||||
HDHR_LOCKFILE="/var/lock/userspace-driver-hdhomerun.lck"
|
||||
HDHR_LOCKFD=99
|
||||
# obtain an exclusive lock
|
||||
exlock() { eval "exec $HDHR_LOCKFD>\"$HDHR_LOCKFILE\""; flock -x $HDHR_LOCKFD; }
|
||||
# drop a lock
|
||||
unlock() { flock -u $HDHR_LOCKFD; flock -xn $HDHR_LOCKFD && rm -f "$HDHR_LOCKFILE"; }
|
||||
# end locking mechanism
|
||||
|
||||
# exclusive lock
|
||||
exlock
|
||||
|
||||
HDHR_ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_SETTINGS="$HDHR_ADDON_HOME/settings.xml"
|
||||
@ -92,7 +104,7 @@ if [ -z "$(pidof userhdhomerun)" ]; then
|
||||
echo "" >>$DVBHDHOMERUN_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $DVBHDHOMERUN_CONF_TMP
|
||||
|
||||
|
||||
if [ "$LIBHDHOMERUN_LOG" = "true" ]; then
|
||||
cat >>$DVBHDHOMERUN_CONF_TMP << EOF
|
||||
|
||||
@ -127,7 +139,11 @@ EOF
|
||||
mkdir -p /var/log/
|
||||
rm -f /var/log/dvbhdhomerun.log
|
||||
|
||||
userhdhomerun -f
|
||||
if [ "$USERHDHOMERUN_LOG" = "true" ]; then
|
||||
userhdhomerun -f
|
||||
else
|
||||
userhdhomerun -f -d
|
||||
fi
|
||||
|
||||
logger -t HDHomeRun "### Post wait for $POST_WAIT sec ###"
|
||||
sleep $POST_WAIT
|
||||
@ -144,3 +160,6 @@ EOF
|
||||
fi
|
||||
|
||||
logger -t HDHomeRun "### HDHomeRun ready ###"
|
||||
|
||||
# unlock the lock
|
||||
unlock
|
||||
|
0
packages/addons/driver/hdhomerun/source/default.py
Normal file → Executable file
0
packages/addons/driver/hdhomerun/source/default.py
Normal file → Executable file
4
packages/addons/driver/hdhomerun/source/resources/language/English/strings.xml
Normal file → Executable file
4
packages/addons/driver/hdhomerun/source/resources/language/English/strings.xml
Normal file → Executable file
@ -3,7 +3,9 @@
|
||||
<string id="1000">General</string>
|
||||
<string id="1020">Pre wait time [sec]</string>
|
||||
<string id="1030">Post wait time [sec]</string>
|
||||
<string id="1040">Enable libhdhomerun logging</string>
|
||||
<string id="1040">Enable userhdhomerun logging</string>
|
||||
<string id="1050">Enable libhdhomerun logging</string>
|
||||
<string id="1060">Enable suspend/resume the driver</string>
|
||||
|
||||
<string id="9000">Tuner settings</string>
|
||||
<string id="9005">Enable modifying settings</string>
|
||||
|
0
packages/addons/driver/hdhomerun/source/resources/lib/functions.py
Normal file → Executable file
0
packages/addons/driver/hdhomerun/source/resources/lib/functions.py
Normal file → Executable file
0
packages/addons/driver/hdhomerun/source/resources/lib/xmlpp.py
Normal file → Executable file
0
packages/addons/driver/hdhomerun/source/resources/lib/xmlpp.py
Normal file → Executable file
4
packages/addons/driver/hdhomerun/source/resources/settings.xml
Normal file → Executable file
4
packages/addons/driver/hdhomerun/source/resources/settings.xml
Normal file → Executable file
@ -4,7 +4,9 @@
|
||||
<setting type="sep" />
|
||||
<setting id="PRE_WAIT" type="number" label="1020" default="2" />
|
||||
<setting id="POST_WAIT" type="number" label="1030" default="1" />
|
||||
<setting id="LIBHDHOMERUN_LOG" type="bool" label="1040" default="false" />
|
||||
<setting id="USERHDHOMERUN_LOG" type="bool" label="1040" default="false" />
|
||||
<setting id="LIBHDHOMERUN_LOG" type="bool" label="1050" default="false" />
|
||||
<setting id="SUSPEND_DRIVER" type="bool" label="1060" default="false" />
|
||||
</category>
|
||||
<category label="9000">
|
||||
<setting type="sep" />
|
||||
|
56
packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power
Normal file → Executable file
56
packages/addons/driver/hdhomerun/source/sleep.d/hdhomerun.power
Normal file → Executable file
@ -22,26 +22,42 @@
|
||||
|
||||
. /etc/profile
|
||||
|
||||
LOCKDIR="/var/lock/"
|
||||
LOCKFILE="$LOCKDIR/hdhomerun"
|
||||
HDHR_ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.hdhomerun"
|
||||
HDHR_ADDON_SETTINGS="$HDHR_ADDON_HOME/settings.xml"
|
||||
|
||||
case "$1" in
|
||||
hibernate|suspend)
|
||||
if [ -n "$(pidof userhdhomerun)" ]; then
|
||||
progress "Shutting down HDHomeRun driver for suspending..."
|
||||
mkdir -p "$LOCKDIR"
|
||||
touch "$LOCKFILE"
|
||||
killall -9 userhdhomerun
|
||||
fi
|
||||
;;
|
||||
if [ ! -f "$HDHR_ADDON_SETTINGS" ]; then
|
||||
cp $HDHR_ADDON_DIR/settings-default.xml $HDHR_ADDON_SETTINGS
|
||||
fi
|
||||
|
||||
thaw|resume)
|
||||
if [ -f "$LOCKFILE" ]; then
|
||||
# driver started within Tvheadend/VDR
|
||||
rm -f "$LOCKFILE"
|
||||
fi
|
||||
;;
|
||||
mkdir -p /var/config
|
||||
cat "$HDHR_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/hdhomerun-addon.conf
|
||||
. /var/config/hdhomerun-addon.conf
|
||||
|
||||
*) exit $NA
|
||||
;;
|
||||
esac
|
||||
if [ "$SUSPEND_DRIVER" = "true" ]; then
|
||||
LOCKDIR="/var/lock"
|
||||
LOCKFILE="$LOCKDIR/hdhomerun"
|
||||
|
||||
case "$1" in
|
||||
hibernate|suspend)
|
||||
if [ -n "$(pidof userhdhomerun)" ]; then
|
||||
progress "Shutting down HDHomeRun driver for suspending..."
|
||||
mkdir -p "$LOCKDIR"
|
||||
touch "$LOCKFILE"
|
||||
killall -9 userhdhomerun
|
||||
fi
|
||||
;;
|
||||
|
||||
thaw|resume)
|
||||
if [ -f "$LOCKFILE" ]; then
|
||||
# driver started within Tvheadend/VDR
|
||||
rm -f "$LOCKFILE"
|
||||
fi
|
||||
;;
|
||||
|
||||
*) exit $NA
|
||||
;;
|
||||
esac
|
||||
else
|
||||
progress "Suspend/resume of HDHomeRun driver not enabled..."
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user