rockbox/lib
Solomon Peachy 756c0d2ac8 FS#13299: Simplify VBR frame parsing in the metadata decoder.
The old code would seek forward by the frame length, expecting to see a
frame header there, perform a validity check, and then seek back to the
current header.

Unfortunately this doesn't handle situations where there is extra padding
between the frames, leading us to potentially read garbage, causing the
validity tests to fail and rejecting the file outright.

Instead, keep track of the previous valid header/position, and if we find
"valid" headers in a row return the first after seeking back to it.

This change allows the file referenced in FS13299 to be properly parsed, but
further work is needed to get the file to be playable.  (file reports itself
as layer 1, variable bit rate, variable sample rate!)

Change-Id: I85f61a6360cc041a172db4b7a6b5516e5b60ceee
2021-06-13 12:13:03 -04:00
..
arm_support ARM support: provide compiler a better popcount function 2017-09-07 15:45:55 -04:00
fixedpoint Undo hacks to meant to get around string formatting limitations 2017-11-21 05:01:14 -05:00
libsetjmp [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
microtar Add microtar library (for use by M3K bootloader) 2021-05-12 11:30:13 +01:00
rbcodec FS#13299: Simplify VBR frame parsing in the metadata decoder. 2021-06-13 12:13:03 -04:00
skin_parser skin_parser: Modernize Makefile. 2020-09-04 19:13:54 +02:00
tlsf Fix non aligned crashes with tlsf 2019-07-27 14:30:45 +02:00
unwarminder Initial commit for the Sony NWZ linux port 2017-09-05 21:42:12 +02:00