After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 567828 - rtpmanager and RTCP BYE packet
rtpmanager and RTCP BYE packet
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.11
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-01-15 07:51 UTC by Laurent Glayal
Modified: 2009-01-23 11:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
possible patch (637 bytes, patch)
2009-01-15 17:23 UTC, Wim Taymans
committed Details | Review

Description Laurent Glayal 2009-01-15 07:51:12 UTC
rtpmanager should not schedule RTCP BYE packets as any other RTCP report.
RTCP BYE is used to indicate peer we are going to leave session, it's also used to solve SSRC collisions, delaying its sending can disturb a media stream processing for a long.
Comment 1 Wim Taymans 2009-01-15 12:17:53 UTC
The algorithm in section 6.3.7 of RFC3550 is executed. Why do you think we should do it differently?
Comment 2 Laurent Glayal 2009-01-15 15:53:02 UTC
RTCP messages are scheduled to limit bandwidth usage. When sending a BYE we are indicating no more RTP will be sent for the indicated SSRC. On a SSRC collision beetween two peers A and B: 

If B sends a BYE 5 seconds after finding the collision due to scheduling of RTCP packets the peer A will still wait for data during 5 seconds while we already stopped streaming using 'old' SSRC.
Sending BYE packets as soon as possible is a fair way to indicate peer it can free some resources or discard som data.

#6.3.7 indicates BYE can be sent immediatly if the group size estimate members is less than 50.
Comment 3 Wim Taymans 2009-01-15 16:23:23 UTC
ok, sending faster (immediatly) for group sizes < 50 would be doable, we just need to tweak the next timeout and trigger a reconsidder.
Comment 4 Laurent Glayal 2009-01-15 17:15:03 UTC
If group size could be configurable it will also be a good thing for distributed infrastructures for large applications (handling hundreds of RTP streams on a LAN for RTP mixers/conferences for ex. ). This later point differs from RFC but is interesting in some particular cases (reducing network Bandwidth, infrastructure latency).
Comment 5 Wim Taymans 2009-01-15 17:23:30 UTC
Created attachment 126517 [details] [review]
possible patch

something like this would do the trick.
Comment 6 Wim Taymans 2009-01-23 11:16:58 UTC
commit ccdc28fc6dc1eb5250b6414427927c84d2026fe9
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Fri Jan 23 12:13:00 2009 +0100

    Send BYE packets immediatly for small sessions
    
    When the number of participants is less than 50, the RFC allows for sending the
    BYE packet immediatly instead of using the regular BYE timeout.
    Fixes #567828.