summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2021-06-12 21:06:55 -0400
committerSolomon Peachy <pizza@shaftnet.org>2021-06-13 12:13:03 -0400
commit756c0d2ac82515ea8389c69f5f87ca395daca63d (patch)
treeb835234ad7c6a084c4bda5c9d2db10bd0750c5d8 /firmware
parentc067b344e8da0c9b6a9b785100661f598f64a5d3 (diff)
downloadrockbox-756c0d2ac82515ea8389c69f5f87ca395daca63d.tar.gz
rockbox-756c0d2ac82515ea8389c69f5f87ca395daca63d.zip
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
Diffstat (limited to 'firmware')
0 files changed, 0 insertions, 0 deletions