#!/sbin/runscript source /etc/vdr.d/conf/gen2vdr.cfg source /etc/vdr.d/conf/vdr depend() { after hotplug after clock after lircd after net.lo need gen2vdr before alsasound } start() { if [ "$(pidof -x "/_config/install/init.sh")" != "" ] ; then echo "Init detected - not starting vdr" return 1 fi ebegin "Starting vdr" if [ -n "${VDR_CONSOLE}" ] ; then [ -f /_config/bin/myvdrinit.sh ] && /_config/bin/myvdrinit.sh # /_config/bin/splash_stop.sh PROCS="$(pidof -x runvdr vdr)" if [ "$PROCS" != "" ] ; then logger -s "Killing vdr runvdr <$PROCS>" kill -9 $PROCS > /dev/null 2>&1 & sleep 3 fi mkdir /tmp/vtx >/dev/null 2>&1 chown ${VDR_USER} /dev/ttys$VDR_CONSOLE logger -s "Starting " openvt -c $VDR_CONSOLE -f -- /etc/vdr/runvdr for i in 1 2 3 4 5; do sleep 2 [ "$(pidof -x runvdr)" != "" ] && break; done if [ "$(pidof -x runvdr)" = "" ] ; then killall -9 vdr runvdr openvt > /dev/null 2>&1 logger -s "Starting again " openvt -c $VDR_CONSOLE -f -- /etc/vdr/runvdr sleep 2 fi # Do not wait for vdr if xine, streamdev-client or activy overlay is active ? WAIT=10 XINE=0 EM84=0 GUI_OVERLAY=0 case "$PLUGINS" in *streamdev-client*) WAIT=0;; *em84xx*) EM84=1 if [ "$ACTIVY_OVERLAY" != "Aus" ] ; then GUI_OVERLAY=1 WAIT=3 fi;; *xine*) XINE=1 WAIT=3;; esac if [ "$GUI" = "VDR" -o "$SWITCH_CONSOLE" = "1" ] && [ "$XINE" = "0" -a "$GUI_OVERLAY" = "0" ] ; then /_config/bin/switch_console.sh -vdr fi if [ $WAIT -gt 0 ] ; then OP=0 WS=0 for i in $(seq 1 $WAIT) ; do sleep 1 VP=$(pidof vdr | wc -w) if [ $VP -gt $OP -a $VP -gt 0 ] ; then OP=$VP WS=0 elif [ $VP -gt 0 ] ; then [ $WS -gt 3 ] && break WS=$(($WS+1)) fi done fi if [ "$GUI" = "VDR_FreeVo" ] && [ "$GUI_OVERLAY" = "1" ] ; then /_config/bin/switch_console.sh -vdr fi else echo "No terminal given - not starting vdr" fi eend 0 } stop() { # if [ ! -f /tmp/.shutdown ] && [ "$SOFTLEVEL" = "shutdown" ]; then # logger -s "Shutdown not initiated from vdr" # if [ "$(pidof vdr)" != "" ] ; then # logger -s "Initiating shutdown via vdr" # svdrpsend.pl HITK back # svdrpsend.pl HITK back # touch ${VDR_FORCE_SHUTDOWN} # svdrpsend.pl HITK power # # should be done within 30 seconds # sleep 30 # fi # fi ebegin "Stopping vdr" echo "Shutting down VDR" touch $STOPVDR_FILE case "$PLUGINS" in *externalplayer*) svdrpsend.pl PLUG externalplayer main;; esac killall vdr echo "Waiting for vdr termination ..." for in in $(seq 1 20) ; do if [ "$(pidof vdr)" = "" ] ; then break; fi sleep 1 done sleep 2 if [ "$(pidof vdr)" != "" ] || [ "$(pidof -x runvdr)" != "" ] ; then sleep 2 logger -s "VDR does not terminate normally - killing it" killall -9 vdr runvdr openvt > /dev/null 2>&1 & sleep 1 fi if [ $(fgconsole) -gt 7 ] && [ "$SOFTLEVEL" = "default" ] && [ "$GUI" != "VDR" ] ; then sh /_config/bin/switch_console.sh -x > /dev/null 2>&1 & fi [ "$GUI" = "VDR" ] && /etc/init.d/xvdr stop > /dev/null 2>&1 [ -f /tmp/.freevodisabled ] && rm /tmp/.freevodisabled XVDR="$(pidof -x XVDR)" [ "$XVDR" != "" ] && kill -9 $XVDR > /dev/null 2>&1 /_config/bin/activy_lcdoff.sh > /dev/null 2>&1 & eend 0 }