#!/bin/sh
help(){
	echo "Usage: $0 <filename.[mov|avi]>"
	exit 0
}
if test "$#" != "1"
then
	help
	exit
fi
checkerr(){
	kflag=0
    echo monitoring streamer...
    while read buffer <$mypipe
    do  
        echo $buffer
        case $buffer in
ioctl*) if test "$kflag" = "0"
		then
			kflag=1
			echo streamer end detected...
	        echo ...kill -2 $streamer_pid
	        kill -2 $streamer_pid
		fi ;;
        esac   
    done
}
rmpipes(){
    echo "removing pipes in 10 seconds..."
    ( sleep 10;
      rm -f st-pipe.* ) &
}
case $1 in
*.mov)
	base=`echo $1 | sed "s/.mov$//"`
	flags="-fq"
	extn="mov" ;;
*.avi)
	base=`echo $1 | sed "s/.avi$//"`
	flags="-fa"
    extn="avi" ;;
*)
	help ;;
esac
echo Capturing $base.$extn...
echo streamer -q -p3 -b64 -nntsc -r29.97 -s480x480 -fjpeg -j75 \
	-Fstereo -t2:10:00 -o $base.$extn
mypipe=st-pipe.$$
mknod $mypipe p
streamer -q -p3 -b64 -nntsc -r29.97 -s480x480 -fjpeg -j75 \
	-Fstereo -t2:10:00 -o $base.$extn >$mypipe 2>&1 &
streamer_pid=$!
trap "kill -1 $streamer_pid; rmpipes; exit" 1
trap "kill -2 $streamer_pid; rmpipes; exit" 2
trap "kill -3 $streamer_pid; rmpipes; exit" 3
trap "kill -15 $streamer_pid; rmpipes; exit" 15
checkerr
rmpipes
