-
Notifications
You must be signed in to change notification settings - Fork 76
Redundant #1300
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
Merged
Merged
Redundant #1300
+1,018
−121
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a5f19a8 to
cb2d369
Compare
0829b5d to
1ddf265
Compare
Sakoram
reviewed
Oct 24, 2025
Sakoram
reviewed
Oct 24, 2025
|
You want to rebase this, but changes to lib/src/mt_util.h are added in 4th commit and used in 2nd, thus 2nd commit wont build. |
6e512b9 to
ff631dd
Compare
Sakoram
reviewed
Oct 27, 2025
067191a to
9dec36f
Compare
Sakoram
reviewed
Oct 28, 2025
Sakoram
reviewed
Oct 28, 2025
9dec36f to
9ed19e6
Compare
Sakoram
approved these changes
Oct 28, 2025
2b60cce to
72f7556
Compare
Fix a bug where rtp_timestamp_delta_us was ignored when users set ST20_TX_FLAG_USER_TIMESTAMP or ST22_TX_FLAG_USER_TIMESTAMP flags.
Use timestamps as primary method for redundancy detection instead of seq_id. ST30 audio uses timestamps only, while ancillary data uses both seq_id and timestamps. Move seq_id tracking to per-port structs for better logging. Fixes: 7c9b061
Add noctx tests for ST20 and refactor the entire gtest suite, renaming to integration tests since they are not true unit tests. The goal is to allow for easy and simple tests for scenarios where isolated scenario would be required.
Fix slots allocation falling into wrong state when redundant streams are old.
This caused primary streams to set 2 slots while redundant streams allocated
new slots, resulting in all frames being incomplete.
Issue occurs when the latency of redundnat stream is greater than
slot number * frame time.
This would not adress an issue where 2 streams with slightly diffrent
timestamps would be sent to rx but that case is not worth fixing
as this would be incompliat with st2110
To test:
./build/tests/KahawaiTest \
--auto_start_stop \
--port_list=0000:xx:xx.x,0000:xx:xx.x,0000:xx:xx.x,0000:xx:xx.x \
--gtest_filter=noctx.st20p_redundant_latency
Unify redundant packet logging with regular packet reporting. Use global session ID for redundant checking across st40/st41 sessions, similar to timestamp validation to make things as similar to eachoder as possible. Change API to report out-of-order packets in user port statistics. Note: Out-of-order per port tracking not implemented for st20.
Packet timestamps were only calculated when the RTP time differed from the previous frame, which failed for the initial packet. This caused the first TX packet to be transmitted with timestamp 0, resulting in DDoS-like behavior on the RX side. During initalization make the session calculate the timestamp to avoid such issues. To test set the date into problematic clock area sudo date -s "2025-10-29 17:28:30"
8c291c4 to
ebfba8f
Compare
Sakoram
approved these changes
Oct 30, 2025
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.
Great job, looks good.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Redundant fixes and improvments