-
Notifications
You must be signed in to change notification settings - Fork 39
SRT #947
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
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
Changes from all commits
Commits
Show all changes
246 commits
Select commit
Hold shift + click to select a range
55d280b
SRT
funman 73186aa
SRT: update comments
funman 53aef17
srt_sender: properly handle requests for more than one packet
funman 672269c
srth: whitespace
funman 392ebbb
srth: set latency properly
funman 7aae77a
srth: debug latency values in all cases
funman aa6ba20
srth: debug dropreq messages
funman 7cacce9
rist_rx: set latency
funman 96b4e61
rist_rx: log timestamps
funman faddf7f
srt_receiver: properly detects RTT
funman f69522a
srth: check hs_type for errors
funman de16041
srth: check hs_type properly
funman a1038ca
srts: remove unused code
funman 969ec20
ws
funman 82e29c2
srts: send dropreq packet
funman d435844
srts: use UCLOCK_FREQ for latency
funman e67c6bd
srtr: clarify variable
funman c579f86
srts: sets upump before starting
funman 23a1de2
srth: whitespace
funman cd43b5a
srtr: fix ack fields (rtt, rtt variance, bitrate, packetrate)
funman 3b2eca6
srth: longer delay
funman 3e3e2c5
Fix malformed shutdown packet
funman fa6cf28
srth: check handshake type in remote reply
funman 5147def
rist_tx: stop on shutdown
funman 0c746a0
Fix aes-192 and aes-256
funman 44f059f
srth: prepare for different key lengths
funman 151693f
rist_tx: debug end of program
funman 95f056e
rist_tx: debug pipeline number, to differentiate restarts
funman 5d3c6a7
rist_tx: reverse restart logic
funman 9794a6b
srth: 192/256 bits AES
funman 97aacc7
rist_tx: Only set password if password is not null
kierank f3b4bac
upipe_srt_handshake: Respond to remote keepalives
kierank 498c45c
upipe_srt_sender: Set out of order flag to 0 as per the IETF document
kierank ef9cf62
Merge pull request #2 from kierank/srt-new
funman 06a1e29
Fix non-gcrypt build
funman b9e8395
srth: fix no password run
funman 361c106
Revert "rist_tx: Only set password if password is not null"
funman e88b5f8
srtr: fix leak
funman c0d5ca7
rist_tx: actually stop
funman 8201c5a
srth: remove subpipe
funman 03dbfee
srt_sender: use right timestamp
funman 04b08a0
srt sender: do not output handshake packet if no data yet
funman a8b966a
upipe-srt: Free uref if we can't output it
kierank d354b3a
upipe-srt: memset the end of control packets to placate valgrind
kierank 7e73297
upipe-srt: Set control_packet_type_specific in shutdown message to pl…
kierank b350927
rist_tx: use dynamically allocated uprobes
JDarnley fbe3277
rist_tx: set pointers to null to prevent double frees
JDarnley 396cb9c
upipe-srt: fix header guards
JDarnley 854a82e
Merge pull request #3 from kierank/srt-new
funman bf4ab88
Merge pull request #4 from JDarnley/srt-new
funman 2da3cfd
srth: pass random seed through upipe manager
funman 783fe55
srth: warning
funman 222e838
handshake: handle key refresh, and odd keys
funman e15b7ea
srt receiver: handle odd keys
funman c13d563
srts: sets odd key, it's not used yet though
funman 8e47351
srtr: send keepalive if no packet since 1s
funman 28b47dc
srts: send keepalive every second if needed
funman 4dbd8f5
srth: do not reply to keepalive
funman 20be6bb
upipe-srt/handshake: Do not output an ACKACK on Light ACKS or Small ACKS
kierank 286021e
Merge pull request #5 from kierank/srt-new
funman 7eb2f70
upipe-srt/sender: seqnum is 31-bits, not 32
kierank 0c02725
Merge pull request #6 from kierank/srt-new
funman 1ec6134
srtr: use 31bits arithmetic when needed
funman 012bda8
srt sender: be consistent with srt receiver
funman ca7d295
rist_rx: add upipe_dump debug
funman 87b5f9d
SRT: fix wraparound logic
funman 371b0f9
srt: shutdown connection if not data for 10s
funman 1d12c2f
srtr: account for RTT when releasing packet
funman cfab2c9
srtr: rename func
funman f4c9f66
srth: make sure user packets are actually kmrsp type
funman 717b14a
srth: handle v4 handshake
funman 4c0081a
rist_tx: srth needs latency
funman 873677c
srth: fix v4 handshake, encryption not working yet
funman cdfe353
srth: use define
funman fa95f56
srth: v4 encryption
funman 0829b93
srth: fix key rotation
funman b8231d5
srtr: handle rtt > latency
funman 14dc83e
srtr: fix obd timing
funman 46ab7ec
Revert "srtr: handle rtt > latency"
funman 7e5f5dc
srtr: stats
funman 3f17844
upipe_srt_receiver: Reset buffered counter correctly during buffer empty
kierank 1f0d950
upipe_srt_receiver: Free urefs during buffer empty
kierank e3f96fa
upipe_srt_receiver: Set acks to NULL after freeing
kierank 11247da
upipe_srt_receiver: Empty buffer when pipe closes
kierank 56f6387
rist_rx: Port signal handling code from rist_tx
kierank 349acc4
upipe_srt_receiver: Don't empty buffer during a key rotation
kierank 8add7e0
Merge pull request #7 from kierank/srt-new
funman e963d85
examples: Support source filtering in srt listener mode
kierank 7cdbcf3
Merge pull request #8 from kierank/srt-new
funman 3d5b649
srt receiver: fix heap overflow
funman 1da2aad
srt handshake: prepare for even key encryption
funman a481909
srt sender: only set isn if unset
funman 6470896
srt: key rotation
funman 4426e5f
SRT: send KMREQ every second if we do not get a KMRSP
funman f7628d0
srth: ignore handshake when already connected
funman dfa8a31
srt: Use the correct timeout for handshake timeout
kierank f0a33bd
srt: Clarify the name of the handshake timeout
kierank 8f237b7
srtr: do not restart timer if subpipe is freed
funman 75d7818
srth: comment different upump functions
funman 572881e
Merge branch 'srt-new' into srt-new
funman 62cf102
Merge pull request #9 from kierank/srt-new
funman e123743
srtr: Replace assertion with if()
kierank 4d42edc
Merge pull request #10 from kierank/srt-new
funman 42c3c41
srth: split handle_hs in 4: caller/listener and induction/conclusion
funman 5d8a5a9
srth: factorize induction/conclusion specific code
funman f88eafd
srth: fix potential bug handling early handshake version
funman d8f779f
srth: factorize handshake packet building with extensions
funman 00074f1
srth: factorize km msg building
funman ba33cc2
srth: factorize key wrapping
funman 19dec28
srth: do not assume we received both odd and even keys
funman 4c92c2d
key rotation: typo
funman 722a83b
srth: initialize socket_id
funman 70bc235
srth: initalize version only once
funman 0c67712
srth: check upump_mgr and uclock
funman bfb6be9
srth: fix keepalive
funman 0d8a1e1
srth: debug connection process
funman fb3be7d
srtr: whitespace
funman 4b0d9c0
srth: more debug
funman 839399a
Test my bitstream
funman 4320797
rist_rx: -r option to add rtp demux
funman a8c9dbd
srth: be less verbose when a packet arrives for another stream
funman 9d8169a
srth: do not reset keepalive on induction packets
funman 6542de6
srth: reject connection when already connected
funman d1c8914
srth: sends handshake rejection when handshake fails
funman 7fad9cb
srth: sets version to last release (Sep 7, 2023)
funman 213fda5
srts: switch keys if the current one is absent
funman 2b10bf9
srth: update keys one at a time
funman 9000555
srts: wait 4000 packets before switching keys
funman 8b67f66
rist_tx: refresh key after 2^25 packets
funman 32c59fa
upipe-srt/receiver: Free late packet
kierank 2d0656f
srth: Rename upump_timer to upump_handshake_send
kierank 0a5b9ea
srth: Rename upipe_srt_handshake_timer to upipe_srt_handshake_send_timer
kierank b0aa9c4
srth: Don't send a rejection if we get a duplicate induction
kierank 798a62b
srts: Make the establish_time more rigourous.
kierank 8a55403
rist_tx: Add SRT stream_id
kierank 9f55d31
srth: When repeating the handshake, send the correct handshake packet…
kierank fdfc52b
Merge pull request #11 from kierank/srt-new
funman a0a808a
srth: whitespace
funman 1396757
srth: ignore handshakes packets when we're connected
funman 1f89867
Revert "Test my bitstream"
funman 0320e3f
rist_tx: set flow def for srt sender
funman 15e3534
srth: no need to update flow def immediately
funman dc46561
srts: unused syn_cookie
funman bbe7fd0
srts: better debug log
funman ce58096
srth: fix stream_id copy
funman 0c6c1f0
srtr: always advertise full buffer capacity
funman d502bd4
upipe_srt_handshake_parse_kmreq: less verbose
funman 66993f9
rist_rx: send shutdown on ^C
funman bdc5bfc
srth: no need for strncpy
funman 988e16c
srtr: use proper timestamps
funman e893280
Partially revert 15e3534afd7686d6573114f959e29d115fabead4
funman cccf639
Remove left over SRT changes
funman a413adb
upipe-srt does not depend on libsrt
funman cdab6be
srt_tx/srt_rx
funman 1c39c1f
srtr: do not assume buffer exhausted is a discontinuity
funman c899015
srt: remove unneeded flags spotted by nto
funman 8ef44cd
srt_* : update copyright
funman 2dfe549
srth: send rtt_0 downstream
funman e67ae13
srtr: get rtt from handshake
funman c686ac3
srth: move upipe_srt_handshake_finalize() to upipe_srt_handshake_hand…
funman 6506a02
srth: reject handshake if we can't decipher key material
funman 22b3181
srth: reset syn_cookie when caller gets rejected
funman b1bb56c
srth: reject handshake with no password
funman 4790a17
srt: fix pc description
funman f98bb48
srt_handshake: Send a socket_id of zero for a handshake rejection
kierank 0cb42f8
Merge pull request #13 from kierank/srt-new
funman b637feb
Revert "srtr: get rtt from handshake"
funman 37f991d
Revert "srth: send rtt_0 downstream"
funman 2ea11fa
srt_tx: Reject new peer if one is already connected
kierank 2991541
srth: latency is the bigger of the two
funman 25bdb37
srtr: allow latency to be set later and even changed
funman ca25e60
srth: sender latency defaults to 0
funman 365e880
srth: control to get negotiated latency
funman d9b7612
srt_rx: sets proper latency after handshake
funman ff8f006
srt_tx: sets proper latency after handshake
funman a34c94c
srth: Add comments to clarify latency negotiation logic
kierank cb4d213
Merge pull request #14 from kierank/srt-new
funman 4d86f59
srth: send correct key in kmreq
funman d069633
srts: delete old key from memory
funman dde433d
srts: delete key only after the required period has elapsed
funman 1a2dd38
srts: Add some comments
kierank a49562e
Merge pull request #15 from kierank/srt-new
funman 7bcc47c
srt_tx: only count data packets for key refresh
funman a274401
dejitter: get rid of initial "max jitter reached" message
funman d3f84d2
dejitter: start with initial deviation, not sqrt(2)/2
funman b12aaee
dejitter: print debug in milliseconds
funman 4956480
dejitter: maximum_deviation
funman c5ea27d
srt_tx: use minimum and maximum deviation for dejitter
funman 9183353
srtr: throw clock events
funman 7aedf37
srtr: handle now < cr_sys
funman 7fe4a08
srt/rist: use monotonic clock
funman 025aac5
srtr: handle ts wraparound when setting cr_prog
funman dc53e42
srt_receiver: Remove old and wrong use of RTT in calculation
kierank 6cab570
srt_receiver: Calculate wraparound correctly
kierank 2e7c035
srt_receiver: Add FIXME
kierank 4b96441
upipe_srt_receiver: Increase timer frequency.
kierank 812127c
upipe_srt_receiver: Set retransmitted cr_prog correctly
kierank ac1cb86
upipe_srt_receiver: Clarify type promotion
kierank 92ad5c0
upipe_srt_receiver: Use latency for validity window
kierank 33f5e89
upipe_srt_receiver: Remove FIXME
kierank a2a7a59
upipe_srt_receiver: Fix typo
kierank 049d886
dejitter: Fix typo
kierank 2987cd2
dejitter: Add missing initaliser
kierank 2942f16
srt_receiver: Remove unused ts_wraparounds field
kierank 645517c
upipe_srt_receiver: Don't flag non-retransmission out of order packet…
kierank 5e63b41
upipe_srt_receiver: Throw the correct clock_ref cr_prog value and mak…
kierank f1c7a4e
upipe_srt_receiver: Use the correct units for latency check
kierank 613de79
upipe_srt_receiver: Fix typo
kierank 298bf66
upipe_srt_receiver: Treat the first timestamp as a discontinuity
kierank 41d6169
uprobe_dejitter: Add function to set maximum jitter
kierank 41a5994
srtr: remove unused variable
funman 1bb69a6
srt_tx: depends on bitstream
funman c9b9d43
srth: handle AES_GCM cipher when proposed
funman 73e7770
srth: AES_CTR uses only 14 bytes from the salt, AES_GCM uses 12
funman e96e1bf
srtr: AES GCM
funman 8e0b360
srts: AES GCM
funman b50a830
srth: default to AES CTR for now
funman 5d48d60
srt_rx: rename uprobe_obe_log
funman f3683fe
SRT: better comments
funman 5310a6d
srts: rename confusing variable
funman 8912b8c
srtr: delete cr_prog before outputting uref
funman 60b1938
srth: debug induction type
funman 8df26c7
srth: terminate pipeline on handshake failure
funman 2fa20a0
srtr: Delete drift_rate before outputting uref
kierank b257545
Merge pull request #16 from kierank/srt-new
funman 89e709e
upipe_srt_handshake: Throw source end if socket id is wrong.
kierank 3658720
srth: reject unset socket_id if packet is not a handshake
funman 5bebb60
srt_tx: do not modify args
funman 7f53feb
srth: throw an event when we get connected or disconnected
funman ff46a44
srth: remove extraneous check
funman 6932c5f
srt_tx: only unset sink uri if we are listener
funman bc51c13
srth: throw source end if remote rejects us
funman 11fed1d
srth: rework unexpected handshake packets handling
funman c464198
srth: do not throw source end if we're not connected yet
funman 43df7a0
udpsink: set fd to -1 if URI is NULL
funman d566fb3
ci: use actions upload artifact v4
nto a3bd5c9
srt_rx: handle handshake disconnect
funman 3423bce
srth: send disconnection event on timeout
funman fa774fb
srth: do not keep sending handshakes if we timed out
funman bec6974
srtr: do not send keepalives until we are connected
funman a53abec
srts: do not send keepalives until we are connected
funman 2ffc85d
srth: do not keep sending handshakes
funman 7e5cfbe
srts: fix socket_id check
funman 5419615
srtr: send RTT in stats
funman 3ad75d9
srth: sync with rogue changes
funman e05d9d3
srt_rx: apply latency to dejitter
funman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.