Mercurial > libavformat.hg
changeset 1747:fa70e732d2db libavformat
Fix misbehaviour in url_fseek() when seeking fails.
The return value of the seek function is -1 on error, not -EPIPE (the return value in url_seek() if no seek function pointer is set)
Patch by Ronald S. Bultje % rbultje A ronald P bitfreak P net %
Original thread:
date: Dec 31, 2006 9:25 PM
subject: [Ffmpeg-devel] Re: [PATCH] file length handling
author | gpoirier |
---|---|
date | Tue, 30 Jan 2007 10:48:39 +0000 |
parents | 2649c0a9c037 |
children | 181594c4f729 |
files | aviobuf.c |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/aviobuf.c Tue Jan 30 10:37:52 2007 +0000 +++ b/aviobuf.c Tue Jan 30 10:48:39 2007 +0000 @@ -136,6 +136,8 @@ fill_buffer(s); s->buf_ptr = s->buf_end + offset - s->pos; } else { + offset_t res = -EPIPE; + #if defined(CONFIG_MUXERS) || defined(CONFIG_NETWORK) if (s->write_flag) { flush_buffer(s); @@ -146,8 +148,8 @@ s->buf_end = s->buffer; } s->buf_ptr = s->buffer; - if (!s->seek || s->seek(s->opaque, offset, SEEK_SET) == (offset_t)-EPIPE) - return -EPIPE; + if (!s->seek || (res = s->seek(s->opaque, offset, SEEK_SET)) < 0) + return res; s->pos = offset; } s->eof_reached = 0;