After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 731378 - stream live audio (from Mic) over rtp from a host to a client through adpcm(g726) compression
stream live audio (from Mic) over rtp from a host to a client through adpcm(g...
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: dont know
0.10.0
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-06-08 21:23 UTC by pcouliba
Modified: 2014-06-09 20:33 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description pcouliba 2014-06-08 21:23:10 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 ...
Comment 1 André Klapper 2014-06-08 22:32:59 UTC
Which exact GStreamer version(s) and library version(s) are involved here?
Comment 2 pcouliba 2014-06-09 04:01:45 UTC
Gstreamer v0.10
How to check the libs version?
Comment 3 André Klapper 2014-06-09 07:38:55 UTC
Depends on the software management tool of your distribution. 
"rpm -q" or "dkpg -l" are common command line commands.
Comment 4 pcouliba 2014-06-09 15:22:59 UTC
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
Comment 5 Tim-Philipp Müller 2014-06-09 20:33:24 UTC
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