[FFmpeg-devel] [PATCH] avformat/matroskadec: Fix seeking
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Sat Aug 17 03:27:51 EEST 2019
matroska_reset_status (a function that is used during seeking (among
other things)) used an int for the return value of avio_seek which
returns an int64_t. Checking the return value then indicated an error
even though the seek was successfull for targets in the range of
2GB-4GB, 6GB-8GB, ... This error implied that the status hasn't been
reset and in particular, the old level was still considered to be in
force, so that ebml_parse returned errors because the newly parsed
elements were of course not contained in the previously active and still
wrongly considered active master element any more.
Addresses ticket #8084.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
libavformat/matroskadec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 4e20f15792..1ea9b807e6 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -757,7 +757,7 @@ static int matroska_reset_status(MatroskaDemuxContext *matroska,
uint32_t id, int64_t position)
{
if (position >= 0) {
- int err = avio_seek(matroska->ctx->pb, position, SEEK_SET);
+ int64_t err = avio_seek(matroska->ctx->pb, position, SEEK_SET);
if (err < 0)
return err;
}
--
2.21.0
More information about the ffmpeg-devel
mailing list