This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch release/8.0
in repository ffmpeg.

commit 185d07ede12ac09cec1549aaaaba6847a08a2610
Author:     Jack Lau <[email protected]>
AuthorDate: Wed Sep 17 10:25:41 2025 +0800
Commit:     Jack Lau <[email protected]>
CommitDate: Tue Feb 10 09:32:56 2026 +0000

    avformat/whip: pass through buffer_size option to udp
    
    Signed-off-by: Jack Lau <[email protected]>
    (cherry picked from commit b3793d9941516ea8c3511ca2b7db339148e3f122)
---
 doc/muxers.texi    | 4 ++++
 libavformat/whip.c | 5 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/doc/muxers.texi b/doc/muxers.texi
index 8c45b7d47a..18c99e57b6 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -3955,6 +3955,10 @@ Default value is 5000.
 Set the maximum size, in bytes, of RTP packets that send out.
 Default value is 1500.
 
+@item buffer_size @var{integer}
+Set the buffer size, in bytes, of underlying protocol.
+Default value is -1(auto). The UDP auto selects a reasonable value.
+
 @item authorization @var{string}
 The optional Bearer token for WHIP Authorization.
 
diff --git a/libavformat/whip.c b/libavformat/whip.c
index adfbfeff7d..45e0b8b577 100644
--- a/libavformat/whip.c
+++ b/libavformat/whip.c
@@ -295,6 +295,7 @@ typedef struct WHIPContext {
      * Note that pion requires a smaller value, for example, 1200.
      */
     int pkt_size;
+    int buffer_size;/* Underlying protocol send/receive buffer size */
     /**
      * The optional Bearer token for WHIP Authorization.
      * See 
https://www.ietf.org/archive/id/draft-ietf-wish-whip-08.html#name-authentication-and-authoriz
@@ -1195,8 +1196,9 @@ static int udp_connect(AVFormatContext *s)
 
     av_dict_set_int(&opts, "connect", 1, 0);
     av_dict_set_int(&opts, "fifo_size", 0, 0);
-    /* Set the max packet size to the buffer size. */
+    /* Pass through the pkt_size and buffer_size to underling protocol */
     av_dict_set_int(&opts, "pkt_size", whip->pkt_size, 0);
+    av_dict_set_int(&opts, "buffer_size", whip->buffer_size, 0);
 
     ret = ffurl_open_whitelist(&whip->udp, url, AVIO_FLAG_WRITE, 
&s->interrupt_callback,
         &opts, s->protocol_whitelist, s->protocol_blacklist, NULL);
@@ -1898,6 +1900,7 @@ static int whip_check_bitstream(AVFormatContext *s, 
AVStream *st, const AVPacket
 static const AVOption options[] = {
     { "handshake_timeout",  "Timeout in milliseconds for ICE and DTLS 
handshake.",      OFFSET(handshake_timeout),  AV_OPT_TYPE_INT,    { .i64 = 5000 
},    -1, INT_MAX, ENC },
     { "pkt_size",           "The maximum size, in bytes, of RTP packets that 
send out", OFFSET(pkt_size),           AV_OPT_TYPE_INT,    { .i64 = 1200 },    
-1, INT_MAX, ENC },
+    { "buffer_size",        "The buffer size, in bytes, of underlying 
protocol",        OFFSET(buffer_size),        AV_OPT_TYPE_INT,    { .i64 = -1 
},      -1, INT_MAX, ENC },
     { "authorization",      "The optional Bearer token for WHIP 
Authorization",         OFFSET(authorization),      AV_OPT_TYPE_STRING, { .str 
= NULL },     0,       0, ENC },
     { "cert_file",          "The optional certificate file path for DTLS",     
         OFFSET(cert_file),          AV_OPT_TYPE_STRING, { .str = NULL },     
0,       0, ENC },
     { "key_file",           "The optional private key file path for DTLS",     
         OFFSET(key_file),      AV_OPT_TYPE_STRING, { .str = NULL },     0,     
  0, ENC },

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to