[gst-devel] Release dynamic pad from GstRtpBin

Stian Selnes stian.selnes at gmail.com
Thu Oct 2 21:01:25 CEST 2008


Hi all,

I'm having a problem with removing the dynamic pad
recv_rtp_src_%d_%d_%d from GstRtpBin when one RTP session times out
(signal "on-bye-timeout") or a RTCP bye is recieved (signal
"on-bye-ssrc"). What I do is basically to unlink what is connected to
this pad, and call gst_element_release_request_pad to release it. The
result is that everything I expected is unlinked, but the pad seems to
still be inside the GstRtpBin, presumably unused. I expected it to be
removed. If unclear, please see the graphs of before and after the
release at http://www.pvv.org/~stianse/files/gstreamer/before-release.pdf
and http://www.pvv.org/~stianse/files/gstreamer/after-release.pdf .

The consequence is that if there is a new incoming RTP stream with the
same ssrc as the one before, no new pad will be created and the
"pad-added" signal is never triggered. This may seem like a corner
case, but it is quite important in my application.

So the question is: What do I do to properly clean up in GstRtpBin
when an RTP session ends, so that I'm actually able to receive a
stream with the same ssrc at a later point? Or is this a bug that I
should file in bugzilla?


Thanks,
Stian




More information about the gstreamer-devel mailing list