Preferr RRID for retransmission over RTX
Description
When receiving an offer with simulcast enabled from Chrome the offer contains RRID and RTX both offered to be used for retransmitting missing packets. Without this PR Pion's answer SDP would contain both mechanisms. That results in Chrome actually sending the retransmission twice, once over RRID and a second time over RTX.
This PR results in Pion preferring RRID and omitting RTX from the m-section payloads to avoid this double retransmission.
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 82.75%. Comparing base (7d8a700) to head (e70f6fc).
Additional details and impacted files
@@ Coverage Diff @@
## master #3250 +/- ##
==========================================
- Coverage 82.87% 82.75% -0.12%
==========================================
Files 80 80
Lines 11196 11206 +10
==========================================
- Hits 9279 9274 -5
- Misses 1498 1509 +11
- Partials 419 423 +4
| Flag | Coverage Δ | |
|---|---|---|
| go | 82.75% <100.00%> (-0.12%) |
:arrow_down: |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
I think to verify only the signaling part should not be too hard. If you want to verify the retransmission behavior on the wire as well, that would get a lot more tricky. I'll start looking into a signaling/SDP test.
@nils-ohlmeier I think this PR is good to merge if you can add a test unless there's something else that you maybe wanted to update!