aboutsummaryrefslogtreecommitdiffstats
path: root/encode-jack.sh
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-03-21 20:08:22 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-03-21 20:08:22 +0100
commit0b21a0b19c285da1905263c78dfde4378846ae9f (patch)
tree5561bc285ada8219fa1fe8967de6d14523aab9e0 /encode-jack.sh
parent78a5d1945922e9d4b9932c9d39d61a9f192bcd56 (diff)
downloadmmbtools-aux-0b21a0b19c285da1905263c78dfde4378846ae9f.tar.gz
mmbtools-aux-0b21a0b19c285da1905263c78dfde4378846ae9f.tar.bz2
mmbtools-aux-0b21a0b19c285da1905263c78dfde4378846ae9f.zip
Big cleanup
Diffstat (limited to 'encode-jack.sh')
-rwxr-xr-xencode-jack.sh154
1 files changed, 0 insertions, 154 deletions
diff --git a/encode-jack.sh b/encode-jack.sh
deleted file mode 100755
index ab7e9aa..0000000
--- a/encode-jack.sh
+++ /dev/null
@@ -1,154 +0,0 @@
-#!/bin/bash
-#
-# mplayer - jack - jack-stdout - dabplus-enc
-# encoder script.
-#
-# Used to encode webstreams for DAB+, requires
-# jackd -d dummy -r 32000
-# to be running
-
-printerr() {
- echo -e "\033[01;31m$1\033[0m"
-}
-
-printmsg() {
- echo -e "\033[01;32m$1\033[0m"
-}
-
-set -u
-
-# check number of arguments
-if [[ "$#" < 3 ]] ; then
- echo "Usage $0 url jack-id destination [volume]"
- echo "The volume setting is optional"
- exit 1
-fi
-
-if [[ "$#" > 2 ]] ; then
- URL=$1
- ID=$2
- DST=$3
-fi
-
-if [[ "$#" == 4 ]] ; then
- VOL=$4
-else
- VOL=""
-fi
-
-BITRATE=80
-RATE=32000
-
-encoderalive=0
-mplayerpid=0
-encoderpid=0
-
-# The trap for Ctrl-C
-sigint_trap() {
- printerr "Got Ctrl-C, killing mplayer and encoder"
-
- if [[ "$mplayerpid" != "0" ]] ; then
- kill -TERM $mplayerpid
- sleep 2
- kill -KILL $mplayerpid
- fi
-
- if [[ "$encoderpid" != "0" ]] ; then
- kill -TERM $encoderpid
- sleep 2
- kill -KILL $encoderpid
- fi
-
- printmsg "Goodbye"
- exit
-}
-
-trap sigint_trap SIGINT
-
-while true
-do
- mplayer_ok=0
-
- if [[ "$mplayerpid" == "0" ]] ; then
- if [[ "$VOL" == "" ]] ; then
- mplayer -quiet -af resample=$RATE:0:2 -ao jack:name=$ID $URL &
- mplayerpid=$!
- else
- mplayer -quiet -af resample=$RATE:0:2 -af volume=$VOL -ao jack:name=$ID $URL &
- mplayerpid=$!
- fi
-
- printmsg "Started mplayer with pid $mplayerpid"
-
- # give some time to mplayer to set up and
- # wait until port becomes visible
- timeout=10
-
- while [[ "$mplayer_ok" == "0" ]]
- do
- printmsg "Waiting for mplayer to connect to jack ($timeout)"
- sleep 1
- mplayer_ok=$(jack_lsp $ID:out_0 | wc -l)
-
- timeout=$(( $timeout - 1))
-
- if [[ "$timeout" == "0" ]] ; then
- printerr "mplayer doesn't connect to jack !"
- kill $mplayerpid
- break
- fi
- done
- else
- printmsg "No need to start mplayer: $mplayerpid"
- fi
-
- if [[ "$mplayer_ok" == "1" ]] ; then
- jack-stdout $ID:out_0 $ID:out_1 | \
- dabplus-enc -i /dev/stdin -l \
- -b $BITRATE -r $RATE -f raw -a -o $DST &
- encoderpid=$!
- fi
-
- printmsg "Started encoder with pid $encoderpid"
-
- sleep 5
-
- checkloop=1
- while [[ "$checkloop" == "1" ]]
- do
- sleep 2
-
- kill -s 0 $mplayerpid
- if [[ "$?" != "0" ]] ; then
- # mplayer died
- # we must kill jack-stdout, because we cannot reconnect it
- # to a new mplayer, since we do not know the jack-stdout name.
- # And it has no cmdline option to set one, Rrrrongntudtjuuu!
- if [[ "$encoderpid" != "0" ]] ; then
- kill -TERM $encoderpid
- fi
- checkloop=0
-
- # mark as dead
- mplayerpid=0
-
- printerr "Mplayer died"
- fi
-
- if [[ "$encoderpid" != "0" ]] ; then
- kill -s 0 $encoderpid
- if [[ "$?" != "0" ]] ; then
- # the encoder died,
- # no need to kill the mplayer, we can reconnect to it
-
- checkloop=0
-
- printerr "Encoder died"
- fi
- fi
- done
-
- sleep 5
-
-done
-