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 790795 - rtpsession: avoid computing the sources multiple times in the same RTCP cycle
rtpsession: avoid computing the sources multiple times in the same RTCP cycle
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.8.3
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 790762
Blocks:
 
 
Reported: 2017-11-24 16:35 UTC by Miguel París Díaz
Modified: 2018-11-03 15:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtpsession: avoid computing the sources multiple times in the same RTCP cycle (6.74 KB, patch)
2017-11-24 16:35 UTC, Miguel París Díaz
none Details | Review
0001 rtpsession: avoid computing the sources multiple times in the same RTCP cycle (2.47 KB, patch)
2017-11-30 13:35 UTC, Miguel París Díaz
none Details | Review
0002 (test)rtpsession: avoid computing the sources multiple times in the same RTCP cycle (5.40 KB, patch)
2017-11-30 13:36 UTC, Miguel París Díaz
none Details | Review
0003 (test)rtpsession: fix test_multiple_senders_roundrobin_rbs (2.31 KB, patch)
2017-11-30 14:37 UTC, Miguel París Díaz
none Details | Review

Description Miguel París Díaz 2017-11-24 16:35:53 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.
Comment 1 Sebastian Dröge (slomo) 2017-11-28 15:18:34 UTC
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?
Comment 2 Miguel París Díaz 2017-11-30 13:35:44 UTC
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.
Comment 3 Miguel París Díaz 2017-11-30 13:36:48 UTC
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.
Comment 4 Miguel París Díaz 2017-11-30 14:37:46 UTC
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
Comment 5 GStreamer system administrator 2018-11-03 15:24:02 UTC
-- 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.