#!/bin/bash # automatic testing of some of the plugins using gstreamer-launch MEDIA=/home/thomas/media GSTL=gstreamer-launch run_file_test() # run a pipe between filesrc and fakesink to test a set of plugins # first argument is the test name # second argument is the filename to work on # third argument is the part between filesrc and fakesink { NAME=$1 FILE=$2 PIPE=$3 echo -n "Testing $NAME ... " COMMAND="$GSTL filesrc location=$MEDIA/$FILE ! $PIPE ! fakesink silent=true" $COMMAND > /dev/null 2> /dev/null if test $?; then PASSED="yes"; else PASSED="no"; fi if test "x$PASSED"="xyes"; then echo "passed."; else echo "failed"; fi } run_file_test "mad" "south.mp3" "mad" run_file_test "mad/lame" "south.mp3" "mad ! lame" run_file_test "mad/lame/mad" "south.mp3" "mad ! lame ! mad" run_file_test "vorbisdec" "Brown\ Sugar128.ogg" "vorbisdec" run_file_test "vorbisdec/vorbisenc" "Brown\ Sugar128.ogg" "vorbisdec ! vorbisenc"