Multiple adders vs one adder - CPU utilization?

CarbonJoe klebau at apk.net
Fri Aug 9 06:32:18 PDT 2013


I'm running Gstreamer on an OMAP-L138 board running 2.6.37. I currently have
a fairly simple pipeline that receives 4 inbound, mulaw encoded audio
streams, and mixes them together using an adder. My question: would there be
less computational and memory load if I used three adders (mix channel 1 and
2, then mix the output of that adder with channel 3 in another adder, and
finally mix the output of that adder with channel 4 using a third adder)?
The streams don't really need to be synchronized at all. Think of it as
similar to cascading Y-adapters used to hook up multiple microphones to one
audio input jack.

When I add an outbound mulaw encoded stream to the 4 inbound streams, the
CPU seems to be pegged at 100%, and I lose all inbound stream output.  This
same script works fine on a PC. If I reduce the number of inbound streams,
still no good. Gstreamer 0.10.30

AUDIO_TARGET_IP_ADDR=192.168.1.108
AUDIO_UDP_TXPORT=5000
AUDIO_UDP_RXPORT_CHAN1=5001
AUDIO_UDP_RXPORT_CHAN2=5002
AUDIO_UDP_RXPORT_CHAN3=5003
AUDIO_UDP_RXPORT_CHAN4=5004
GST_JITTER_BUFFER_LATENCY=20
MIN_PTIME=20000000
MAX_PTIME=20000000
BLOCKSIZE=1280
G711CAPS="application/x-rtp,media=audio,clock-rate=8000,encoding-name=PCMU,payload=0"

gst-launch adder name=mix ! alsasink -v \
	udpsrc port=$AUDIO_UDP_RXPORT_CHAN1 ! capsfilter caps="$G711CAPS" !
gstrtpjitterbuffer latency=$GST_JITTER_BUFFER_LATENCY ! rtppcmudepay !
mulawdec ! volume volume=6.0 ! mix. \
	udpsrc port=$AUDIO_UDP_RXPORT_CHAN2 ! capsfilter caps="$G711CAPS" !
gstrtpjitterbuffer latency=$GST_JITTER_BUFFER_LATENCY ! rtppcmudepay !
mulawdec ! volume volume=1.0 ! mix. \
	udpsrc port=$AUDIO_UDP_RXPORT_CHAN3 ! capsfilter caps="$G711CAPS" !
gstrtpjitterbuffer latency=$GST_JITTER_BUFFER_LATENCY ! rtppcmudepay !
mulawdec ! volume volume=1.0 ! mix. \
	udpsrc port=$AUDIO_UDP_RXPORT_CHAN4 ! capsfilter caps="$G711CAPS" !
gstrtpjitterbuffer latency=$GST_JITTER_BUFFER_LATENCY ! rtppcmudepay !
mulawdec ! volume volume=6.0 ! mix. \
	alsasrc -v blocksize=$BLOCKSIZE ! queue ! volume volume=1.0 ! audioconvert
! audioresample ! mulawenc ! queue ! rtppcmupay min-ptime=$MIN_PTIME
max-ptime=$MAX_PTIME ! udpsink host=$AUDIO_TARGET_IP_ADDR
port=$AUDIO_UDP_TXPORT &




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Multiple-adders-vs-one-adder-CPU-utilization-tp4661503.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list