@@ -534,7 +534,6 @@ void avio_write_marker(AVIOContext *s, int64_t time, enum AVIODataMarkerType typ
* Passing this flag as the "whence" parameter to a seek function causes it to
* seek by any means (like reopening and linear reading) or other normally unreasonable
* means that can be extremely slow.
- * This may be ignored by the seek code.
*/
#define AVSEEK_FORCE 0x20000
@@ -286,8 +286,7 @@ int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
} else if ((!(s->seekable & AVIO_SEEKABLE_NORMAL) ||
offset1 <= buffer_size + short_seek) &&
!s->write_flag && offset1 >= 0 &&
- (!s->direct || !s->seek) &&
- (whence != SEEK_END || force)) {
+ (!s->direct || !s->seek) || force) {
while(s->pos < offset && !s->eof_reached)
fill_buffer(s);
if (s->eof_reached)