X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Faviobuf.c;h=ff850813e67c11ebffe4b76ad3d9a9ec665626fc;hb=a4d76faf45cf1ec7d39d62b4707260e211a932c7;hp=dfefe62ecdc7d322b51eddc6a9aef129032b79f5;hpb=63b0356274bc496c486cbedcb563302c36996024;p=ffmpeg diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index dfefe62ecdc..ff850813e67 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -813,6 +813,7 @@ int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size) int max_buffer_size = s->max_packet_size ? s->max_packet_size : IO_BUFFER_SIZE; int filled = s->buf_end - s->buffer; + ptrdiff_t checksum_ptr_offset = s->checksum_ptr ? s->checksum_ptr - s->buffer : -1; buf_size += s->buf_ptr - s->buffer + max_buffer_size; @@ -830,6 +831,8 @@ int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size) s->buf_end = buffer + (s->buf_end - s->buffer); s->buffer = buffer; s->buffer_size = buf_size; + if (checksum_ptr_offset >= 0) + s->checksum_ptr = s->buffer + checksum_ptr_offset; return 0; }