-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Avoid dropping packets for simulcast probes #2777
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
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2777 +/- ##
==========================================
+ Coverage 83.99% 84.05% +0.06%
==========================================
Files 80 80
Lines 9070 9076 +6
==========================================
+ Hits 7618 7629 +11
+ Misses 1027 1024 -3
+ Partials 425 423 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Is this still relevant? It looks like a thing that's worth fixing. |
This will be used while probing for PayloadType and Simulcast. Relates to pion/webrtc#2777 Co-authored-by: cptpcrd <[email protected]>
This will be used while probing for PayloadType and Simulcast. Relates to pion/webrtc#2777 Co-authored-by: cptpcrd <[email protected]>
This will be used while probing for PayloadType and Simulcast. Relates to pion/webrtc#2777 Co-authored-by: cptpcrd <[email protected]>
68d8623 to
beba940
Compare
e4e02a9 to
96a2e1a
Compare
|
Sorry this took so long to get merged. With the holidays I hope to have more time to get through backlog. Super impressed that you diagnosed and fixed this! |
bfd17cb to
1f7fa14
Compare
|
|
||
| return n, attributes, err | ||
| } | ||
| if receiver.haveClosed() { |
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.
Before calling Read would return peaked packets (even though the Transceiver) was closed.
boks1971
left a comment
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.
lgtm!
peerconnection_media_test.go
Outdated
| } | ||
|
|
||
| // Simulcast probe would lose packets. This test asserts that we don't drop | ||
| // any packets during the probe. |
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.
maybe remove comment which says Simulcast probe would lose packets. This PR fixes it. So, would be good to just say that this test ensures no drops during probe.
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.
Fixed!
Before any packets that we read during the probe would get lost Co-authored-by: cptpcrd <[email protected]>
1f7fa14 to
f71415b
Compare
JoeTurki
left a comment
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.
tested it :)
Description
Currently, when Pion is receiving simulcast,
PeerConnection.handleIncomingSSRCreads (at least) 2 packets: one packet is used to determine the payload type, and one (or more) packets are used to determine the MID, RID, and repair stream ID. This means that the first video frame is always partially lost, which is undesirable.To fix this:
(This patch relies on corresponding changes to
pion/srtpwhich I will PR shortly and link back here.)Reference issue
N/A