Skip to content

rtpsession: save the report block statistics in each RTPSource

Right now, the RB info is stored into a non-internal RTPSource related to the SSRC-of-sender used by the peer to send the RTCP RRs or SRs [1]. We noticed that this does not properly work in several cases like:

  • The RR or SR contains more than one RB, associated to different RTP flows sent by internal RTPSources.
  • RR or SR packets are received using the same SSRC-of-sender with alternate RBs.
  • etc.

With the current approach, only the last RB contained in the RRs or SRs are kept into stats, losing relevant information for the app.

This commit fixes the issue just keeping the RB info into the stats related to the internal RTPSource whose SSRC matches with the contained into the RB. In addition, the current behaviour (adding RB info into non-internal RTPSources) is deprecated but kept in order to be backward compatible.

Refs [1] https://tools.ietf.org/html/rfc3550#section-6.4.1

Edited by Tim-Philipp Müller

Merge request reports