#!/bin/sh

trap set_delay USR1
trap "rm zajemanje.pid" EXIT

function set_delay {
   SLEEP=`cat sleep_delay`
}

function kill_stalled {
   sleep 2
   kill -9 $1 >/dev/null 2>&1
}

echo $$ >zajemanje.pid
set_delay

while true; do
   >slike/slika.jpg
   vgrabbj -i vga -o jpg -d /dev/video0 -X -n -D 7 -R -f slike/slika.jpg &
   GRAB_PID=$!
   kill_stalled $GRAB_PID &
   wait $GRAB_PID
   ls -l slike/slika.jpg >>logfile
   if [ -s "slike/slika.jpg" ]; then
      TIMESTAMP=`date +%s`
      mv slike/slika.jpg "slike/$TIMESTAMP.jpg"
      if [ ! "$SLEEP" = "1" ]; then
         sleep $((SLEEP-1))
      fi
   fi
done
