[vlc-commits] stream: use same pf_read return value as access

Rémi Denis-Courmont git at videolan.org
Thu Jul 21 21:30:18 CEST 2016


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Thu Jul 21 21:48:45 2016 +0300| [e77eb3bdb2269c6e085b98cb050918a764dd9b52] | committer: Rémi Denis-Courmont

stream: use same pf_read return value as access

Accesses return -1 to try again; stream filters returned -1 for fatal
errors. This switches stream filters to 0 for fatal errors.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e77eb3bdb2269c6e085b98cb050918a764dd9b52
---

 modules/stream_filter/prefetch.c |    2 +-
 src/input/stream.c               |   16 +++++++---------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/modules/stream_filter/prefetch.c b/modules/stream_filter/prefetch.c
index be2820e..d0f877c 100644
--- a/modules/stream_filter/prefetch.c
+++ b/modules/stream_filter/prefetch.c
@@ -330,7 +330,7 @@ static ssize_t Read(stream_t *stream, void *buf, size_t buflen)
         if (sys->error)
         {
             vlc_mutex_unlock(&sys->lock);
-            return -1;
+            return 0;
         }
 
         vlc_interrupt_forward_start(sys->interrupt, data);
diff --git a/src/input/stream.c b/src/input/stream.c
index cd61196..78b025f 100644
--- a/src/input/stream.c
+++ b/src/input/stream.c
@@ -333,12 +333,8 @@ static ssize_t vlc_stream_ReadRaw(stream_t *s, void *buf, size_t len)
     while (len > 0)
     {
         if (vlc_killed())
-        {
-            ret = -1;
-            break;
-        }
-
-        if (s->pf_read != NULL)
+            ret = 0;
+        else if (s->pf_read != NULL)
         {
             assert(priv->block == NULL);
             ret = s->pf_read(s, buf, len);
@@ -375,10 +371,12 @@ static ssize_t vlc_stream_ReadRaw(stream_t *s, void *buf, size_t len)
             }
         }
         else
-            ret = -1;
+            ret = 0;
 
-        if (ret <= 0)
+        if (ret == 0)
             break;
+        if (ret < 0)
+            continue;
 
         assert((size_t)ret <= len);
         if (buf != NULL)
@@ -387,7 +385,7 @@ static ssize_t vlc_stream_ReadRaw(stream_t *s, void *buf, size_t len)
         copy += ret;
     }
 
-    return (copy > 0) ? (ssize_t)copy : ret;
+    return copy;
 }
 
 ssize_t vlc_stream_Read(stream_t *s, void *buf, size_t len)



More information about the vlc-commits mailing list