]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/tcp.c
Lossless jpeg expects and uses BGRA not RGB32 (this probably caused a problem on
[ffmpeg] / libavformat / tcp.c
index b81ab93cfc374a694dcd8f6c4432b59b6f947f21..05676eb83dfac7d41ec05c9b109ed938640650b5 100644 (file)
@@ -130,7 +130,7 @@ static int tcp_read(URLContext *h, uint8_t *buf, int size)
             if (len < 0) {
                 if (ff_neterrno() != FF_NETERROR(EINTR) &&
                     ff_neterrno() != FF_NETERROR(EAGAIN))
-                    return AVERROR(errno);
+                    return AVERROR(ff_neterrno());
             } else return len;
         } else if (ret < 0) {
             return -1;
@@ -160,7 +160,7 @@ static int tcp_write(URLContext *h, uint8_t *buf, int size)
             if (len < 0) {
                 if (ff_neterrno() != FF_NETERROR(EINTR) &&
                     ff_neterrno() != FF_NETERROR(EAGAIN))
-                    return AVERROR(errno);
+                    return AVERROR(ff_neterrno());
                 continue;
             }
             size -= len;
@@ -181,6 +181,12 @@ static int tcp_close(URLContext *h)
     return 0;
 }
 
+static int tcp_get_file_handle(URLContext *h)
+{
+    TCPContext *s = h->priv_data;
+    return s->fd;
+}
+
 URLProtocol tcp_protocol = {
     "tcp",
     tcp_open,
@@ -188,4 +194,5 @@ URLProtocol tcp_protocol = {
     tcp_write,
     NULL, /* seek */
     tcp_close,
+    .url_get_file_handle = tcp_get_file_handle,
 };