Support dvb-box on openembedded build tree.
[vuplus_xbmc] / tools / Linux / xbmc-standalone.sh.in
1 #!/bin/sh
2
3 #      Copyright (C) 2009-2013 Team XBMC
4 #      http://xbmc.org
5 #
6 #  This Program is free software; you can redistribute it and/or modify
7 #  it under the terms of the GNU General Public License as published by
8 #  the Free Software Foundation; either version 2, or (at your option)
9 #  any later version.
10 #
11 #  This Program is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 #  GNU General Public License for more details.
15 #
16 #  You should have received a copy of the GNU General Public License
17 #  along with XBMC; see the file COPYING.  If not, write to
18 #  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
19 #  http://www.gnu.org/copyleft/gpl.html
20
21 prefix="@prefix@"
22 exec_prefix="@exec_prefix@"
23 bindir="@bindir@"
24 XBMC="${bindir}/xbmc --standalone $@"
25
26 @XBMC_STANDALONE_SH_PULSE@
27
28 LOOP=1
29 CRASHCOUNT=0
30 LASTSUCCESSFULSTART=$(date +%s)
31
32 while [ $(( $LOOP )) = "1" ]
33 do
34   $XBMC
35   RET=$?
36   NOW=$(date +%s)
37   if [ $(( ($RET >= 64 && $RET <=66) || $RET == 0 )) = "1" ]; then # clean exit
38     LOOP=0
39   else # crash
40     DIFF=$((NOW-LASTSUCCESSFULSTART))
41     if [ $(($DIFF > 60 )) = "1" ]; then # Not on startup, ignore
42       LASTSUCESSFULSTART=$NOW
43       CRASHCOUNT=0
44     else # at startup, look sharp
45       CRASHCOUNT=$((CRASHCOUNT+1))
46       if [ $(($CRASHCOUNT >= 3)) = "1" ]; then # Too many, bail out
47         LOOP=0
48         echo "XBMC has exited uncleanly 3 times in the last ${DIFF} seconds."
49         echo "Something is probably wrong"
50       fi
51     fi
52   fi
53 done