mirror of
https://github.com/librempeg/librempeg
synced 2024-11-23 11:39:47 +00:00
avformat/matroskadec: Fix seeking
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@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
ddd92ba2c6
commit
c294f38c91
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user