[FFmpeg-devel] [PATCH 07/28] changed: check return value of seeks to avoid messing up current stream location
Joakim Plate
elupus
Wed Jun 30 19:22:46 CEST 2010
Reimar D?ffinger <Reimar.Doeffinger <at> gmx.de> writes:
> > pos = url_ftell(pb);
> >
> > - url_fseek(pb, offset+8, SEEK_SET);
> > + if(url_fseek(pb, pos, SEEK_SET) < 0) {
> > + av_log(s, AV_LOG_ERROR, "Failed to restore position after
reading index");
> > + return -1;
> > + }
>
> when/why does this make a difference?
By the looks of it, the error message is wrong. If the stream is not seekable
and you keep on reading the braindead index, you have changed the stream
position and can't restore it (and the braindead index you read is wrong).
While if you bail on the failed seek, you can continue parsing other things
in the stream. (This is going by memory, not looking at the surrounding code)
/Joakim
More information about the ffmpeg-devel
mailing list