[gst-devel] sending raw audio

Andy Maginnis jam at smru.co.uk
Thu Sep 24 12:54:10 CEST 2009


Ron,
What ARM are you using? We have a cortex A8,
inside a OMAP3530 on a Gumstix Overo Water
a

-----Original Message-----
From: Ron Yorgason [mailto:yorgasor at gmail.com] 
Sent: 23 September 2009 19:10
To: gstreamer-devel at lists.sourceforge.net
Subject: [gst-devel] sending raw audio

I'm working on an audio/video streaming application on the ARM
platform.  We don't seem to have enough CPU horsepower on these boards
to capture and encode to MP3, so right now we're trying to send raw
audio.

To capture & stream, I'm using this command:

gst-launch-0.10 -v  alsasrc !
audio/x-raw-int,rate=24000,width=16,depth=16,channels=1,signed=true !
audioconvert ! rtpL16pay  ! udpsink host=192.168.17.81 port=5435

On the receiving side, I have this:
gst-launch-0.10 -v udpsrc port=5435 caps ="application/x-rtp,
media=(string)audio, clock-rate=(int)24000, 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"  !   rtpL16depay !  audioconvert ! alsasink
sync=false

When I test this between my desktop & laptop, it works great.  When I
go from the ARM board to my desktop, it works ok.  But when I go from
the ARM board to another ARM board, or my laptop to the ARM board, I
hear the speakers turn on, but no sound comes out.  The output shows
this:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRtpL16Depay:rtpl16depay0.GstPad:src: caps =
audio/x-raw-int, endianness=(int)4321, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)24000, channels=(int)1,
channel-positions=(GstAudioChannelPosition)<
GST_AUDIO_CHANNEL_POSITION_NONE >
/GstPipeline:pipeline0/GstRtpL16Depay:rtpl16depay0.GstPad:sink: caps =
application/x-rtp, media=(string)audio, clock-rate=(int)24000,
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
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps
= audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
width=(int)32, depth=(int)32, rate=(int)24000, channels=(int)1,
channel-positions=(GstAudioChannelPosition)<
GST_AUDIO_CHANNEL_POSITION_NONE >
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps
= audio/x-raw-int, endianness=(int)4321, signed=(boolean)true,
width=(int)16, depth=(int)16, rate=(int)24000, channels=(int)1,
channel-positions=(GstAudioChannelPosition)<
GST_AUDIO_CHANNEL_POSITION_NONE >
/GstPipeline:pipeline0/GstAlsaSink:alsasink0.GstPad:sink: caps =
audio/x-raw-int, endianness=(int)1234, signed=(boolean)true,
width=(int)32, depth=(int)32, rate=(int)24000, channels=(int)1,
channel-positions=(GstAudioChannelPosition)<
GST_AUDIO_CHANNEL_POSITION_NONE >

I couldn't find a good definition of what the
GST_AUDIO_CHANNEL_POSITION_NONE means, and I wasn't able to set it to
GST_AUDIO_CHANNEL_POSITION_MONO from the command line (it looks like I
need to use python or C APIs to do that), but from what I can tell,
this comes from multichannel support, and I have just specified a
single audio channel.  Is this what is preventing me from hearing the
audio?  If I capture to a WAV file, and then play it back afterwards,
it sounds fine.  So I'm not sure why streaming is failing so badly.
The playback process also dies with a "Terminated" message within a
minute or two.

The ARM boards are running gstreamer-0.10.22.  I see that there's been
a couple revisions since then, and if I have to upgrade to make it
work, I will.  But I'd rather see if there's a way I can make this
version work.

--Ron

------------------------------------------------------------------------
------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and
stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register
now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list