[vlc-devel] [vlc-commits] stream: use same pf_read return value as access
Thomas Guillem
thomas at gllm.fr
Fri Jul 22 13:31:14 CEST 2016
On Thu, Jul 21, 2016, at 21:30, Rémi Denis-Courmont wrote:
> 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;
copy is a size_t, so this function never returns -1.
Did you mean "return ret == 0 ? -1 : copy;" ?
> }
>
> ssize_t vlc_stream_Read(stream_t *s, void *buf, size_t len)
>
> _______________________________________________
> vlc-commits mailing list
> vlc-commits at videolan.org
> https://mailman.videolan.org/listinfo/vlc-commits
More information about the vlc-devel
mailing list