[gst-devel] streaming audio lag

Ron Yorgason yorgasor at gmail.com
Thu Oct 8 18:51:46 CEST 2009


I'm running an embedded system with 400mhz arm CPU and I'm trying to
stream audio.  I actually have it working with these commands below:

sending side:

 gst-launch-0.10 -v  alsasrc !  audio/x-raw-int,channels=1 !
audioconvert ! audio/x-raw-int,channels=1,depth=16,width=16,rate=48000,endianness=4321
! rtpL16pay  ! udpsink host=$REMOTE_ADDR port=5435

receiving side:

gst-launch-0.10 -v udpsrc port=5435 caps ="application/x-rtp,
media=(string)audio, clock-rate=(int)16000, encoding-name=(string)L16,
encoding-params=(string)1, channels=(int)1, channel-positions=(int)1,
payload=(int)96, ssrc=(guint)1168011267, clock-base=(guint)309599748,
seqnum-base=(guint)27324, endianness=1234"  !   rtpL16depay !
audioconvert ! alsasink sync=false


The problem we're having is that we have a good 2 second lag between
capture and playback.  While it's amusing that I can sing rounds of
"row row row your boat" with myself, our customer isn't quite as
impressed.  The odd thing is, if I disconnect the receiving side from
the network, then plug it back in, the lag almost disappears entirely.
 But over the next 30 seconds, it grows until it stabilizes at 2
seconds.  I'd like to think this is just a buffering game, and with a
few well placed arguments I can reduce the lag.  Does anyone have any
ideas?  If there's not a user friendly command I can use, does anyone
have suggestions on where in the code I can hack away to see if I can
make some improvements?

This is a customized application and we don't really need a lot of
flexibility, just make one setting work and make it work well.

--Ron




More information about the gstreamer-devel mailing list