diff options
author | Michael Giacomelli <giac2000@hotmail.com> | 2014-11-28 22:25:23 +0100 |
---|---|---|
committer | Michael Giacomelli <giac2000@hotmail.com> | 2014-11-28 22:30:05 +0100 |
commit | aa2c55e1057c0c220a1eb37c99d2c251bfe850ab (patch) | |
tree | 0e69f0d611b2d343a9545719fda5913ef69747a4 /lib/rbcodec/codecs/libasf/asf.h | |
parent | 0cd9e4e6bc9e485bb527ccd5bdfe7ce74445949d (diff) | |
download | rockbox-aa2c55e1057c0c220a1eb37c99d2c251bfe850ab.tar.gz rockbox-aa2c55e1057c0c220a1eb37c99d2c251bfe850ab.zip |
Fix FS#13009.
This file revealed several problems with our ASF parser:
1) The packet count in the ASF was actually a 64 bit value,
leading to overflow in very long files.
2) Seeking blindly trusted the bitrate listed in the ASF header
rather than computing it from the packet size and number of packets.
Fix these problems and fix a few minor issues.
Change-Id: Ie0f68734e6423e837757528ddb155f3bdcc979f3
Diffstat (limited to 'lib/rbcodec/codecs/libasf/asf.h')
-rw-r--r-- | lib/rbcodec/codecs/libasf/asf.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/rbcodec/codecs/libasf/asf.h b/lib/rbcodec/codecs/libasf/asf.h index a7d384cf3d..2398a44eab 100644 --- a/lib/rbcodec/codecs/libasf/asf.h +++ b/lib/rbcodec/codecs/libasf/asf.h | |||
@@ -33,7 +33,7 @@ struct asf_waveformatex_s { | |||
33 | uint16_t blockalign; | 33 | uint16_t blockalign; |
34 | uint16_t bitspersample; | 34 | uint16_t bitspersample; |
35 | uint16_t datalen; | 35 | uint16_t datalen; |
36 | uint16_t numpackets; | 36 | uint64_t numpackets; |
37 | uint8_t data[46]; | 37 | uint8_t data[46]; |
38 | }; | 38 | }; |
39 | typedef struct asf_waveformatex_s asf_waveformatex_t; | 39 | typedef struct asf_waveformatex_s asf_waveformatex_t; |