Hi,
On 08.04.19 17:42, edward_email wrote:
From: “Edward.Wu” <“[email protected]”>
Signed-off-by: “Edward.Wu” <“[email protected]”>
---
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
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".