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

SRT #947

Open
wants to merge 246 commits into
base: master
Choose a base branch
from
Open

SRT #947

wants to merge 246 commits into from

Conversation

funman
Copy link
Contributor

@funman funman commented Oct 6, 2023

SRT protocol

@funman
Copy link
Contributor Author

funman commented Oct 6, 2023

I hacked rist_ts and rist_rx changes to test quickly

Not sure if I should remove the changes completely or add new programs

@funman
Copy link
Contributor Author

funman commented Oct 6, 2023

This depends on https://github.com/funman/bitstream/tree/srt

funman and others added 9 commits September 20, 2024 11:56
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
funman and others added 17 commits November 7, 2024 15:59
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]>
@kylophone
Copy link

What is the status of this SRT implementation? Intended to be mainlined at some point? Experimental?

@kierank
Copy link
Contributor

kierank commented Jan 22, 2025 via email

@kylophone
Copy link

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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants