GNOME Bugzilla – Bug 731378
stream live audio (from Mic) over rtp from a host to a client through adpcm(g726) compression
Last modified: 2014-06-09 20:33:24 UTC
I am trying to stream adpcm (G726),32kbps audio from a host to a client through RTP: I have tried following commands from the client(receiver) and the host(sender). Both boards are connected through IP. I am getting "internal data flow error" at the receiver once i run the cmds on the sender: RECEIVER: gst-launch -v udpsrc port=3004 caps="application/x-rtp” ! rtpg726depay ! ffdec_g726 ! alsasink SENDER: gst-launch -v autoaudiosrc ! audioconvert ! audioresample ! ffenc_g726 bitrate=32000 ! rtpg726pay ! udpsink host=192.168.1.104 port=3004 If I try the same with pcm, alaw encoder and decoder, then streaming works fine. I can hear the live audio(when I speak on sender's Microphone) into receiver's speakerphone: commands I am running in this case: RECEIVER: gst-launch udpsrc port=3004 caps="application/x-rtp" ! rtppcmadepay ! alawdec ! alsasink SENDER: gst-launch autoaudiosrc ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.104 port=3004 This seems to be an issue in the pipeline? here is the full error I am getting at the receiver /////////////// root@am335x-evm:~/EVM4# gst-launch udpsrc port=3004 caps="application/x-rtp" ! rtpg726depay ! ffdec_g726 ! alsasink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data flow error. Additional debug info: gstbasesrc.c(2625): gst_base_src_loop (): /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: streaming task paused, reason not-negotiated (-4) Execution ended after 20828810227 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
Which exact GStreamer version(s) and library version(s) are involved here?
Gstreamer v0.10 How to check the libs version?
Depends on the software management tool of your distribution. "rpm -q" or "dkpg -l" are common command line commands.
with "dpkg -l" cmd, here is what I got for gstreamer libs: NAME VERSIONS gstreamer-tools 0.10.36 gstreamer0.10-alsa 0.10.36 gstreamer0.10-gconf 0.10.31 gstreamer0.10-nice 0.1.1 gstreamer0.10-plugins-base 0.10.36 gstreamer0.10-plugins-base-apps 0.10.36 gstreamer0.10-plugins-good 0.10.31 gstreamer0.10-pulseaudio 0.10.31 gstreamer0.10-tools 0.10.36 gstreamer0.10-x 0.10.36
GStreamer 0.10 is no longer supported. However, this issue of yours looks like a usage problem and not a bug, so the gstreamer-devel mailing list would probably be the best place to get further support on this issue. Your application/x-rtp caps are incomplete. 'not-negotiated' flow error means there's a problem with the caps. If you look at gst-inspect rtpg726depay you will see the fields that are required. You should probably add "media", "encoding-name", and "clock-rate" fields (and maybe "payload" too). You might find these examples helpful: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples/rtp?h=0.10