Detecting that the sender has stopped talking to UDPSRC

Wes Miller wmiller at sdr.com
Fri Feb 22 06:39:46 PST 2013


My pipeline is the example receiver pipe for rtpbin from the 1.0 examples,
converted to 0.10 and coded with a c++ gst_parse_launch() and gstrtpbin.

environment is:                     Windows-XP, VC++ gstreamer 0.10, 
but it'll also need to work on:  Ubuntu 12.04, eclipse, gcc., gstreamer 0.10
 
How do I detect that the sender has stopped sending, i.e. data has stopped
flowing into my udpsrc? By this I mean that the sender has lost connection
to me.  Sending me silence is ok.

I have a bus message handler and added a buffer probe on udpsrc::src. Work
great despite the parse-launch which I know is less than a perfect method.

When I start my remote sender I get a buffer-probe message (the first one I
get) telling me data has passed through the port.  For the first frame this
alerts me that receiving has started and tells me who the sender is, IP and
port.  Thereafter I get a flood of probe messages, one per received packet.

When I stop the sender I get a bus error saying that the udpsrc has reported
am "Internal data flow error.". The corresponding error code is 1 (I htink). 
What it really means is that the sender stopped talking, broke the
connection and my pipeline is going to die.

Certainly, I can test for this set of conditions, but are they a reliable
indicator that the sender is no longer talking or could they happen for some
other reason? Is there a probe of some sort that explicitly tells me that
data (audio in my case) has stopped arribing?





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Detecting-that-the-sender-has-stopped-talking-to-UDPSRC-tp4658724.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list