PR #20969 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20969
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20969.patch
Fix #20712
When print_sdp() fails during rtp streaming, sch_start()
returns error code without calling wirte_trailer, causing
a memory
PR #20965 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20965
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20965.patch
>From cebbb7f74bcff89761b80d6ec0aad627dd4c2232 Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Sat, 23 Aug 2025 09:09:47 +0800
Subj
PR #20955 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20955
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20955.patch
>From 837b0dd8d96c6f258bbccdfe5e05b40ebabf249a Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Sat, 15 Nov 2025 19:23:39 +0800
Subj
PR #20944 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20944
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20944.patch
Fix #20940
This reverts commit 4440e499ba
It breaks some filters like feedback, and make
li->frame_blocked_in check invaild.
Sig
PR #20938 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20938
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20938.patch
>From 175d0fc3cbb1f9ae8954317985e41555d828771b Mon Sep 17 00:00:00 2001
From: Desmond Liu
Date: Thu, 30 Oct 2025 17:22:12 -0
PR #20937 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20937
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20937.patch
Fix #20571
Avoid build errors with openssl forks (like libressl)
that lack some APIs.
Fail early during configure instead of hitting
ec_id == AV_CODEC_ID_H264) {
>>> -av_freep(&rtp_ctx->streams[i]->codecpar->extradata);
>>> -rtp_ctx->streams[i]->codecpar->extradata_size = 0;
>>> + av_freep(&rtp_ctx->streams[0]->codecpar->extradata);
>>>
PR #20931 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20931
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20931.patch
WHIP force the use of Annex B by enabling h264_mp4toannexb
BSF in whip_check_bitstream. However, this BSF runs during
packet writing and
PR #20825 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20825
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20825.patch
In early code, the BUNDLE always has two stream
id "a=group:BUNDLE 0 1" even though there's only
one stream.
Thi
PR #20765 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20765
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20765.patch
>From 94f217adf0b4b91bcabb7cd9747f7b58c9c125e3 Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Mon, 27 Oct 2025 16:50:30 +0800
Subj
;video_par)
+av_bprintf(&bp, " 1");
+av_bprintf(&bp, "\r\n");
if (whip->audio_par) {
if (whip->audio_par->codec_id == AV_CODEC_ID_OPUS)
> if (whip->audio_par) {
> if (whip->audio
PR #20583 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20583
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20583.patch
Signed-off-by: Jack Lau
>From 5ad09ad5afd8ef7370cb05504ebdbca489cdcaf0 Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Mon, 22
> On Oct 14, 2025, at 14:30, Gyan Doshi via ffmpeg-devel
> wrote:
>
>
>
> On 2025-07-25 10:36 am, Jack Lau wrote:
>>
>>> On Jul 25, 2025, at 12:18, Gyan Doshi wrote:
>>>
>>>
>>>
>>> On 2025-07-25 03:29 am, Jack
> On Oct 6, 2025, at 16:06, baigao via ffmpeg-devel
> wrote:
>
> ---
> libavformat/whip.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/whip.c b/libavformat/whip.c
> index 472c6dbf16..6ace9240f9 100644
> --- a/libavformat/whip.c
> +++ b/libavformat/wh
PR #20703 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20703
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20703.patch
This patch aims to enable rtp history store for RTX
TODO:
handle the rtx send to make rtx really work
>F
PR #20580 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20580
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20580.patch
Get and set remote addr when dtls server mode.
(Refer to url_bio_bread in tls_openssl.c)
Add tls_handshake function.
TODO:
add
PR #20579 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20579
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20579.patch
The udp buffer size might be too small to easily
be full temporarily and return WSAEWOULDBLOCK.
The udp code will handle the windows
PR #20544 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20544
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20544.patch
Refer to RFC 4588.
Add and set the basic param of RTX like
ssrc, payload_type, srtp.
Modify the SDP to add RTX info so that
the peer
PR #20482 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20482
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20482.patch
Refer to RFC 9725 4.2,
"Once a session is set up, consent freshness as per
[RFC7675] SHALL be used to detect non-graceful
disconne
PR #20464 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20464
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20464.patch
>From 042808e328443b002bd64bd6f3bcf1749e8be4a9 Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Mon, 8 Sep 2025 16:08:22 +0800
Subj
PR #20460 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20460
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20460.patch
Refer to RFC 4585 4.2,
Add SDP "a=rtcp-fb" so the peer can request rtx
through sending NACKs.
Add basic parsing for N
PR #20452 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20452
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20452.patch
This version check for whip is unnecessary.
Since several rencet patches to the configure
have already added version checks for OpenSSL
PR #20423 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20423
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20423.patch
fix issue #20407
Refer to RFC 5245 15.1,
the foundation may be any string up to 32 chars.
The old code could misread foundations as
PR #20405 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20405
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20405.patch
fix issue 20402
See RFC 8445 7.1,
The PRIORITY and ICE-CONTROLLED or ICE-CONTROLLING must be included
in a Binding request.
FFmpeg is
PR #20391 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20391
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20391.patch
Use av_gettime_relative() replace av_gettime() to get
better measure
Changed the display precision from showing only integers
to
PR #20357 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20357
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20357.patch
>From 7c533ae7404fb20a4513ef766e368300dfe3cc54 Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Thu, 28 Aug 2025 07:22:04 +0800
Subj
PR #20339 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20339
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20339.patch
Reduce nested if statements to make the code structure clearer
Signed-off-by: Jack Lau
>F
PR #20332 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20332
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20332.patch
this patch will make whip be able to get the first
rtp seq easily and compute something sequence-based
(e.g. NACK and RTX handling
PR #20318 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20318
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20318.patch
Signed-off-by: Jack Lau
>From 8f27dbfcaac61282dbe30553dbe957566dbc336d Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Sat, 23
PR #20256 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20256
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20256.patch
See RFC 5245 Section 4.3
If an agent is a lite implementation, it MUST include an "a=ice-lite"
session-level attribute in it
PR #20254 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20254
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20254.patch
>From a303893bdfb1ca740a36ba517d5780ec828ad850 Mon Sep 17 00:00:00 2001
From: Jack Lau
Date: Wed, 13 Aug 2025 10:04:33 +0800
Subj
PR #20231 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20231
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20231.patch
This patch aims to simplify the dtls handshake process
since dtls handshake use force block mode
We can just use the return code
PR #20204 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20204
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20204.patch
mark this ignore_ipv6 flag could ignore any IPv6 ICE candidate,
preventing “No route to host” errors on devices without IPv6
PR #20203 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20203
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20203.patch
This patch was split from #20030 to make the patchset smaller and easier to
review.
>From 5b2c12716051b4935b9d41b0802e6b17c592a
PR #20193 opened by Jack Lau (JackLau)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20193
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20193.patch
These patches were split from https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20030
to make the patchset smaller and easier to review
g release. I
> include TC in this email for that reason.
>
> Regards,
> Kieran Kunhya
> ___
> ffmpeg-devel mailing list
> [email protected]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above,
> On Jul 25, 2025, at 12:18, Gyan Doshi wrote:
>
>
>
> On 2025-07-25 03:29 am, Jack Lau wrote:
>> Signed-off-by: Jack Lau
>> ---
>> Changelog | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/Changelog b/Changelog
>&g
Signed-off-by: Jack Lau
---
Changelog | 1 +
1 file changed, 1 insertion(+)
diff --git a/Changelog b/Changelog
index 228029ea00..27531ad0ab 100644
--- a/Changelog
+++ b/Changelog
@@ -25,6 +25,7 @@ version :
- APV in MP4/ISOBMFF muxing and demuxing
- OpenHarmony hardware decoder/encoder
*JackLau* force-pushed the *whip* from *d0d5c8ddde* (
https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/d0d5c8dddef1c958596cb920559f3b27fb5ff4ed
) to *3d7807e03f* (
https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/3d7807e03f17fb6222d15c452978f445720549cc
).
---
View it on FFmpeg Forgejo (
https://code
This patchset mainly add NACK, RTX, DTLS active support, fix some issues and
optimize the ICE and DTLS code
This version fix issue:
* fix https://ffmpeg.org/pipermail/ffmpeg-devel/2025-July/346906.html
* fix build error when openssl is 1.1.0, log:
libavformat/tls_openssl.c: In function ‘tls_writ
> On Jul 22, 2025, at 20:43, Timo Rothenpieler wrote:
>
> On 22/07/2025 14:36, Jack Lau wrote:
>> Openssl 1.1.0 version haven't DTLS_get_data_mtu API
>> Signed-off-by: Jack Lau
>> ---
>> libavformat/tls_openssl.c | 2 +-
>> 1 file changed, 1
Signed-off-by: Jack Lau
---
Changelog | 1 +
1 file changed, 1 insertion(+)
diff --git a/Changelog b/Changelog
index 228029ea00..1c6c27919f 100644
--- a/Changelog
+++ b/Changelog
@@ -2,6 +2,7 @@ Entries are sorted chronologically from oldest to youngest
within each release,
releases are
Signed-off-by: Jack Lau
---
doc/muxers.texi| 29 ++---
doc/protocols.texi | 78 ++
2 files changed, 103 insertions(+), 4 deletions(-)
diff --git a/doc/muxers.texi b/doc/muxers.texi
index d2ee90bf33..393e606e12 100644
--- a/doc
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 236 +++---
1 file changed, 118 insertions(+), 118 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 9a8456c438..d42c5c95cf 100644
--- a/libavformat/tls_openssl.c
+++ b
Signed-off-by: Jack Lau
---
libavformat/tls.h | 2 ++
libavformat/tls_openssl.c | 24
libavformat/whip.c| 1 +
3 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/libavformat/tls.h b/libavformat/tls.h
index 157c0d0256..a11f8d6afb 100644
Openssl 1.1.0 version haven't DTLS_get_data_mtu API
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index fa852aac18..54860857c0 100644
--- a/libavformat/tls_open
Fmpeg'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
---
libavformat/whip.c | 135 +
1 file changed, 62 insertions(+), 73 deletions(-)
diff --git a/
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
---
libavformat/whip.c | 18 ++
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/libavformat
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
---
libavformat/whip.c | 3 +++
1 file changed, 3
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
---
libavformat/tls.h | 15 --
libavformat/tls_openssl.c | 7 -
libavformat/tls_schannel.c
master key plus salt.
Signed-off-by: Jack Lau
---
libavformat/whip.c | 32
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index 094d3a0a4c..e02ed7a8a4 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
Signed-off-by: Jack Lau
---
libavformat/whip.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index 5907865d22..094d3a0a4c 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
@@ -2090,13 +2090,13 @@ static int
Garcia Murillo
Signed-off-by: Jack Lau
---
libavformat/whip.c | 206 -
1 file changed, 202 insertions(+), 4 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index 4de8eb2601..5907865d22 100644
--- a/libavformat/whip.c
+++ b
From: winlin
See RFC5280 4.1.2.2
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 0a7998210f..2689aa5090 100644
--- a/libavformat/tls_openssl.c
+++ b
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
---
libavformat/whip.c | 47 --
1 file chang
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
---
libavformat/whip.c | 17 -
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/libavformat/whip.c b
Remove redundant "WHIP: " prefix in log context
since it already add whip context.
Fix grammers in whip options descriptions
Signed-off-by: Jack Lau
---
libavformat/whip.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/wh
~
3. clean up dtls code
4. add doc for whip and dtls
Jack Lau (14):
avformat/whip: add whip_flags ignore_ipv6 to skip IPv6 ICE candidates
avformat/whip: fix typos
avformat/whip: fix H264 profile_iop bit map for SDP
avformat/whip: implement NACK and RTX suppport
avformat/whip: reindent w
Fmpeg'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
---
libavformat/whip.c | 135 +
1 file changed, 62 insertions(+), 73 deletions(-)
diff --git a/
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
---
libavformat/whip.c | 18 ++
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/libavformat
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
---
libavformat/whip.c | 3 +++
1 file changed, 3
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
---
libavformat/tls.h | 15 --
libavformat/tls_openssl.c | 7 -
libavformat/tls_schannel.c
master key plus salt.
Signed-off-by: Jack Lau
---
libavformat/whip.c | 32
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index 094d3a0a4c..e02ed7a8a4 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
Signed-off-by: Jack Lau
---
libavformat/whip.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index 5907865d22..094d3a0a4c 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
@@ -2090,13 +2090,13 @@ static int
From: winlin
See RFC5280 4.1.2.2
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index a6b358d8f9..778595c721 100644
--- a/libavformat/tls_openssl.c
+++ b
Garcia Murillo
Signed-off-by: Jack Lau
---
libavformat/whip.c | 206 -
1 file changed, 202 insertions(+), 4 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index 4de8eb2601..5907865d22 100644
--- a/libavformat/whip.c
+++ b
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
---
libavformat/whip.c | 47 --
1 file chang
Remove redundant "WHIP: " prefix in log context
since it already add whip context.
Fix grammers in whip options descriptions
Signed-off-by: Jack Lau
---
libavformat/whip.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/wh
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
---
libavformat/whip.c | 17 -
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/libavformat/whip.c b
This version add DTLS active support, cleanup the ICE and DTLS code
Jack Lau (10):
avformat/whip: add whip_flags ignore_ipv6 to skip IPv6 ICE candidates
avformat/whip: fix typos
avformat/whip: fix H264 profile_iop bit map for SDP
avformat/whip: implement NACK and RTX suppport
avformat
->flags &= ~AVIO_FLAG_NONBLOCK;
+uc->flags &= ~AVIO_FLAG_NONBLOCK;
r0 = SSL_do_handshake(p->ssl);
if (r0 <= 0) {
@@ -725,7 +726,7 @@ static int dtls_handshake(URLContext *h)
p->tls_shared.state = DTLS_STATE_FINISHED;
end:
if (was_nonblock)
-h->flags |= AVIO_FLAG_NONBLOCK;
+uc->flags |= AVIO_FLAG_NONBLOCK;
return ret;
}
Thanks
Jack
___
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 344b152902..4874260b6b 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -787,7 +787,7
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 1c4d114205..344b152902 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -465,6 +465,8
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 8
1 file changed, 8 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 4f950a2fde..1c4d114205 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -731,10 +731,6 @@ static
the SSL_shutdown in tls_close need call the url_bio_bwrite
so we should keep udp still alive
Signed-off-by: Jack Lau
---
libavformat/whip.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index e272254a6f..17a3cd0ea8 100644
--- a
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 3ed4585ecf..4f950a2fde 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat/tls_openssl.c
@@ -695,7 +695,7
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 25 +
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index c824c5452b..3ed4585ecf 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 25318d5fca..c824c5452b 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat
If the handshake is still in progress, dtls_handshake should
return a status code.
init ret=AVERROR(EAGAIN) to match most of FFmpeg code
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/libavformat/tls_openssl.c b
Refer to RFC 5246, RFC 6347
Signed-off-by: Jack Lau
---
libavformat/tls.c | 56 +++
libavformat/tls.h | 2 ++
libavformat/tls_openssl.c | 8 --
3 files changed, 64 insertions(+), 2 deletions(-)
diff --git a/libavformat/tls.c b
dtls_handshake can't return positive code when it still in progressing
2. udp server mode haven't dest_addr so we need set it through last_recv_addr
3. some code cleanup
This patchset depends on Timo's latest schannel patchset
More details: https://github.com/BtbN/FFmpeg/pull/3
Jac
From: winlin
See RFC5280 4.1.2.2
Co-authored-by: Jack Lau
Signed-off-by: winlin
---
libavformat/tls_openssl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 2a01fb387d..285ea166ac 100644
--- a/libavformat
Signed-off-by: Jack Lau
---
libavformat/whip.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index d954e80830..f7eb6e1323 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
@@ -2089,13 +2089,13 @@ static int
Garcia Murillo
Signed-off-by: Jack Lau
---
libavformat/whip.c | 206 -
1 file changed, 202 insertions(+), 4 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/whip.c
index f1f8d1b4ad..d954e80830 100644
--- a/libavformat/whip.c
+++ b
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
---
libavformat/whip.c | 47 --
1 file chang
Remove redundant "WHIP: " prefix in log context
since it already add whip context.
Fix grammers in whip options descriptions
Signed-off-by: Jack Lau
---
libavformat/whip.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavformat/whip.c b/libavformat/wh
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
---
libavformat/whip.c | 17 -
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/libavformat/whip.c b
Version 3 of https://ffmpeg.org/pipermail/ffmpeg-devel/2025-July/346052.html
This patchset rebase latest commit
Jack Lau (5):
avformat/whip: add whip_flags ignore_ipv6 to skip IPv6 ICE candidates
avformat/whip: fix typos
avformat/whip: fix H264 profile_iop bit map for SDP
avformat/whip
> On Jul 11, 2025, at 23:05, Steven Liu
> wrote:
>
> Jack Lau <mailto:[email protected]>> 于2025年7月11日周五 21:22写道:
>>
>> If the handshake is still in progress, dtls_handshake should
>> return a positive status code.
>>
>
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index ffd9cd51d2..a519c8c880 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat
If udp is in server mode(init local addr and port through url),
then it maybe haven't dest_addr, so we should set it after udp_read
get the client addr and port
This feature only enable when the new udp option autodetect_dest is specified
Signed-off-by: Jack Lau
---
libavformat/udp.
If the handshake is still in progress, dtls_handshake should
return a positive status code.
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 8639ac9758
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 51 +--
1 file changed, 49 insertions(+), 2 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 2a01fb387d..8639ac9758 100644
--- a/libavformat/tls_openssl.c
+++ b
:
1. dtls_handshake can't return positive code when it still in progressing
2. udp server mode haven't dest_addr so we need set it through last_recv_addr
3. some code cleanup
This patchset depends on Timo's latest schannel patchset
More details: https://github.com/BtbN/FFmpeg/pull
> On Jul 10, 2025, at 06:16, Michael Niedermayer wrote:
>
> On Wed, Jul 09, 2025 at 09:36:26PM +0800, Jack Lau wrote:
>> Signed-off-by: Jack Lau
>> ---
>> libavformat/tls_openssl.c | 51 +--
>> 1 file changed, 49 insertio
> On Jul 9, 2025, at 22:16, Timo Rothenpieler wrote:
>
> On 09/07/2025 15:36, Jack Lau wrote:
>> If udp is in server mode(init local addr and port through url),
>> then it maybe haven't dest_addr, so we should set it after udp_read
>> get the client addr and po
> On Jul 9, 2025, at 22:14, Timo Rothenpieler wrote:
>
> On 09/07/2025 15:36, Jack Lau wrote:
>> If the handshake is still in progress, dtls_handshake should
>> return a positive status code.
>
> Shouldn't dtls_open/start also be calling it in a loop then?
&g
If udp is in server mode(init local addr and port through url),
then it maybe haven't dest_addr, so we should set it after udp_read
get the client addr and port
Signed-off-by: Jack Lau
---
libavformat/udp.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/udp.c b/libavf
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index ffd9cd51d2..a519c8c880 100644
--- a/libavformat/tls_openssl.c
+++ b/libavformat
If the handshake is still in progress, dtls_handshake should
return a positive status code.
Signed-off-by: Jack Lau
---
libavformat/tls_openssl.c | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c
index 8639ac9758
1 - 100 of 242 matches
Mail list logo