mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-12 18:31:37 +00:00
avformat/aviobuf: don't reduce short seek threshold
Commit8c8e5d5286
added a way to reduce seek time by waiting for the windowed tcp packets instead of creating a new socket connection. It implemented this by overwriting s->short_seek_threshold in avio_seek(). However, s->short_seek_threshold could already be set and be higher than the threshold set by the protocol (i.e. s->short_seek_threshold is set in ff_configure_buffers_for_index()). This new feature was only enabled for tls connections in70d8077b79
. As in Ticket #9148 it reduced performance because instead of waiting to refill the AVIOContext buffers with an existing connections, a new HTTP request was often made instead. Fixes Ticket #9148. Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
This commit is contained in:
parent
30a69b1625
commit
9383885c0d
@ -283,13 +283,9 @@ int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
|
||||
if (offset < 0)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
if (s->short_seek_get) {
|
||||
short_seek = s->short_seek_get(s->opaque);
|
||||
/* fallback to default short seek */
|
||||
if (short_seek <= 0)
|
||||
short_seek = s->short_seek_threshold;
|
||||
} else
|
||||
short_seek = s->short_seek_threshold;
|
||||
short_seek = s->short_seek_threshold;
|
||||
if (s->short_seek_get)
|
||||
short_seek = FFMAX(s->short_seek_get(s->opaque), short_seek);
|
||||
|
||||
offset1 = offset - pos; // "offset1" is the relative offset from the beginning of s->buffer
|
||||
s->buf_ptr_max = FFMAX(s->buf_ptr_max, s->buf_ptr);
|
||||
|
Loading…
Reference in New Issue
Block a user