variable UDP packet size patch by Max Krasnyansky
authorMax Krasnyansky <maxk@qualcomm.com>
Sun, 9 Feb 2003 18:06:23 +0000 (18:06 +0000)
committerFabrice Bellard <fabrice@bellard.org>
Sun, 9 Feb 2003 18:06:23 +0000 (18:06 +0000)
Originally committed as revision 1565 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/udp.c

index 3d159ef..f28bdca 100644 (file)
@@ -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
  * 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
  *
  * @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;
     char buf[256];
 
     h->is_streamed = 1;
+    h->max_packet_size = 1472;
 
     is_output = (flags & URL_WRONLY);
     
 
     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), "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 */
     }
 
     /* fill the dest addr */
@@ -191,7 +196,6 @@ static int udp_open(URLContext *h, const char *uri, int flags)
     }
 
     s->udp_fd = udp_fd;
     }
 
     s->udp_fd = udp_fd;
-    h->max_packet_size = 1472; /* XXX: probe it ? */
     return 0;
  fail:
     if (udp_fd >= 0)
     return 0;
  fail:
     if (udp_fd >= 0)