[FFmpeg-cvslog] libavformat/rtsp: pkt_size option is not honored in rtsp

Yubo Xie git at videolan.org
Wed Apr 27 15:55:21 EEST 2022


ffmpeg | branch: master | Yubo Xie <xyb at xyb.name> | Wed Apr  6 12:52:38 2022 +0000| [7795f045a06fe95c3af95f70928088443747c85d] | committer: Zhao Zhili

libavformat/rtsp: pkt_size option is not honored in rtsp

Signed-off-by: xyb <xyb at xyb.name>
Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7795f045a06fe95c3af95f70928088443747c85d
---

 libavformat/rtsp.c    | 4 ++--
 libavformat/rtsp.h    | 1 -
 libavformat/rtspenc.c | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index e22b744535..88e9ef5226 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -77,7 +77,7 @@
 #define COMMON_OPTS() \
     { "reorder_queue_size", "set number of packets to buffer for handling of reordered packets", OFFSET(reordering_queue_size), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, DEC }, \
     { "buffer_size",        "Underlying protocol send/receive buffer size",                  OFFSET(buffer_size),           AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, DEC|ENC }, \
-    { "pkt_size",           "Underlying protocol send packet size",                          OFFSET(pkt_size),              AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, ENC } \
+    { "pkt_size",           "Underlying protocol send packet size",                          OFFSET(pkt_size),              AV_OPT_TYPE_INT, { .i64 = 1472 }, -1, INT_MAX, ENC } \
 
 
 const AVOption ff_rtsp_options[] = {
@@ -843,7 +843,7 @@ int ff_rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
     if (CONFIG_RTSP_MUXER && s->oformat && st) {
         int ret = ff_rtp_chain_mux_open((AVFormatContext **)&rtsp_st->transport_priv,
                                         s, st, rtsp_st->rtp_handle,
-                                        RTSP_TCP_MAX_PACKET_SIZE,
+                                        rt->pkt_size,
                                         rtsp_st->stream_index);
         /* Ownership of rtp_handle is passed to the rtp mux context */
         rtsp_st->rtp_handle = NULL;
diff --git a/libavformat/rtsp.h b/libavformat/rtsp.h
index 3133bf61c1..6e500fd56a 100644
--- a/libavformat/rtsp.h
+++ b/libavformat/rtsp.h
@@ -74,7 +74,6 @@ enum RTSPControlTransport {
 #define RTSP_DEFAULT_PORT   554
 #define RTSPS_DEFAULT_PORT  322
 #define RTSP_MAX_TRANSPORTS 8
-#define RTSP_TCP_MAX_PACKET_SIZE 1472
 #define RTSP_DEFAULT_AUDIO_SAMPLERATE 44100
 #define RTSP_RTP_PORT_MIN 5000
 #define RTSP_RTP_PORT_MAX 65000
diff --git a/libavformat/rtspenc.c b/libavformat/rtspenc.c
index 2a00b3e18d..5c7e0b4e8b 100644
--- a/libavformat/rtspenc.c
+++ b/libavformat/rtspenc.c
@@ -174,7 +174,7 @@ int ff_rtsp_tcp_write_packet(AVFormatContext *s, RTSPStream *rtsp_st)
         size -= packet_len;
     }
     av_free(buf);
-    return ffio_open_dyn_packet_buf(&rtpctx->pb, RTSP_TCP_MAX_PACKET_SIZE);
+    return ffio_open_dyn_packet_buf(&rtpctx->pb, rt->pkt_size);
 }
 
 static int rtsp_write_packet(AVFormatContext *s, AVPacket *pkt)



More information about the ffmpeg-cvslog mailing list