[vlc-devel] [PATCH] stream: vlc_stream_ReadRaw never returns -1

Thomas Guillem thomas at gllm.fr
Fri Jul 22 14:58:03 CEST 2016


---
 src/input/stream.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/src/input/stream.c b/src/input/stream.c
index 8a1027f..92df505 100644
--- a/src/input/stream.c
+++ b/src/input/stream.c
@@ -325,14 +325,15 @@ error:
     return NULL;
 }
 
-static ssize_t vlc_stream_ReadRaw(stream_t *s, void *buf, size_t len)
+static size_t vlc_stream_ReadRaw(stream_t *s, void *buf, size_t len)
 {
     stream_priv_t *priv = (stream_priv_t *)s;
     size_t copy = 0;
-    ssize_t ret = 0;
 
     while (len > 0)
     {
+        ssize_t ret = 0;
+
         if (vlc_killed())
             ret = 0;
         else if (s->pf_read != NULL)
@@ -422,9 +423,7 @@ ssize_t vlc_stream_Read(stream_t *s, void *buf, size_t len)
             return copy;
     }
 
-    ssize_t ret = vlc_stream_ReadRaw(s, buf, len);
-    if (ret < 0)
-        return ((copy > 0) ? (ssize_t)copy : ret);
+    size_t ret = vlc_stream_ReadRaw(s, buf, len);
     copy += ret;
     priv->offset += ret;
     priv->eof = !ret;
@@ -496,13 +495,7 @@ ssize_t vlc_stream_Peek(stream_t *s, const uint8_t **restrict bufp, size_t len)
             return 0;
         }
 
-        ssize_t ret = vlc_stream_ReadRaw(s, peek->p_buffer, len);
-        if (ret < 0)
-        {
-            block_Release(peek);
-            return ret;
-        }
-
+        size_t ret = vlc_stream_ReadRaw(s, peek->p_buffer, len);
         peek->i_buffer = ret;
         priv->peek = peek;
         return ret;
@@ -522,8 +515,7 @@ ssize_t vlc_stream_Peek(stream_t *s, const uint8_t **restrict bufp, size_t len)
 
         ret = vlc_stream_ReadRaw(s, peek->p_buffer + avail, len - avail);
         *bufp = peek->p_buffer;
-        if (ret >= 0)
-            peek->i_buffer += ret;
+        peek->i_buffer += ret;
         return peek->i_buffer;
     }
 
-- 
2.8.1



More information about the vlc-devel mailing list