]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/file.c
Merge commit '7295b7373862ee54903b33d6ef3335531dfa93ad'
[ffmpeg] / libavformat / file.c
index 264542a36a7dd05173b6de1ce2cd1af0d5900510..1d321c42050e31588a411583c4f9578254460ac0 100644 (file)
@@ -112,6 +112,8 @@ static int file_read(URLContext *h, unsigned char *buf, int size)
     ret = read(c->fd, buf, size);
     if (ret == 0 && c->follow)
         return AVERROR(EAGAIN);
+    if (ret == 0)
+        return AVERROR_EOF;
     return (ret == -1) ? AVERROR(errno) : ret;
 }
 
@@ -227,6 +229,11 @@ static int file_open(URLContext *h, const char *filename, int flags)
 
     h->is_streamed = !fstat(fd, &st) && S_ISFIFO(st.st_mode);
 
+    /* Buffer writes more than the default 32k to improve throughput especially
+     * with networked file systems */
+    if (!h->is_streamed && flags & AVIO_FLAG_WRITE)
+        h->min_packet_size = h->max_packet_size = 262144;
+
     return 0;
 }