#!/bin/bash
set -e

STREAM=1
NAME=noname

if test -n "$1"; then
    STREAM=$1
    shift
    if test -n "$1"; then
	NAME=$1
    fi
fi

FREE=`df --block-size=1k /tv|tail -1|awk '{print $4}'`

FILE=/tv/`date +%Y-%m-%d`-${NAME}.ts
if test -f ${FILE}; then
    FILE=`date +%Y-%m-%d-%s`-${NAME}.ts
    while test -f ${FILE}; do
	sleep 0.5
	FILE=`date +%Y-%m-%d-%s`-${NAME}.ts
    done
fi

echo "ts: recording stream ${STREAM} into ${FILE}"
( nice --adjustment=-19 dumprtp 224.0.0.${STREAM} 5000 2> /tmp/ts.${STREAM}.log | \
    pv --interval=1 --size=${FREE}k > ${FILE} ) &
TS_PID=$!
echo ${TS_PID} > /tmp/ts.${STREAM}.pid
wait ${TS_PID}
echo "ts: stopped stream ${STREAM} at `date +%H:%M:%S` file ${FILE}"
echo -en '\007' > /dev/tty1
