]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/rtpproto.c
return ENOMEM
[ffmpeg] / libavformat / rtpproto.c
index 14850c48c1dcc8197dc86979e95e9defebc3ff2c..d1d5a924773cfbb317f9cfdbaa764baaffecae3a 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 #include "avformat.h"
+#include "avstring.h"
 
 #include <unistd.h>
 #include <stdarg.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
+#include "network.h"
+#include "os_support.h"
 #include <fcntl.h>
 
 #define RTP_TX_BUF_SIZE  (64 * 1024)
@@ -76,11 +74,11 @@ static void url_add_option(char *buf, int buf_size, const char *fmt, ...)
 
     va_start(ap, fmt);
     if (strchr(buf, '?'))
-        pstrcat(buf, buf_size, "&");
+        av_strlcat(buf, "&", buf_size);
     else
-        pstrcat(buf, buf_size, "?");
+        av_strlcat(buf, "?", buf_size);
     vsnprintf(buf1, sizeof(buf1), fmt, ap);
-    pstrcat(buf, buf_size, buf1);
+    av_strlcat(buf, buf1, buf_size);
     va_end(ap);
 }
 
@@ -92,7 +90,7 @@ static void build_udp_url(char *buf, int buf_size,
     if (local_port >= 0)
         url_add_option(buf, buf_size, "localport=%d", local_port);
     if (multicast)
-        url_add_option(buf, buf_size, "multicast=1", multicast);
+        url_add_option(buf, buf_size, "multicast=1");
     if (ttl >= 0)
         url_add_option(buf, buf_size, "ttl=%d", ttl);
 }
@@ -117,7 +115,7 @@ static int rtp_open(URLContext *h, const char *uri, int flags)
 
     s = av_mallocz(sizeof(RTPContext));
     if (!s)
-        return -ENOMEM;
+        return AVERROR(ENOMEM);
     h->priv_data = s;
 
     url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,
@@ -142,7 +140,7 @@ static int rtp_open(URLContext *h, const char *uri, int flags)
     if (url_open(&s->rtp_hd, buf, flags) < 0)
         goto fail;
     local_port = udp_get_local_port(s->rtp_hd);
-    /* XXX: need to open another connexion if the port is not even */
+    /* XXX: need to open another connection if the port is not even */
 
     /* well, should suppress localport in path */
 
@@ -166,7 +164,7 @@ static int rtp_open(URLContext *h, const char *uri, int flags)
     if (s->rtcp_hd)
         url_close(s->rtcp_hd);
     av_free(s);
-    return AVERROR_IO;
+    return AVERROR(EIO);
 }
 
 static int rtp_read(URLContext *h, uint8_t *buf, int size)
@@ -182,9 +180,10 @@ static int rtp_read(URLContext *h, uint8_t *buf, int size)
         len = recvfrom (s->rtp_fd, buf, size, 0,
                         (struct sockaddr *)&from, &from_len);
         if (len < 0) {
-            if (errno == EAGAIN || errno == EINTR)
+            if (ff_neterrno() == FF_NETERROR(EAGAIN) ||
+                ff_neterrno() == FF_NETERROR(EINTR))
                 continue;
-            return AVERROR_IO;
+            return AVERROR(EIO);
         }
         break;
     }
@@ -205,9 +204,10 @@ static int rtp_read(URLContext *h, uint8_t *buf, int size)
                 len = recvfrom (s->rtcp_fd, buf, size, 0,
                                 (struct sockaddr *)&from, &from_len);
                 if (len < 0) {
-                    if (errno == EAGAIN || errno == EINTR)
+                    if (ff_neterrno() == FF_NETERROR(EAGAIN) ||
+                        ff_neterrno() == FF_NETERROR(EINTR))
                         continue;
-                    return AVERROR_IO;
+                    return AVERROR(EIO);
                 }
                 break;
             }
@@ -217,9 +217,10 @@ static int rtp_read(URLContext *h, uint8_t *buf, int size)
                 len = recvfrom (s->rtp_fd, buf, size, 0,
                                 (struct sockaddr *)&from, &from_len);
                 if (len < 0) {
-                    if (errno == EAGAIN || errno == EINTR)
+                    if (ff_neterrno() == FF_NETERROR(EAGAIN) ||
+                        ff_neterrno() == FF_NETERROR(EINTR))
                         continue;
-                    return AVERROR_IO;
+                    return AVERROR(EIO);
                 }
                 break;
             }
@@ -266,7 +267,7 @@ static int rtp_close(URLContext *h)
 }
 
 /**
- * Return the local port used by the RTP connexion
+ * Return the local port used by the RTP connection
  * @param s1 media file context
  * @return the local port number
  */