Andreas Rheinhardt
2ff687c17f
avformat/matroskadec: Fix lzo decompression
...
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 935ec5a1.
A FATE-test for this has been added.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-12-28 22:40:13 -03:00
..
2019-05-08 13:02:30 -03:00
2019-12-21 11:57:28 -03:00
2019-09-25 17:18:37 +02:00
2019-09-25 17:18:37 +02:00
2019-11-29 18:58:42 -03:00
2019-05-08 13:02:30 -03:00
2019-12-21 11:57:28 -03:00
2019-10-17 13:17:18 +02:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-12-13 10:58:10 -03:00
2019-08-23 22:49:01 +02:00
2019-03-14 14:59:45 -03:00
2019-12-21 11:57:28 -03:00
2019-12-21 11:57:28 -03:00
2019-12-21 11:57:28 -03:00
2019-09-05 23:23:24 +05:30
2019-11-11 14:51:09 +01:00
2019-11-11 14:51:09 +01:00
2019-09-08 16:48:28 +02:00
2019-10-30 18:09:00 +01:00
2019-08-17 17:15:19 +02:00
2019-02-19 21:29:03 +01:00
2019-05-14 12:06:26 +02:00
2019-05-14 12:06:26 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2018-12-14 11:26:30 +01:00
2018-12-14 11:26:30 +01:00
2018-12-14 11:26:30 +01:00
2018-12-14 11:26:30 +01:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2018-12-14 11:26:30 +01:00
2019-09-26 16:59:14 +02:00
2019-09-26 16:59:14 +02:00
2019-08-30 22:41:07 +02:00
2019-08-30 22:41:07 +02:00
2019-12-28 14:01:15 +01:00
2019-12-28 14:01:15 +01:00
2019-12-28 14:01:15 +01:00
2019-12-28 14:01:15 +01:00
2019-12-28 14:01:15 +01:00
2019-12-28 14:01:15 +01:00
2019-12-28 21:51:40 +01:00
2019-12-05 20:20:05 +01:00
2019-12-05 20:20:05 +01:00
2019-12-05 20:20:05 +01:00
2019-12-05 20:20:05 +01:00
2019-12-05 20:20:05 +01:00
2019-08-17 17:33:16 +02:00
2019-08-17 17:33:16 +02:00
2018-12-13 19:30:39 +01:00
2019-08-17 17:33:16 +02:00
2019-08-17 17:33:16 +02:00
2019-08-17 17:33:16 +02:00
2019-12-21 11:57:28 -03:00
2019-12-21 11:57:28 -03:00
2019-10-12 14:36:15 +02:00
2019-10-12 14:36:15 +02:00
2019-10-12 14:36:15 +02:00
2019-10-12 14:36:15 +02:00
2019-12-17 14:12:40 -03:00
2019-04-05 14:16:52 +01:00
2019-07-15 21:57:43 +08:00
2019-07-11 09:37:29 +08:00
2019-07-11 09:39:44 +08:00
2019-08-01 19:25:29 +08:00
2019-04-19 06:14:03 +08:00
2019-04-22 23:24:42 +08:00
2019-04-22 23:24:42 +08:00
2019-12-08 18:20:53 -03:00
2019-12-28 22:40:13 -03:00
2019-12-28 22:40:13 -03:00
2019-12-07 12:36:21 -03:00
2019-12-04 22:52:01 -03:00
2019-12-07 23:11:55 -03:00
2019-08-13 10:46:20 +08:00
2019-12-21 11:57:28 -03:00
2019-08-24 09:33:44 +02:00
2019-09-19 21:30:54 +02:00
2019-03-13 12:39:51 +01:00
2019-03-13 12:39:51 +01:00
2019-04-14 21:54:35 +02:00
2019-04-14 21:54:35 +02:00
2019-04-14 21:54:35 +02:00
2019-03-13 12:39:51 +01:00
2019-06-12 12:01:32 +02:00
2019-12-27 21:52:21 +01:00
2019-05-12 07:51:02 -07:00
2018-12-02 12:55:57 +01:00
2018-12-02 12:55:57 +01:00
2019-12-21 11:57:28 -03:00
2018-12-02 12:55:57 +01:00
2018-12-02 12:55:57 +01:00
2019-08-27 15:10:03 -03:00
2019-03-04 13:03:34 +01:00
2019-05-08 13:02:30 -03:00
2019-10-16 18:37:29 +02:00
2019-02-20 21:15:07 +01:00
2019-12-27 12:38:08 +01:00
2019-08-29 15:14:32 +02:00
2019-05-12 07:51:02 -07:00
2018-12-02 14:17:53 +01:00
2018-11-12 19:13:36 +08:00
2019-06-12 20:06:20 +10:00
2019-09-11 22:36:33 +02:00
2019-01-26 23:49:09 +11:00
2019-01-26 23:49:09 +11:00
2019-01-26 23:49:04 +11:00
2019-01-26 23:48:59 +11:00
2019-01-26 23:49:04 +11:00