GNOME Bugzilla – Bug 768725
gstrtpsession: Add parameter to control EOS events on RTCP pad
Last modified: 2018-05-06 12:28:11 UTC
Created attachment 331319 [details] [review] gstrtpsession: Add parameter to control EOS events on RTCP pad Currently, when a session is ended an a bye package is sent, a EOS event is sent. If a bundle transport is used, this causes other RTCP events, from other sources, not to reach its destination because downstream element rejects more buffers. This can be worse if no encryption is used. Once the EOS is sent, all buffers are rejected RTCP and RTP.
Maybe we need a way to know from the caps if we have a bundle transport, and what the contained SSRCs are so that we send EOS once all of them are BYE. See also https://cgit.freedesktop.org/~wtay/gstreamer/log/?h=mixed-caps, which was an idea how to implement that.
Unfortunately I haven't seen a way to differentiate that in the caps. More over, if you use one GstRtpSession element for managing multiple session (something that is working correctly) you have to also avoid EOS event when a session is ended.
This isn't specific to RTCP, whatever is "bundling" the sessions should wait for all bundled sessions to have received a EOS before forwarding it. How are you bundling them? But this patch is definitely not the right way to do this.
Also see https://bugzilla.gnome.org/show_bug.cgi?id=772740 for bundle support, and https://bugzilla.gnome.org/show_bug.cgi?id=773218 for (probably) the underlying EOS issue here. Can we consider this bug here obsolete?