From 9899efb41a5a132a20a3c46ac97418a66e1a119c Mon Sep 17 00:00:00 2001
From: Max Krasnyansky <maxk@qualcomm.com>
Date: Sun, 9 Feb 2003 18:06:23 +0000
Subject: [PATCH] variable UDP packet size patch by Max Krasnyansky

Originally committed as revision 1565 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/udp.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/udp.c b/libavformat/udp.c
index 3d159ef4f80..f28bdcaa4c2 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -48,6 +48,7 @@ typedef struct {
  * option: 'multicast=1' : enable multicast 
  *         'ttl=n'       : set the ttl value (for multicast only)
  *         'localport=n' : set the local port
+ *         'pkt_size=n'  : set max packet size
  *
  * @param s1 media file context
  * @param uri of the remote server
@@ -104,6 +105,7 @@ static int udp_open(URLContext *h, const char *uri, int flags)
     char buf[256];
 
     h->is_streamed = 1;
+    h->max_packet_size = 1472;
 
     is_output = (flags & URL_WRONLY);
     
@@ -123,6 +125,9 @@ static int udp_open(URLContext *h, const char *uri, int flags)
         if (find_info_tag(buf, sizeof(buf), "localport", p)) {
             s->local_port = strtol(buf, NULL, 10);
         }
+        if (find_info_tag(buf, sizeof(buf), "pkt_size", p)) {
+            h->max_packet_size = strtol(buf, NULL, 10);
+        }
     }
 
     /* fill the dest addr */
@@ -191,7 +196,6 @@ static int udp_open(URLContext *h, const char *uri, int flags)
     }
 
     s->udp_fd = udp_fd;
-    h->max_packet_size = 1472; /* XXX: probe it ? */
     return 0;
  fail:
     if (udp_fd >= 0)
-- 
GitLab