BE_reseau/tsock_video

79 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
puits=false
sourc=false
protocol="tcp"
port=`expr \`id -u\` % 3000 + 14578`
interrupted=1
usage() { echo "Usage: $0 [[-p|-s] [-t (tcp|mictcp)]" 1>&2; exit 1; }
# Stop all components gracefully
function graceful_stop ()
{
echo "Arret"
killall -9 cvlc > /dev/null 2>&1
killall -9 vlc > /dev/null 2>&1
killall -9 gateway > /dev/null 2>&1
if [ $interrupted -eq 1 ]; then
# Set return code to 2
exit 2
fi
}
# initialise trap to call graceful_stop function
# when signal 2 (SIGINT) is received
trap "graceful_stop" 2
while getopts "pst:" o; do
case "${o}" in
t)
protocol=${OPTARG}
if [ "$protocol" != "tcp" ] && [ "$protocol" != "mictcp" ]; then
usage
exit 1
fi
;;
p)
puits=true
;;
s)
sourc=true
;;
*)
usage
;;
esac
done
if ([ "$puits" = true ] && [ "$sourc" = true ]) || ([ "$puits" = false ] && [ "$sourc" = false ]) ; then
usage
exit 1
fi
if [ "$puits" = true ]; then
echo "Lancement du puits, protocole " $protocol
cvlc rtp://127.0.0.1:$port > /dev/null 2>&1 &
if [ "$protocol" = "mictcp" ]; then
cd build
./gateway -p -t $protocol $port &
cd ..
fi
fi
if [ "$sourc" = true ]; then
echo "Lancement de la source, protocol " $protocol
cd build
./gateway -s -t $protocol 127.0.0.1 $port &
cd ..
fi
echo "Appuyez sur ENTREE pour arreter"
read line
interrupted=0
graceful_stop