-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for RTCP Receiver Reports #77
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## master #77 +/- ##
==========================================
+ Coverage 88.43% 88.81% +0.37%
==========================================
Files 29 30 +1
Lines 1306 1359 +53
==========================================
+ Hits 1155 1207 +52
- Misses 151 152 +1
Continue to review full report in Codecov by Sentry.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice code! 👍 Clean, concise and easy to understand. Also, very nice comment in the ReportRecorder 👀
I have some questions regarding fraction_lost and total_lost 🤔
|> MapSet.size() | ||
|> min(@max_u24) | ||
|
||
total_lost = min(recorder.total_lost + lost, @max_u24) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should count in duplicate packets here?
This number is
defined to be the number of packets expected less the number of
packets actually received, where the number of packets received
includes any which are late or duplicates. Thus, packets that
arrive late are not counted as lost, and the loss may be negative
if there are duplicates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here I was just following what Pion does, if we wanted to include duplicate packets, then the whole lost_packets
MapSet is unnecessary, we could just count the number of packets received. To be honest, I'm not really sure why is that, I just assumed that we shouldn't count duplicate packets, but I'll look into this more.
This PR only adds
RTPReceiver.ReportRecorder
module, akin toPeerConnection.TWCCRecorder
.The actual functionality of sending the reports, as well as
RTPSender.ReportRecorder
for SenderReports, will be implemented in subsequent PRs.