]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/rtpproto.c
Add a lowercase parameter to ff_data_to_hex
[ffmpeg] / libavformat / rtpproto.c
index 06bd8bf1ae881132124a3e8324374f23e03fb90f..35bbc186361d38049b6c0cb0d5b622e1e2e7d745 100644 (file)
 
 #include <unistd.h>
 #include <stdarg.h>
+#include "internal.h"
 #include "network.h"
 #include "os_support.h"
 #include <fcntl.h>
 #if HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #endif
+#include <sys/time.h>
 
 #define RTP_TX_BUF_SIZE  (64 * 1024)
 #define RTP_RX_BUF_SIZE  (128 * 1024)
@@ -64,13 +66,13 @@ int rtp_set_remote_url(URLContext *h, const char *uri)
     char buf[1024];
     char path[1024];
 
-    url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
-              path, sizeof(path), uri);
+    ff_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
+                 path, sizeof(path), uri);
 
-    snprintf(buf, sizeof(buf), "udp://%s:%d%s", hostname, port, path);
+    ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port, "%s", path);
     udp_set_remote_url(s->rtp_hd, buf);
 
-    snprintf(buf, sizeof(buf), "udp://%s:%d%s", hostname, port + 1, path);
+    ff_url_join(buf, sizeof(buf), "udp", NULL, hostname, port + 1, "%s", path);
     udp_set_remote_url(s->rtcp_hd, buf);
     return 0;
 }
@@ -101,7 +103,7 @@ static void build_udp_url(char *buf, int buf_size,
                           int local_port, int ttl,
                           int max_packet_size)
 {
-    snprintf(buf, buf_size, "udp://%s:%d", hostname, port);
+    ff_url_join(buf, buf_size, "udp", NULL, hostname, port, NULL);
     if (local_port >= 0)
         url_add_option(buf, buf_size, "localport=%d", local_port);
     if (ttl >= 0)
@@ -134,8 +136,8 @@ static int rtp_open(URLContext *h, const char *uri, int flags)
         return AVERROR(ENOMEM);
     h->priv_data = s;
 
-    url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
-              path, sizeof(path), uri);
+    ff_url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
+                 path, sizeof(path), uri);
     /* extract parameters */
     ttl = -1;
     local_port = -1;
@@ -248,6 +250,8 @@ static int rtp_read(URLContext *h, uint8_t *buf, int size)
                 }
                 break;
             }
+        } else if (n < 0) {
+            return AVERROR(EIO);
         }
     }
 #endif