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
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@7766
9553f0bf-9b14-0410-a0b8-
cfaf0461ba5b
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);
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;