avformat/matroskadec: Fix seeking
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 17 Aug 2019 00:27:51 +0000 (02:27 +0200)
committerJames Almer <jamrial@gmail.com>
Sat, 17 Aug 2019 00:37:06 +0000 (21:37 -0300)
commit299e0dff1fbc3594eca9e67e18a28331892c23fb
treeee17db2c6629120ddfbd9f4e148e4d713ae3aec0
parentc8dcda22f170a3024c34517a766ff07aa0edaa09
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>
(cherry picked from commit c294f38c91f440880ffd28fda0eeb1154431ab7e)
libavformat/matroskadec.c