[FFmpeg-devel] [PATCH] avformat/librtmp: fix returning EOF from Read/Write
Jan Ekström
jeebjp at gmail.com
Sat Jul 28 12:48:05 EEST 2018
On Thu, Jul 26, 2018 at 1:20 PM, Timo Rothenpieler
<timo at rothenpieler.org> wrote:
> ---
> libavformat/librtmp.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/libavformat/librtmp.c b/libavformat/librtmp.c
> index f3cfa9a8e2..43013e46e0 100644
> --- a/libavformat/librtmp.c
> +++ b/libavformat/librtmp.c
> @@ -261,7 +261,10 @@ static int rtmp_write(URLContext *s, const uint8_t *buf, int size)
> LibRTMPContext *ctx = s->priv_data;
> RTMP *r = &ctx->rtmp;
>
> - return RTMP_Write(r, buf, size);
> + int ret = RTMP_Write(r, buf, size);
> + if (!ret)
> + return AVERROR_EOF;
> + return ret;
> }
>
> static int rtmp_read(URLContext *s, uint8_t *buf, int size)
> @@ -269,7 +272,10 @@ static int rtmp_read(URLContext *s, uint8_t *buf, int size)
> LibRTMPContext *ctx = s->priv_data;
> RTMP *r = &ctx->rtmp;
>
> - return RTMP_Read(r, buf, size);
> + int ret = RTMP_Read(r, buf, size);
> + if (!ret)
> + return AVERROR_EOF;
> + return ret;
> }
>
> static int rtmp_read_pause(URLContext *s, int pause)
> --
> 2.18.0
>
Cheers, these things just keep popping up it seems :) . Generally I've
done something along the lines of return ret ? ret : AVERROR_EOF; ,
but that's just a stylistic thing.
Jan
More information about the ffmpeg-devel
mailing list