forked from FFmpeg/FFmpeg
-
Notifications
You must be signed in to change notification settings - Fork 20
add NACK, RTX, DTLS active support #59
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
JackLau1222
wants to merge
20
commits into
ossrs:workflows
Choose a base branch
from
JackLau1222:whip_latest
base: workflows
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
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
5982042
to
4d12ed5
Compare
a4c0f1f
to
7652d4a
Compare
2c40a5c
to
80db6eb
Compare
66dc45e
to
9e10bdc
Compare
winlinvip
reviewed
Aug 6, 2025
winlinvip
reviewed
Aug 6, 2025
mark this ignore_ipv6 flag could ignore any IPv6 ICE candidate, preventing “No route to host” errors on devices without IPv6 connectivity. Signed-off-by: Jack Lau <[email protected]>
Remove redundant "WHIP: " prefix in log context since it already add whip context. Fix grammers in whip options descriptions Signed-off-by: Jack Lau <[email protected]>
AVCodecParameters::profile only contains constraint_set1_flag (AV_PROFILE_H264_CONSTRAINED 1<<9). So add H264 constraints flag fully parse refer to hlsenc write_codec_attr Signed-off-by: Jack Lau <[email protected]>
See RFC5280 4.1.2.2 Signed-off-by: Jack Lau <[email protected]>
See https://www.rfc-editor.org/rfc/rfc3550#section-6.1 Signed-off-by: Jack Lau <[email protected]>
9e10bdc
to
bd86a05
Compare
RTP retransmission described in RFC4588 (RTX) is an effective packet loss recovery technique for real-time applications with relaxed delay bounds. This patch provides a minimal implementation for RTX and RTCP NACK (RFC3940) and its associated SDP signaling and negotiation. Co-authored-by: Sergio Garcia Murillo <[email protected]> Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Jack Lau <[email protected]>
limit the generated ssrc to 31 bit to avoid overflow risk when pass it to rtpenc as signed int. Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Jack Lau <[email protected]>
add dtls_active flag to specify the dtls role properly set the send key and recv key depends on DTLS role As DTLS server, the recv key is client master key plus salt, the send key is server master key plus salt. As DTLS client, the recv key is server master key plus salt, the send key is client master key plus salt. Signed-off-by: Jack Lau <[email protected]>
This patch aims to simplify the dtls handshake process since dtls handshake use force block mode We can just use the return code instead of DTLSState enum Signed-off-by: Jack Lau <[email protected]>
See RFC 5245 Section 4.3: If an agent is a lite implementation, it MUST include an "a=ice-lite" session-level attribute in its SDP. If an agent is a full implementation, it MUST NOT include this attribute. Signed-off-by: Jack Lau <[email protected]>
This value is only useful when dtls handshake is NONBLOCK mode, dtls handshake just need to call ffurl_handshake once since it force block mode. Signed-off-by: Jack Lau <[email protected]>
We try to perform dtls handshake when the ICE is totally done. Refer to RFC8445, When peer's ICE is lite, the peer won't trigged check so FFmpeg just send STUN request and receive response, then ICE is done. When peer's ICE is full, the peer will send STUN request after reponse FFmpeg's request to ensure candidate pair become valid in both directions. Then the peer does nomination, and ICE is done. Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Jack Lau <[email protected]>
…hared Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Jack Lau <[email protected]>
Signed-off-by: Jack Lau <[email protected]>
bd86a05
to
7f3a5fe
Compare
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.
No description provided.