mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 03:28:27 +00:00
avformat/avio: move short seek threshold to the context
This allows us to adjust it internally. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
70af8a5efb
commit
4e640f0560
@ -196,6 +196,12 @@ typedef struct AVIOContext {
|
|||||||
* This field is internal to libavformat and access from outside is not allowed.
|
* This field is internal to libavformat and access from outside is not allowed.
|
||||||
*/
|
*/
|
||||||
int orig_buffer_size;
|
int orig_buffer_size;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Threshold to favor readahead over seek.
|
||||||
|
* This is current internal only, do not use from outside.
|
||||||
|
*/
|
||||||
|
int short_seek_threshold;
|
||||||
} AVIOContext;
|
} AVIOContext;
|
||||||
|
|
||||||
/* unbuffered I/O */
|
/* unbuffered I/O */
|
||||||
|
@ -97,6 +97,7 @@ int ffio_init_context(AVIOContext *s,
|
|||||||
s->seekable = seek ? AVIO_SEEKABLE_NORMAL : 0;
|
s->seekable = seek ? AVIO_SEEKABLE_NORMAL : 0;
|
||||||
s->max_packet_size = 0;
|
s->max_packet_size = 0;
|
||||||
s->update_checksum = NULL;
|
s->update_checksum = NULL;
|
||||||
|
s->short_seek_threshold = SHORT_SEEK_THRESHOLD;
|
||||||
|
|
||||||
if (!read_packet && !write_flag) {
|
if (!read_packet && !write_flag) {
|
||||||
s->pos = buffer_size;
|
s->pos = buffer_size;
|
||||||
@ -232,7 +233,7 @@ int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
|
|||||||
/* can do the seek inside the buffer */
|
/* can do the seek inside the buffer */
|
||||||
s->buf_ptr = s->buffer + offset1;
|
s->buf_ptr = s->buffer + offset1;
|
||||||
} else if ((!s->seekable ||
|
} else if ((!s->seekable ||
|
||||||
offset1 <= s->buf_end + SHORT_SEEK_THRESHOLD - s->buffer) &&
|
offset1 <= s->buf_end + s->short_seek_threshold - s->buffer) &&
|
||||||
!s->write_flag && offset1 >= 0 &&
|
!s->write_flag && offset1 >= 0 &&
|
||||||
(!s->direct || !s->seek) &&
|
(!s->direct || !s->seek) &&
|
||||||
(whence != SEEK_END || force)) {
|
(whence != SEEK_END || force)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user