-
Notifications
You must be signed in to change notification settings - Fork 38
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
SRT #947
Open
funman
wants to merge
246
commits into
Upipe:master
Choose a base branch
from
funman:srt-new
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
SRT #947
Conversation
This file contains 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
I hacked rist_ts and rist_rx changes to test quickly Not sure if I should remove the changes completely or add new programs |
This depends on https://github.com/funman/bitstream/tree/srt |
Use default values from the SRT draft
Here's what libsrt source has to say: // control info field should be none // but "writev" does not allow this m_PacketVector[PV_DATA].set((void*)&m_extra_pad, 4);
Ignore reply if type is unexpected (e.g. reply to an earlier message) Reinitialize if not connected after 3s
This can break up scheduling for some reason We needed it for dejitter, we don't need it anymore
Make upipe_srt_handshake_handle_hs_listener_conclusion() throw source end in case of failure Most notable error case is a wrong password Throwing source end will let application restart pipeline and not leave a half-connected state.
(cherry picked from commit d6ae88b610a5e2c131fe6bfc4a3f6ee10ad3d8c8)
srtr: Delete drift_rate before outputting uref
Fixes getting stuck with old caller (cherry picked from commit 453f3958e0982043b4c4b9508b8cbcae9ffe8986) Signed-off-by: Rafaël Carré <[email protected]>
srt_tx: use this event to "disconnect" from remote peer
We already check for dst_socket_id in upipe_srt_handshake_input()
if we are caller the uri never changes
Ignore handshakes with different socket id when we're already connected. Do not send a reply, as it would reach the wrong remote. keepalive will trigger and restart after 10s if needed Second case: if we do not received the expected induction type, trigger disconnection. Since we sent a rejection message we expect a new socket anyway.
(cherry picked from commit 18904c4) Signed-off-by: Rafaël Carré <[email protected]>
(cherry picked from commit 5cac22d) Signed-off-by: Rafaël Carré <[email protected]>
This makes sure for example that keepalives coming from srt receiver do not leave to an old remote If handshake did not succeed we do not restart the pipeline, so udp sink would still have a destination set Since srt receiver pipe is still running it keeps sending keepalives
(cherry picked from commit a899a14505386ab7c2cbad6398b1014a6122aa86) Signed-off-by: Rafaël Carré <[email protected]>
What is the status of this SRT implementation? Intended to be mainlined at some point? Experimental? |
Hi Kyle,
I have been using this implementation in production for nearly a year now
without major issues and interoperating with various libsrt library
versions.
Most of the recent work has been around a few edge cases for rogue callers.
The intention is to mainline it after some review. It's worth saying it's
hard to unit test and also fuzz a complex protocol like SRT so that's a
missing piece of work.
Regards,
Kieran Kunhya
…On Wed, 22 Jan 2025, 21:42 Kyle Swanson, ***@***.***> wrote:
What is the status of this SRT implementation? Intended to be mainlined at
some point? Experimental?
—
Reply to this email directly, view it on GitHub
<#947 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABDEEGZWL4UELAIPJYU5KD2MAGFHAVCNFSM6AAAAAA5V4S66GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMBYGMZDSOBXGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Sounds good. Thanks for the info, Kieran. |
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.
SRT protocol