Deadlocked udpsrc after PLAYING -> READY -> PLAYING?

Emil Kroymann emil.kroymann at isaco.de
Mon Aug 6 02:35:42 PDT 2012


Hi,

I have a problem with gstreamer 0.10.34, plugins good 0.10.29 used via
the python bindings on SLES 11 SP1. My pipeline contains a gstrtpbin
which is fed by a udpsrc source element, the gstrtpbin feeds an alaw
decoder, wav encoder and filesink. The sending direction of the
gstrtpbin is initially not set up. The pipeline correctly records rtp
audio after it has been set to the PLAYING state and rtp is received.
Later, when a specific event happens, I want to set up the sending
direction of the gstrtpbin and set the pipeline to the READY state, add
elements for the sending direction and set the pipeline to the PLAYING
state again. After that, RTP sending works but RTP recording stops
working.

When I add a data probe to the udpsrc src pad, I see buffers arriving
until the sending side is set up, then a new-segment event, then two or
three buffers, then an EOS event. After that, I can see with netstat
-nlp, that the udp packets queue up in the receiving queue of the
receiving socket.

When I run my program with strace -f, I see that one thread is
receiving from the receiving socket, before the sending side has been
set up (repeated syscall sequence of ioctl, ppoll, recvfrom, which
corresponds to the create method of the udpsrc). After the sending side
has been set up and the pipeline has been set to PLAYING again, the
receiving thread stops at some point and the last syscall is a futex
call. The thread only wakes up again, when the pipeline is released.

This looks like a deadlock, doesn't it?

Maybe I'm doing something wrong, when altering the playing pipeline.
Could you explain me, what needs to be done when altering a playing
pipeline?

Regards,

Emil

-- 
Emil Kroymann
VoIP Services Engineer

Email: emil.kroymann at isaco.de
Tel: +49-30-203899885
Mobile: +49-176-38389303

ISACO GmbH
Kurfürstenstraße 79
10787 Berlin
Germany

Amtsgericht Charlottenburg, HRB 112464B
Geschäftsführer: Daniel Frommherz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20120806/09b97e80/attachment.pgp>


More information about the gstreamer-devel mailing list