Hi,
On 08.04.19 17:42, edward_email wrote:
From: “Edward.Wu” <“edward_em...@126.com”> Signed-off-by: “Edward.Wu” <“edward_em...@126.com”> --- libavformat/udp.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/libavformat/udp.c b/libavformat/udp.c index cf73d331e0..7563b671fe 100644 --- a/libavformat/udp.c +++ b/libavformat/udp.c @@ -73,6 +73,7 @@ #define UDP_TX_BUF_SIZE 32768 #define UDP_MAX_PKT_SIZE 65536 #define UDP_HEADER_SIZE 8 +#define UDP_PACKET_MAX 1472
Could you explain how you calculate this value and why it generally valid in this case?
typedef struct UDPContext { const AVClass *class; @@ -81,6 +82,9 @@ typedef struct UDPContext { int udplite_coverage; int buffer_size; int pkt_size; + int send_pkt_size; + uint8_t send_pkt_buf[UDP_PACKET_MAX]; + int cur_send_pkt_len; int is_multicast; int is_broadcast; int local_port; @@ -125,6 +129,7 @@ static const AVOption options[] = { { "localaddr", "Local address", OFFSET(localaddr), AV_OPT_TYPE_STRING, { .str = NULL }, .flags = D|E }, { "udplite_coverage", "choose UDPLite head size which should be validated by checksum", OFFSET(udplite_coverage), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, D|E }, { "pkt_size", "Maximum UDP packet size", OFFSET(pkt_size), AV_OPT_TYPE_INT, { .i64 = 1472 }, -1, INT_MAX, .flags = D|E }, + { "send_pkt_size", "Send UDP packet size, ts over ip must be 1316", OFFSET(send_pkt_size), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, 1472, .flags = D|E },
I assume ts means "MPEG-TS": why does it need to be 7 times an MPEG-TS packet? Why not 6 times or less? What about jumbo packets which exceeds the size of an 1500 MTU and are definitely possible under defined circumstances? Best regards, Thomas. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".