mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-02-16 03:20:25 +00:00
When a Matroska Block is only stored in compressed form, the size of
the uncompressed block is not explicitly coded and therefore not known
before decompressing it. Therefore the demuxer uses a guess for the
uncompressed size: The first guess is three times the compressed size
and if this is not enough, it is repeatedly incremented by a factor of
three. But when this happens with lzo, the decompression is neither
resumed nor started again. Instead when av_lzo1x_decode indicates that x
bytes of input data could not be decoded, because the output buffer is
already full, the first (not the last) x bytes of the input buffer are
resent for decoding in the next try; they overwrite already decoded
data.
This commit fixes this by instead restarting the decompression anew,
just with a bigger buffer.
This seems to be a regression since
|
||
|---|---|---|
| .. | ||
| acodec | ||
| fate | ||
| lavf | ||
| lavf-fate | ||
| pixfmt | ||
| seek | ||
| vsynth | ||
| vsynth1 | ||
| vsynth_lena | ||