[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