Multi rtp streams - thread issue

Elio Francesconi elio.francesconi at gmail.com
Sun Nov 3 07:19:53 PST 2013


Hi Sebastian,
I’ve found the issue, it is due to VoIP protocol, how it opens the rtp streams are opened by the endpoint.

My soft phone (linphone again) want a symmetric RTP and changes the destination port in case “udpsink” and “udpsrc” differs.
This is the scenario:

PIPELINE#1
audiotestsrc ! audioconvert ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=7078

PIPELINE#2
rtpbin  udpsrc caps=application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA port=5008 ! rtppcmadepay ! alawdec ! audioconvert ! audioresample ! osxaudiosink


GSTREAMER ————————————————> LINPHONE
ipadders: 192.168.1.3                                                 ipaddress: 192.168.1.6
port(random): 57401                                                   PORT:       7078

GSTREAMER <--------------------------------------------------- LINPHONE
ipadders: 192.168.1.3                                                 ipaddress: 192.168.1.6
port(random): 5008                                                   PORT:       7078

I was expecting this behaviour, but linphone sends the rtp packets to 57401 instead of 5008 (symmetric RTP)

 
So I was wondering if it is possible solving the issue creating the pipeline#1 using source port defined by the user, in my case: 5008

Thanks
Elio
On 31 Oct 2013, at 16:41, Sebastian Dröge <sebastian at centricular.com> wrote:

> On Do, 2013-10-31 at 14:51 +0100, Elio Francesconi wrote:
>> This is the pseudocode, where the app invoke RtpSink::loop and RtpSource::loop in two different threads(description of my pipeline is as described in the previous mail), it is based on these two example
>> http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples/rtp/server-alsasrc-PCMA.c
>> http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples/rtp/client-PCMA.c 
>> I was expecting to create multiple pipelines each one with their structures and with our interaction, I think I’m in wrong :-)
> 
> Nothing looking wrong in that code, but you could as well run both
> pipelines from the same thread with a single mainloop.
> 
> How exactly do they fail? Does the receiver receive any packets at all?
> Check that with a simpler pipeline that only has udpsrc and a fakesink.
> 
> -- 
> Sebastian Dröge <sebastian at centricular.com>
> Centricular Ltd - http://www.centricular.com
> Expertise, Straight from the Source
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131103/5c99d2ea/attachment.html>


More information about the gstreamer-devel mailing list