A question regarding GstRTPBin "autoremove" property.

Marco Ballesio gibrovacco at gmail.com
Thu Sep 15 02:54:18 PDT 2011


Hi,

the "autoremove" property makes the gstrtpbin emit a "clear-ssrc"
action signal when a BYE is received (or a timeout expired). The
rtpssrcdemux intercepts it removing the corresponding pad and, in
turn, emits a "removed-ssrc-pad" which, once received by the
rtpmanager makes it call the free_stream.

client->nstreams is decresed in free_session, called in turn by
gst_rtp_bin_release_pad (when a pad has been released). Would it be
possible for you to check with e.g. GDB or printfs whether the
function is properly called and nstreams decreased?

I know this is not a fix, but hopefully it will help ;)

Regards

On Mon, Sep 12, 2011 at 8:46 PM, Sujay Datar <sdatar at cisco.com> wrote:
> I am using GstRTPBin with “autoremove” property set. When an RTCP BYE is
> received for a particular SSRC, free_stream(), method is called by rtpbin to
> clean up ptdemux and jitterbuffer in the bin. However the stream count for
> the client (client->nstreams) is not decremented and nor is the stream
> removed from client->streams list. Also, if a bye was received for the last
> and only SSRC belonging to a client,  the client should perhaps be freed and
> removed from  rtpbin’s client list ?
> As a result of this I am observing that if a new stream is received with the
> same cname, there are some failures where client->nstreams counter is
> checked (Eg in gst_rtp_bin_associate()) due to which stale streams are
> operated upon, causing some assertion failures.
>
> Looking for some advice as to whether this indeed sounds like a defect or
> maybe I have not quite understood how things work in gstrtpbin.
>
> Thank you,
> Sujay
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>


More information about the gstreamer-devel mailing list