diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2023-01-13 00:23:09 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2023-01-26 23:31:44 +0800 |
commit | b8fca1f1f5ece5f3ca9d6db0cb72c1918ba07deb (patch) | |
tree | e4e1e010b93f99dd630ed004254503537e88c0ab /libavformat | |
parent | 1263b0a6ca8f51cebbd21568af31b37235650515 (diff) | |
download | ffmpeg-b8fca1f1f5ece5f3ca9d6db0cb72c1918ba07deb.tar.gz |
avformat/teeproto: setup max_packet_size
It's the minimum of all child protocols max_packet_size. Can be used
like this:
ffmpeg -re -i cctv.mp4 -c copy -f mpegts \
-protocol_whitelist 'tee,file,udp' \
'tee:out.ts|udp://127.0.0.1:6666?pkt_size=1316'
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/teeproto.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavformat/teeproto.c b/libavformat/teeproto.c index e532bc7750..dca97a6741 100644 --- a/libavformat/teeproto.c +++ b/libavformat/teeproto.c @@ -131,6 +131,18 @@ loop_fail: h->is_streamed |= c->child[i].url_context->is_streamed; } + h->max_packet_size = 0; + for (i = 0; i < c->child_count; i++) { + int max = c->child[i].url_context->max_packet_size; + if (!max) + continue; + + if (!h->max_packet_size) + h->max_packet_size = max; + else if (h->max_packet_size > max) + h->max_packet_size = max; + } + return 0; fail: tee_close(h); |