mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
Merge branch 'master' of github.com:OpenELEC/OpenELEC.tv into openelec-3.2
This commit is contained in:
commit
a51b68b601
@ -39,7 +39,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then
|
|||||||
LOCKFILE="$LOCKDIR/hdhomerun"
|
LOCKFILE="$LOCKDIR/hdhomerun"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
hibernate|suspend)
|
hibernate|suspend|pre)
|
||||||
if [ -n "$(pidof userhdhomerun)" ]; then
|
if [ -n "$(pidof userhdhomerun)" ]; then
|
||||||
progress "Shutting down HDHomeRun driver for suspending..."
|
progress "Shutting down HDHomeRun driver for suspending..."
|
||||||
mkdir -p "$LOCKDIR"
|
mkdir -p "$LOCKDIR"
|
||||||
@ -48,7 +48,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
thaw|resume)
|
thaw|resume|post)
|
||||||
if [ -f "$LOCKFILE" ]; then
|
if [ -f "$LOCKFILE" ]; then
|
||||||
# driver started within Tvheadend/VDR
|
# driver started within Tvheadend/VDR
|
||||||
rm -f "$LOCKFILE"
|
rm -f "$LOCKFILE"
|
||||||
|
@ -39,7 +39,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then
|
|||||||
LOCKFILE="$LOCKDIR/sundtek-mediatv"
|
LOCKFILE="$LOCKDIR/sundtek-mediatv"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
hibernate|suspend)
|
hibernate|suspend|pre)
|
||||||
if [ -n "$(pidof mediasrv)" ]; then
|
if [ -n "$(pidof mediasrv)" ]; then
|
||||||
progress "Shutting down Sundtek DVB driver for suspending..."
|
progress "Shutting down Sundtek DVB driver for suspending..."
|
||||||
mkdir -p "$LOCKDIR"
|
mkdir -p "$LOCKDIR"
|
||||||
@ -48,7 +48,7 @@ if [ "$SUSPEND_DRIVER" = "true" ]; then
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
thaw|resume)
|
thaw|resume|post)
|
||||||
if [ -f "$LOCKFILE" ]; then
|
if [ -f "$LOCKFILE" ]; then
|
||||||
# driver started within Tvheadend/VDR
|
# driver started within Tvheadend/VDR
|
||||||
rm -f "$LOCKFILE"
|
rm -f "$LOCKFILE"
|
||||||
|
@ -39,23 +39,25 @@ BOBLIGHT_X11="$ADDON_HOME/boblight.X11"
|
|||||||
|
|
||||||
LOCKDIR="/var/lock/"
|
LOCKDIR="/var/lock/"
|
||||||
LOCKFILE="boblightd.disabled"
|
LOCKFILE="boblightd.disabled"
|
||||||
|
LOCKFILE_SLEEP="boblightd.sleep"
|
||||||
|
|
||||||
export LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="$ADDON_DIR/lib:$LD_LIBRARY_PATH"
|
||||||
|
|
||||||
cp -R $ADDON_DIR/config/*.sample $ADDON_HOME > $LOG_FILE 2>&1
|
cp -R $ADDON_DIR/config/*.sample $ADDON_HOME > $LOG_FILE 2>&1
|
||||||
|
|
||||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null
|
||||||
rm -rf "$LOCKDIR/$LOCKFILE"
|
boblightd.stop
|
||||||
fi
|
rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null
|
||||||
|
|
||||||
if [ -f "$BOBLIGHT_CONFIG" ] ; then
|
if [ -f "$BOBLIGHT_CONFIG" ] ; then
|
||||||
if [ ! "$(pidof boblightd)" ]; then
|
if [ ! "$(pidof boblightd)" ]; then
|
||||||
while [ true ] ; do
|
while [ true ] ; do
|
||||||
|
while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do
|
||||||
|
usleep 100000
|
||||||
|
done
|
||||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
# Make sure the xserver has started up
|
|
||||||
wait_for_xorg
|
|
||||||
# Start the boblight daemon
|
# Start the boblight daemon
|
||||||
boblightd -c $BOBLIGHT_CONFIG >> $LOG_FILE 2>&1
|
boblightd -c $BOBLIGHT_CONFIG >> $LOG_FILE 2>&1
|
||||||
done &
|
done &
|
||||||
@ -64,11 +66,12 @@ if [ -f "$BOBLIGHT_CONFIG" ] ; then
|
|||||||
if [ -e $BOBLIGHT_X11 ]; then
|
if [ -e $BOBLIGHT_X11 ]; then
|
||||||
if [ ! "$(pidof boblight-X11)" ]; then
|
if [ ! "$(pidof boblight-X11)" ]; then
|
||||||
while [ true ] ; do
|
while [ true ] ; do
|
||||||
|
while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do
|
||||||
|
usleep 100000
|
||||||
|
done
|
||||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
# Make sure the xserver has started up
|
|
||||||
wait_for_xorg
|
|
||||||
# Start the boblight daemon
|
# Start the boblight daemon
|
||||||
boblight-X11 >> $LOG_FILE 2>&1
|
boblight-X11 >> $LOG_FILE 2>&1
|
||||||
done &
|
done &
|
||||||
|
@ -24,14 +24,22 @@
|
|||||||
|
|
||||||
LOCKDIR="/var/lock/"
|
LOCKDIR="/var/lock/"
|
||||||
LOCKFILE="boblightd.disabled"
|
LOCKFILE="boblightd.disabled"
|
||||||
|
LOCKFILE_SLEEP="boblightd.sleep"
|
||||||
|
|
||||||
mkdir -p "$LOCKDIR"
|
mkdir -p "$LOCKDIR"
|
||||||
touch "$LOCKDIR/$LOCKFILE"
|
if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then
|
||||||
|
touch "$LOCKDIR/$LOCKFILE"
|
||||||
if [ "$(pidof boblightd)" ];then
|
|
||||||
killall boblightd
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$(pidof boblight-X11)" ];then
|
if [ "$(pidof boblightd)" ] ; then
|
||||||
killall boblight-X11
|
killall -q boblightd
|
||||||
|
killall -q boblight-X11
|
||||||
|
for seq in `seq 1 10` ; do
|
||||||
|
if [ ! "$(pidof boblightd boblight-X11)" ] ; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
usleep 200000
|
||||||
|
done
|
||||||
|
killall -q -9 boblightd
|
||||||
|
killall -q -9 boblight-X11
|
||||||
fi
|
fi
|
||||||
|
@ -22,19 +22,18 @@
|
|||||||
|
|
||||||
. /etc/profile
|
. /etc/profile
|
||||||
|
|
||||||
LOCKFILE="/var/lock/boblightd.sleep"
|
LOCKFILE_SLEEP="/var/lock/boblightd.sleep"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
hibernate|suspend)
|
hibernate|suspend|pre)
|
||||||
progress "Shutting down boblightd for suspending..."
|
progress "Shutting down boblightd for suspending..."
|
||||||
|
touch $LOCKFILE_SLEEP
|
||||||
boblightd.stop
|
boblightd.stop
|
||||||
touch $LOCKFILE
|
|
||||||
;;
|
;;
|
||||||
thaw|resume)
|
thaw|resume|post)
|
||||||
progress "Restarting boblightd for wakeup..."
|
if [ -f "$LOCKFILE_SLEEP" ] ; then
|
||||||
if [ -f "$LOCKFILE" ] ; then
|
progress "Restarting boblightd for wakeup..."
|
||||||
rm -rf "$LOCKFILE"
|
rm -rf "$LOCKFILE_SLEEP"
|
||||||
boblightd.start
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*) exit $NA
|
*) exit $NA
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
LOCKDIR="/var/lock/"
|
LOCKDIR="/var/lock/"
|
||||||
LOCKFILE="tvheadend.disabled"
|
LOCKFILE="tvheadend.disabled"
|
||||||
|
LOCKFILE_SLEEP="tvheadend.sleep"
|
||||||
|
|
||||||
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend"
|
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend"
|
||||||
ADDON_SYS_DIR="/usr/lib/xbmc/addons/service.multimedia.tvheadend"
|
ADDON_SYS_DIR="/usr/lib/xbmc/addons/service.multimedia.tvheadend"
|
||||||
@ -113,24 +114,24 @@ mkdir -p /var/config
|
|||||||
. /var/config/tvheadend.conf.default
|
. /var/config/tvheadend.conf.default
|
||||||
. /var/config/tvheadend.conf
|
. /var/config/tvheadend.conf
|
||||||
|
|
||||||
|
rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null
|
||||||
|
tvheadend.stop
|
||||||
|
rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null
|
||||||
if [ ! "$(pidof $ADDON_BIN)" ]; then
|
if [ ! "$(pidof $ADDON_BIN)" ]; then
|
||||||
# start userspace DVB driver/addon
|
|
||||||
for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
|
|
||||||
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
|
|
||||||
logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###"
|
|
||||||
# use ". " because of variable export
|
|
||||||
. $driver_dvb
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
|
||||||
rm -rf "$LOCKDIR/$LOCKFILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
while [ true ] ; do
|
while [ true ] ; do
|
||||||
|
while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do
|
||||||
|
usleep 100000
|
||||||
|
done
|
||||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
# start userspace DVB driver/addon
|
||||||
|
for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
|
||||||
|
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
|
||||||
|
logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###"
|
||||||
|
# use ". " because of variable export
|
||||||
|
. $driver_dvb
|
||||||
|
done
|
||||||
# (wait for) at least 1 adapter (xbmc allows to set 0)
|
# (wait for) at least 1 adapter (xbmc allows to set 0)
|
||||||
[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1
|
[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1
|
||||||
if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then
|
if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then
|
||||||
|
@ -24,12 +24,22 @@
|
|||||||
|
|
||||||
LOCKDIR="/var/lock/"
|
LOCKDIR="/var/lock/"
|
||||||
LOCKFILE="tvheadend.disabled"
|
LOCKFILE="tvheadend.disabled"
|
||||||
|
LOCKFILE_SLEEP="tvheadend.sleep"
|
||||||
|
|
||||||
ADDON_BIN="tvheadend"
|
ADDON_BIN="tvheadend"
|
||||||
|
|
||||||
mkdir -p "$LOCKDIR"
|
mkdir -p "$LOCKDIR"
|
||||||
touch "$LOCKDIR/$LOCKFILE"
|
if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then
|
||||||
|
touch "$LOCKDIR/$LOCKFILE"
|
||||||
if [ "$(pidof $ADDON_BIN)" ];then
|
fi
|
||||||
killall $ADDON_BIN
|
|
||||||
|
if [ "$(pidof $ADDON_BIN)" ] ; then
|
||||||
|
killall -q $ADDON_BIN
|
||||||
|
for seq in `seq 1 10` ; do
|
||||||
|
if [ ! "$(pidof $ADDON_BIN)" ] ; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
usleep 200000
|
||||||
|
done
|
||||||
|
killall -q -9 $ADDON_BIN
|
||||||
fi
|
fi
|
||||||
|
@ -26,40 +26,29 @@ ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.tvheadend"
|
|||||||
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
||||||
REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'`
|
REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'`
|
||||||
|
|
||||||
LOCKFILE="/var/lock/tvheadend.sleep"
|
LOCKFILE_SLEEP="/var/lock/tvheadend.sleep"
|
||||||
|
|
||||||
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend"
|
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.tvheadend"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
hibernate|suspend)
|
hibernate|suspend|pre)
|
||||||
if [ "$(pidof tvheadend)" ];then
|
if [ "$(pidof tvheadend)" ];then
|
||||||
progress "Shutting down HTS TVHeadend for suspending..."
|
progress "Shutting down HTS TVHeadend for suspending..."
|
||||||
xbmc-send -a "Notification(tvheadend, Shutting down HTS TVHeadend for suspend..., 5000, $ADDON_DIR/icon.png)"
|
touch $LOCKFILE_SLEEP
|
||||||
tvheadend.stop
|
tvheadend.stop
|
||||||
touch $LOCKFILE
|
|
||||||
for module in $REMOVE_MODULES ; do
|
for module in $REMOVE_MODULES ; do
|
||||||
rmmod -w $module
|
rmmod -w $module
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
thaw|resume)
|
thaw|resume|post)
|
||||||
if [ -f "$LOCKFILE" ] ; then
|
if [ -f "$LOCKFILE_SLEEP" ] ; then
|
||||||
progress "Restarting HTS TVHeadend for wakeup..."
|
progress "Restarting HTS TVHeadend for wakeup..."
|
||||||
xbmc-send -a "Notification(tvheadend, Restarting HTS TVHeadend for wakeup..., 5000, $ADDON_DIR/icon.png)"
|
|
||||||
for module in $REMOVE_MODULES ; do
|
for module in $REMOVE_MODULES ; do
|
||||||
modprobe $module
|
modprobe $module
|
||||||
done
|
done
|
||||||
tvheadend.stop
|
rm -rf "$LOCKFILE_SLEEP"
|
||||||
for seq in `seq 1 10` ; do
|
|
||||||
if [ ! "$(pidof tvheadend)" ];then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
usleep 500000
|
|
||||||
done
|
|
||||||
killall -9 tvheadend &>/dev/null
|
|
||||||
rm -rf "$LOCKFILE"
|
|
||||||
tvheadend.start
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*) exit $NA
|
*) exit $NA
|
||||||
|
@ -32,6 +32,7 @@ check_tmpfs_mount() {
|
|||||||
|
|
||||||
LOCKDIR="/var/lock/"
|
LOCKDIR="/var/lock/"
|
||||||
LOCKFILE="vdr.disabled"
|
LOCKFILE="vdr.disabled"
|
||||||
|
LOCKFILE_SLEEP="vdr.sleep"
|
||||||
|
|
||||||
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon"
|
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon"
|
||||||
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.vdr-addon"
|
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.multimedia.vdr-addon"
|
||||||
@ -148,22 +149,26 @@ MYDATA
|
|||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
rm -rf "$LOCKDIR/$LOCKFILE_SLEEP" &>/dev/null
|
||||||
|
vdr.stop
|
||||||
|
rm -rf "$LOCKDIR/$LOCKFILE" &>/dev/null
|
||||||
|
|
||||||
if [ ! "$(pidof vdr.bin)" ];then
|
if [ ! "$(pidof vdr.bin)" ];then
|
||||||
# start userspace DVB driver/addon
|
|
||||||
for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
|
|
||||||
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
|
|
||||||
logger -t VDR "### Loading userspace DVB driver: $driver_dvb_name ###"
|
|
||||||
# use ". " because of variable export
|
|
||||||
. $driver_dvb
|
|
||||||
done
|
|
||||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
|
||||||
rm -rf "$LOCKDIR/$LOCKFILE"
|
|
||||||
fi
|
|
||||||
while [ true ] ; do
|
while [ true ] ; do
|
||||||
|
while [ -f "$LOCKDIR/$LOCKFILE_SLEEP" ] ; do
|
||||||
|
usleep 100000
|
||||||
|
done
|
||||||
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
if [ -f "$LOCKDIR/$LOCKFILE" ] ; then
|
||||||
umount /var/run/vdr 2>&1
|
umount /var/run/vdr 2>&1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
# start userspace DVB driver/addon
|
||||||
|
for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
|
||||||
|
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
|
||||||
|
logger -t VDR "### Loading userspace DVB driver: $driver_dvb_name ###"
|
||||||
|
# use ". " because of variable export
|
||||||
|
. $driver_dvb
|
||||||
|
done
|
||||||
# (wait for) at least 1 adapter (xbmc allows to set 0)
|
# (wait for) at least 1 adapter (xbmc allows to set 0)
|
||||||
[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1
|
[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1
|
||||||
if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then
|
if [ "$WAIT_FOR_FEINIT" == "true" ] && [ ! -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then
|
||||||
|
@ -24,11 +24,20 @@
|
|||||||
|
|
||||||
LOCKDIR="/var/lock/"
|
LOCKDIR="/var/lock/"
|
||||||
LOCKFILE="vdr.disabled"
|
LOCKFILE="vdr.disabled"
|
||||||
|
LOCKFILE_SLEEP="vdr.sleep"
|
||||||
|
|
||||||
mkdir -p "$LOCKDIR"
|
mkdir -p "$LOCKDIR"
|
||||||
touch "$LOCKDIR/$LOCKFILE"
|
if [ ! -e "$LOCKDIR/$LOCKFILE_SLEEP" ] ; then
|
||||||
|
touch "$LOCKDIR/$LOCKFILE"
|
||||||
if [ "$(pidof vdr.bin)" ];then
|
|
||||||
killall vdr.bin
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$(pidof vdr.bin)" ] ; then
|
||||||
|
killall -q vdr.bin
|
||||||
|
for seq in `seq 1 10` ; do
|
||||||
|
if [ ! "$(pidof vdr.bin)" ] ; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
usleep 200000
|
||||||
|
done
|
||||||
|
killall -q -9 vdr.bin
|
||||||
|
fi
|
||||||
|
@ -27,39 +27,28 @@ ADDON_CONFIG_DIR="$ADDON_HOME/config"
|
|||||||
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
||||||
REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'`
|
REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | sed 's|.*value="\([^"]*\)".*|\1|g'`
|
||||||
|
|
||||||
LOCKFILE="/var/lock/vdr.sleep"
|
LOCKFILE_SLEEP="/var/lock/vdr.sleep"
|
||||||
|
|
||||||
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon"
|
ADDON_DIR="$HOME/.xbmc/addons/service.multimedia.vdr-addon"
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
hibernate|suspend)
|
hibernate|suspend|pre)
|
||||||
if [ "$(pidof vdr.bin)" ];then
|
if [ "$(pidof vdr.bin)" ];then
|
||||||
progress "Shutting down vdr for suspending..."
|
progress "Shutting down vdr for suspending..."
|
||||||
xbmc-send -a "Notification(vdr, Shutting down vdr for suspend..., 5000, $ADDON_DIR/icon.png)"
|
touch $LOCKFILE_SLEEP
|
||||||
vdr.stop
|
vdr.stop
|
||||||
touch $LOCKFILE
|
|
||||||
for module in $REMOVE_MODULES ; do
|
for module in $REMOVE_MODULES ; do
|
||||||
rmmod -w $module
|
rmmod -w $module
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
thaw|resume)
|
thaw|resume|post)
|
||||||
if [ -f "$LOCKFILE" ] ; then
|
if [ -f "$LOCKFILE_SLEEP" ] ; then
|
||||||
progress "Restarting vdr for wakeup..."
|
progress "Restarting vdr for wakeup..."
|
||||||
xbmc-send -a "Notification(vdr, Restarting vdr for wakeup..., 5000, $ADDON_DIR/icon.png)"
|
|
||||||
for module in $REMOVE_MODULES ; do
|
for module in $REMOVE_MODULES ; do
|
||||||
modprobe $module
|
modprobe $module
|
||||||
done
|
done
|
||||||
vdr.stop
|
rm -rf "$LOCKFILE_SLEEP"
|
||||||
for seq in `seq 1 10` ; do
|
|
||||||
if [ ! "$(pidof vdr.bin)" ];then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
usleep 500000
|
|
||||||
done
|
|
||||||
killall -9 vdr.bin &>/dev/null
|
|
||||||
rm -rf "$LOCKFILE"
|
|
||||||
vdr.start
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*) exit $NA
|
*) exit $NA
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xbmc-theme-Confluence"
|
PKG_NAME="xbmc-theme-Confluence"
|
||||||
PKG_VERSION="12.2-83bda98"
|
PKG_VERSION="12.2-18397e1"
|
||||||
if [ "$XBMC" = "master" ]; then
|
if [ "$XBMC" = "master" ]; then
|
||||||
PKG_VERSION="13.alpha-0efa87e"
|
PKG_VERSION="13.alpha-0efa87e"
|
||||||
elif [ "$XBMC" = "xbmc-aml" ]; then
|
elif [ "$XBMC" = "xbmc-aml" ]; then
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="xbmc"
|
PKG_NAME="xbmc"
|
||||||
PKG_VERSION="12.2-83bda98"
|
PKG_VERSION="12.2-18397e1"
|
||||||
if [ "$XBMC" = "master" ]; then
|
if [ "$XBMC" = "master" ]; then
|
||||||
PKG_VERSION="13.alpha-0efa87e"
|
PKG_VERSION="13.alpha-0efa87e"
|
||||||
elif [ "$XBMC" = "xbmc-aml" ]; then
|
elif [ "$XBMC" = "xbmc-aml" ]; then
|
||||||
|
@ -1,206 +0,0 @@
|
|||||||
diff -rupN xbmc-upstream/xbmc/Application.cpp xbmc-vbs/xbmc/Application.cpp
|
|
||||||
--- xbmc-upstream/xbmc/Application.cpp 2013-06-12 00:24:40.486262597 +0200
|
|
||||||
+++ xbmc-vbs/xbmc/Application.cpp 2013-06-12 01:23:11.948400122 +0200
|
|
||||||
@@ -5907,3 +5907,37 @@ CPerformanceStats &CApplication::GetPerf
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+void CApplication::CloseNetworkShares()
|
|
||||||
+{
|
|
||||||
+ CLog::Log(LOGDEBUG,"CApplication::CloseNetworkShares: Closing all network shares");
|
|
||||||
+
|
|
||||||
+#if defined(HAS_FILESYSTEM_SMB) && !defined(_WIN32)
|
|
||||||
+ smb.Deinit();
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if defined(HAS_FILESYSTEM_NFS)
|
|
||||||
+ gNfsConnection.Deinit();
|
|
||||||
+#endif
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CApplication::StopAddonServices()
|
|
||||||
+{
|
|
||||||
+ CLog::Log(LOGDEBUG,"CApplication::StopAddonServices");
|
|
||||||
+ CAddonMgr::Get().StopServices(false);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void CApplication::StartAddonServices()
|
|
||||||
+{
|
|
||||||
+ CLog::Log(LOGDEBUG,"CApplication::StartAddonServices - before login services");
|
|
||||||
+
|
|
||||||
+ //we start all services that run before login
|
|
||||||
+ CAddonMgr::Get().StartServices(true);
|
|
||||||
+
|
|
||||||
+ //this is meant to find out if we are logged in already
|
|
||||||
+ //so only start after-login services if we are not seeing the login screen
|
|
||||||
+ if (g_windowManager.GetActiveWindow() != WINDOW_LOGIN_SCREEN)
|
|
||||||
+ {
|
|
||||||
+ CLog::Log(LOGDEBUG,"CApplication::StartAddonServices - No login screen? So starting after-login-services also");
|
|
||||||
+ CAddonMgr::Get().StartServices(false);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff -rupN xbmc-upstream/xbmc/Application.h xbmc-vbs/xbmc/Application.h
|
|
||||||
--- xbmc-upstream/xbmc/Application.h 2013-06-12 00:24:40.494262695 +0200
|
|
||||||
+++ xbmc-vbs/xbmc/Application.h 2013-06-12 01:15:31.530852337 +0200
|
|
||||||
@@ -204,6 +204,9 @@ public:
|
|
||||||
void CheckPlayingProgress();
|
|
||||||
void CheckAudioScrobblerStatus();
|
|
||||||
void ActivateScreenSaver(bool forceType = false);
|
|
||||||
+ void CloseNetworkShares();
|
|
||||||
+ void StartAddonServices();
|
|
||||||
+ void StopAddonServices();
|
|
||||||
|
|
||||||
virtual void Process();
|
|
||||||
void ProcessSlow();
|
|
||||||
diff -rupN xbmc-upstream/xbmc/filesystem/SmbFile.cpp xbmc-vbs/xbmc/filesystem/SmbFile.cpp
|
|
||||||
--- xbmc-upstream/xbmc/filesystem/SmbFile.cpp 2013-06-12 00:24:40.962268274 +0200
|
|
||||||
+++ xbmc-vbs/xbmc/filesystem/SmbFile.cpp 2013-06-12 01:23:11.948400122 +0200
|
|
||||||
@@ -92,6 +92,7 @@ void CSMB::Deinit()
|
|
||||||
void CSMB::Init()
|
|
||||||
{
|
|
||||||
CSingleLock lock(*this);
|
|
||||||
+
|
|
||||||
if (!m_context)
|
|
||||||
{
|
|
||||||
#ifdef TARGET_POSIX
|
|
||||||
diff -rupN xbmc-upstream/xbmc/filesystem/NFSFile.cpp xbmc-vbs/xbmc/filesystem/NFSFile.cpp
|
|
||||||
--- xbmc-upstream/xbmc/filesystem/NFSFile.cpp 2013-07-12 22:18:51.062605410 +0200
|
|
||||||
+++ xbmc-vbs/xbmc/filesystem/NFSFile.cpp 2013-07-12 22:19:27.069861082 +0200
|
|
||||||
@@ -308,6 +308,8 @@
|
|
||||||
|
|
||||||
void CNfsConnection::Deinit()
|
|
||||||
{
|
|
||||||
+ CLog::Log(LOGNOTICE,"CNfsConnection::Deinit");
|
|
||||||
+
|
|
||||||
if(m_pNfsContext && m_pLibNfs->IsLoaded())
|
|
||||||
{
|
|
||||||
destroyOpenContexts();
|
|
||||||
diff -rupN xbmc-upstream/xbmc/powermanagement/PowerManager.cpp xbmc-vbs/xbmc/powermanagement/PowerManager.cpp
|
|
||||||
--- xbmc-upstream/xbmc/powermanagement/PowerManager.cpp 2013-06-12 00:24:41.634276292 +0200
|
|
||||||
+++ xbmc-vbs/xbmc/powermanagement/PowerManager.cpp 2013-06-12 01:15:32.166859998 +0200
|
|
||||||
@@ -23,6 +23,7 @@
|
|
||||||
#include "Application.h"
|
|
||||||
#include "cores/AudioEngine/AEFactory.h"
|
|
||||||
#include "input/KeyboardStat.h"
|
|
||||||
+#include "network/Network.h"
|
|
||||||
#include "settings/GUISettings.h"
|
|
||||||
#include "windowing/WindowingFactory.h"
|
|
||||||
#include "utils/log.h"
|
|
||||||
@@ -32,6 +33,7 @@
|
|
||||||
#include "guilib/LocalizeStrings.h"
|
|
||||||
#include "guilib/GraphicContext.h"
|
|
||||||
#include "dialogs/GUIDialogKaiToast.h"
|
|
||||||
+#include "settings/AdvancedSettings.h"
|
|
||||||
|
|
||||||
#ifdef HAS_LCD
|
|
||||||
#include "utils/LCDFactory.h"
|
|
||||||
@@ -146,12 +148,22 @@ bool CPowerManager::Powerdown()
|
|
||||||
|
|
||||||
bool CPowerManager::Suspend()
|
|
||||||
{
|
|
||||||
- return CanSuspend() ? m_instance->Suspend() : false;
|
|
||||||
+ if (!CanSuspend())
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
+ OnPrepareSleep();
|
|
||||||
+
|
|
||||||
+ return m_instance->Suspend();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CPowerManager::Hibernate()
|
|
||||||
{
|
|
||||||
- return CanHibernate() ? m_instance->Hibernate() : false;
|
|
||||||
+ if (!CanHibernate())
|
|
||||||
+ return false;
|
|
||||||
+
|
|
||||||
+ OnPrepareSleep();
|
|
||||||
+
|
|
||||||
+ return m_instance->Hibernate();
|
|
||||||
}
|
|
||||||
bool CPowerManager::Reboot()
|
|
||||||
{
|
|
||||||
@@ -188,6 +200,16 @@ void CPowerManager::ProcessEvents()
|
|
||||||
m_instance->PumpPowerEvents(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
+void CPowerManager::OnPrepareSleep()
|
|
||||||
+{
|
|
||||||
+ CLog::Log(LOGNOTICE, "%s: Preparing sleep", __FUNCTION__);
|
|
||||||
+
|
|
||||||
+ //stop all addon services here
|
|
||||||
+ //we do this here instead in OnSleep cause according to DBUS specification we only have 1 second of time in OnSleep
|
|
||||||
+ //so shutdowns that may potentially take longer should be issued in here
|
|
||||||
+ g_application.StopAddonServices();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void CPowerManager::OnSleep()
|
|
||||||
{
|
|
||||||
CAnnouncementManager::Announce(System, "xbmc", "OnSleep");
|
|
||||||
@@ -207,13 +229,41 @@ void CPowerManager::OnSleep()
|
|
||||||
g_application.StopPlaying();
|
|
||||||
g_application.StopShutdownTimer();
|
|
||||||
g_application.StopScreenSaverTimer();
|
|
||||||
+ g_application.CloseNetworkShares();
|
|
||||||
CAEFactory::Suspend();
|
|
||||||
}
|
|
||||||
|
|
||||||
+void CPowerManager::WaitForNet()
|
|
||||||
+{
|
|
||||||
+ CLog::Log(LOGDEBUG, "%s: Waithing for first NIC to come up", __FUNCTION__);
|
|
||||||
+
|
|
||||||
+ const unsigned maxLoopCount = 50u;
|
|
||||||
+ const unsigned sleepTimeMs = 200u;
|
|
||||||
+
|
|
||||||
+ for(unsigned i=0; i < 50; ++i)
|
|
||||||
+ {
|
|
||||||
+ CNetworkInterface* pIface = g_application.getNetwork().GetFirstConnectedInterface();
|
|
||||||
+ if (pIface && pIface->IsEnabled() && pIface->IsConnected())
|
|
||||||
+ {
|
|
||||||
+ CLog::Log(LOGDEBUG, "%s: NIC is up after waiting %d ms", __FUNCTION__, i * sleepTimeMs);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ Sleep(sleepTimeMs);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ CLog::Log(LOGDEBUG, "%s: NIC did not come up within %d ms... Lets give up...", __FUNCTION__, maxLoopCount * sleepTimeMs);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void CPowerManager::OnWake()
|
|
||||||
{
|
|
||||||
CLog::Log(LOGNOTICE, "%s: Running resume jobs", __FUNCTION__);
|
|
||||||
|
|
||||||
+ WaitForNet();
|
|
||||||
+
|
|
||||||
+ //re-start addon services
|
|
||||||
+ g_application.StartAddonServices();
|
|
||||||
+
|
|
||||||
// reset out timers
|
|
||||||
g_application.ResetShutdownTimers();
|
|
||||||
|
|
||||||
@@ -248,6 +298,7 @@ void CPowerManager::OnWake()
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CAEFactory::Resume();
|
|
||||||
+
|
|
||||||
g_application.UpdateLibraries();
|
|
||||||
g_weatherManager.Refresh();
|
|
||||||
|
|
||||||
diff -rupN xbmc-upstream/xbmc/powermanagement/PowerManager.h xbmc-vbs/xbmc/powermanagement/PowerManager.h
|
|
||||||
--- xbmc-upstream/xbmc/powermanagement/PowerManager.h 2013-06-12 00:24:41.634276292 +0200
|
|
||||||
+++ xbmc-vbs/xbmc/powermanagement/PowerManager.h 2013-06-12 01:15:32.166859998 +0200
|
|
||||||
@@ -67,11 +67,14 @@ public:
|
|
||||||
|
|
||||||
void ProcessEvents();
|
|
||||||
private:
|
|
||||||
+ void OnPrepareSleep();
|
|
||||||
void OnSleep();
|
|
||||||
void OnWake();
|
|
||||||
|
|
||||||
void OnLowBattery();
|
|
||||||
|
|
||||||
+ void WaitForNet();
|
|
||||||
+
|
|
||||||
IPowerSyscall *m_instance;
|
|
||||||
};
|
|
||||||
|
|
@ -20,6 +20,6 @@
|
|||||||
# http://www.gnu.org/copyleft/gpl.html
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
if [ -f $CONFIG_CACHE/xkb/layout ] ; then
|
if [ -f /storage/.cache/xkb/layout ] ; then
|
||||||
cat $CONFIG_CACHE/xkb/layout
|
cat /storage/.cache/xkb/layout
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user