blob: a4c39255077ddfe67613c8e1ba2e2de720ebab19 [file] [log] [blame]
#!/bin/sh
runnable startupvideo || exit 0
case "$1" in
start)
(
if is-tv-box; then
echo "Starting startupvideo."
rm -f /tmp/svpipe
mknod /tmp/svpipe p
# sv monitor process
(
# Sleep and then write svpipe to terminate startupvideo, if we haven't
# been killed.
sleep 7200
echo "Startupvideo reaches timeout. Finishing startupvideo."
# Kill startupvideo
pid_startupvideo=$(pgrep -f "startupvideo /tmp/svpipe")
if [ "$pid_startupvideo" -gt 1 ]; then
kill -TERM "$pid_startupvideo"
fi
) &
alarm=$!
(
wait-until-created /tmp/mcnmp_ready
startupvideo /tmp/svpipe \
/usr/sv/fiber-logo-animation.ts 2 0 256 257 0 \
/usr/sv/connecting.ts 2 0 256 0 1
# in case sv crashes early, make sure ntp is synced
wait-until-created /tmp/time.synced
if [ -d /proc/"$alarm" ] && [ "$alarm" -gt 1 ]; then
# If the alarm process is still alive, sv exits within timeout
# (normal case). We need to clean it up.
kill -TERM "$alarm"
fi
echo : >/tmp/startupvideo.done
) &
(
wait-until-created /tmp/time.synced
echo y >/tmp/svpipe
) &
else
(
wait-until-created /tmp/time.synced
echo : >/tmp/startupvideo.done
) &
fi
) 2>&1 | logos startupvideo &
;;
stop)
pkillwait -x startupvideo
rm -f /tmp/svpipe
;;
restart)
$0 stop; $0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac