[gst-devel] gstrtpbin race condition
wmiller at sdr.com
Tue Nov 9 16:20:24 CET 2010
I have created a gstrtpbin based sender/receiver program where the same
gstrtpbin services both the incoming and outgoing streams. When the program
starts I can watch (via print statements) as pads are added and connections
are made. The connection from recv_rtp_src_%d_%d_%d to the receive pipe,
i.e. the depayloader, waits until a packet is received from the remote host.
This works great so long as the remote host sends a packet, but if it
doesn't, I am deadlocked.
In particular, when I use my programs for both ends of the connection, I see
both get down to waiting for recv_rtp_src_%d_%d_%d to connect. Neither ever
gets to running because it is waiting on the other. a classic race
condition. (or is that a Mexican Standoff?)
So, I'd like a suggestion on how to get things rolling. Do I somehow need
to start a local pipe that send data to myself to get me kicked off? Is
there a way to force gstrtpbin to create recv_rtp_src_%d_%d_%d without
seeing an inbound packet? Or should I mux the udpsrc with an audiotestsrc
(with num-buffers = 1 or 5 or ???) to fool the gstrtpbin into thinking it is
seeing (bad) traffic?
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gstrtpbin-race-condition-tp3034437p3034437.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel