Skip to content
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

🔙 Improved NACKs #135

Merged
merged 59 commits into from
Jan 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
004f575
Allow skips of up to MAX_DROPOUT inclusive
danstiner Dec 8, 2021
970edd5
Make constants public for testing
danstiner Dec 8, 2021
4d052fb
Start maxSeq at seq like RFC example does
danstiner Dec 8, 2021
df424e6
Update tests to be more clear
danstiner Dec 8, 2021
b434820
Formatting
danstiner Dec 8, 2021
b9a836b
Introduce ExtendResult struct
danstiner Dec 8, 2021
e81d1c6
Pass SsrcData instead of lock
danstiner Dec 8, 2021
b5c380c
Put all nack behavior behind config setting
danstiner Dec 8, 2021
35637f7
Extract better named captureVideoKeyframe method
danstiner Dec 8, 2021
96b1772
Extract sendQueuedNacks method
danstiner Dec 8, 2021
6d9de37
Handle a few percent of packet loss
danstiner Dec 9, 2021
3282004
Improve log message
danstiner Dec 9, 2021
41f3c8e
Improved logging
danstiner Dec 9, 2021
7425cc2
Fix issue where sequence tracker locked up after prolonged run time
danstiner Dec 9, 2021
b5e1812
Downgrade nack logging to trace level
danstiner Dec 9, 2021
a3b89e2
Allow for more jitter
danstiner Dec 9, 2021
8691b7b
Log if we exceed nack capability
danstiner Dec 9, 2021
30cf734
Merge remote-tracking branch 'origin/master' into fix_extended_sequen…
danstiner Dec 10, 2021
f8069f1
Format
danstiner Dec 13, 2021
d811607
Basic sequence tracker tests
danstiner Dec 13, 2021
e670fd1
Log sequence counter resets
danstiner Dec 13, 2021
e791a72
Test NACKs do not cause resets
danstiner Dec 13, 2021
3fc6938
Cleanup
danstiner Dec 13, 2021
aba1744
Move counter into sequence tracker
danstiner Dec 13, 2021
ff03673
Cleanup received buffer
danstiner Dec 13, 2021
af92711
Keep mapping of nacked packets instead of re-extending
danstiner Dec 13, 2021
a6da8e7
Fix packet metrics
danstiner Dec 13, 2021
dd053f8
Failing test due holding on to nack'd packets for too long
danstiner Dec 13, 2021
7d480ea
Verbose logging in tests
danstiner Dec 13, 2021
b600728
Only reset tracking on a resync, not initial sync
danstiner Dec 14, 2021
8a40fb0
Log packet stats
danstiner Dec 14, 2021
33153c3
Set default log level to debug
danstiner Dec 14, 2021
6de4c34
Trace entire nack queue
danstiner Dec 14, 2021
2cbf196
Tweak buffer sizes based on testing and 6mbps stream
danstiner Dec 14, 2021
099f3fb
Fix reorder buffer to cleanup by size first, then timeout
danstiner Dec 14, 2021
fb7292d
Increase reorder buffer timeout
danstiner Dec 14, 2021
a67cfa0
Reduce keyframe logging to trace
danstiner Dec 14, 2021
76f3c25
Reduce buffer timeout to 20ms
danstiner Dec 14, 2021
1cac649
Test for many outstanding NACKs
danstiner Dec 15, 2021
96914f4
Timeout outstanding NACKs
danstiner Dec 15, 2021
376ff54
Update build job to match dockerfile versions
danstiner Dec 15, 2021
1a1bfe9
Reset .github/workflows/build.yml
danstiner Dec 16, 2021
65a8b16
Merge remote-tracking branch 'origin/master' into fix_extended_sequen…
danstiner Dec 16, 2021
2eb0031
Undo some auto formatting changes
danstiner Dec 16, 2021
3fb8122
Cleanup tests a bit
danstiner Dec 16, 2021
15f4e4c
Cleanup formatting
danstiner Dec 16, 2021
902ce3f
Fix formatting take 2
danstiner Dec 16, 2021
76d899f
Merge remote-tracking branch 'origin/master' into fix_extended_sequen…
danstiner Dec 16, 2021
29e0bc4
Improve log message
danstiner Dec 16, 2021
2b2aa86
Re-write sequence tracker
danstiner Dec 17, 2021
07c78b3
Track nack count in SequenceTracker
danstiner Dec 17, 2021
1db75a2
Formatting
danstiner Dec 17, 2021
78488f2
Improve handling of keyframes
danstiner Dec 17, 2021
7217d8d
Formatting
danstiner Dec 17, 2021
44509ee
Use .end() to correctly access last packet
danstiner Dec 17, 2021
0d23274
Fix IsComplete check
danstiner Dec 17, 2021
fc6322d
Improved names and documentation
danstiner Dec 22, 2021
75b6566
Inline ExtendedSequenceCounter::resync
danstiner Jan 18, 2022
0f6dfbb
Formatting
danstiner Jan 18, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ sources = files([
# RTP Utilities
'src/Rtp/ExtendedSequenceCounter.cpp',
'src/Rtp/RtpPacket.cpp',
'src/Rtp/SequenceTracker.cpp',
# Service Connections
'src/ServiceConnections/DummyServiceConnection.cpp',
'src/ServiceConnections/EdgeNodeServiceConnection.cpp',
Expand Down
Loading