GNOME Bugzilla – Bug 790795
rtpsession: avoid computing the sources multiple times in the same RTCP cycle
Last modified: 2018-11-03 15:24:02 UTC
Created attachment 364343 [details] [review] rtpsession: avoid computing the sources multiple times in the same RTCP cycle I come across a problem when RTCP is generated in an RtpSession with more than 1 internal&sender RtpSources that causes to add the same Report Blocks (RB) in each RTCP SR packet generated per each internal&sender RtpSource. Whit this behavior: - Bandwidth is wasted. - fraction-lost value is wrong (except in the RBs of the first SR) due to its calculation is based in a previous state refreshed each time the RB is generated, which should only take place once per RTCP cycle, not per each internal&sender RtpSource in each RTCP cycle. I am attaching a patch that fixes the issue and adds a test about it. I think that the test could be improved using GstTestClock to crank RTCP thread.
Havard/others, do you see a reason not to do this? Isn't this wrong to begin with already, and one RTP session should only generate one set of RTCP packets for all the streams it receives and/or sends?
Created attachment 364674 [details] [review] 0001 rtpsession: avoid computing the sources multiple times in the same RTCP cycle Split fix from test to ease management.
Created attachment 364676 [details] [review] 0002 (test)rtpsession: avoid computing the sources multiple times in the same RTCP cycle Depends on https://bugzilla.gnome.org/review?bug=790762&attachment=364670 to work.
Created attachment 364685 [details] [review] 0003 (test)rtpsession: fix test_multiple_senders_roundrobin_rbs Depends on https://bugzilla.gnome.org/review?bug=790762&attachment=364672
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/417.