On Mon, May 28, 2018, 03:21 Jan Ekström <jee...@gmail.com> wrote: > Yet another case of forgotten 0 =! EOF translation. > > While the documentation for this specific synchronous read > function does not mention it, the documentation for > `sftp_async_read` documents it, as well as looking at the > implementation of this function leads one to find > `if (handle->eof) { return 0; }`. > > Reported by stnutt on IRC. > --- > libavformat/libssh.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavformat/libssh.c b/libavformat/libssh.c > index 9e3d4da45e..21474f0f0a 100644 > --- a/libavformat/libssh.c > +++ b/libavformat/libssh.c > @@ -295,7 +295,7 @@ static int libssh_read(URLContext *h, unsigned char > *buf, int size) > av_log(libssh, AV_LOG_ERROR, "Read error.\n"); > return AVERROR(EIO); > } > - return bytes_read; > + return bytes_read ? bytes_read : AVERROR_EOF; > } > > static int libssh_write(URLContext *h, const unsigned char *buf, int size) > -- > 2.17.0 >
During the time while I was sleeping I got a confirnation from the user that this indeed fixes the issues with seeming freezing+constant cpu usage with the sftp protocol. In other words, if this looks OK to people, feel free to merge while I'm at work and back-port to release/4.0 Jan > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel