rockbox/lib
Michael Giacomelli d084219b9a vorbis: refuse streams with more than two channels
Tremor is built here with CHANNELS 2: synthesis produces no PCM
for a stream with more channels, so a 5.1 file "played" as nothing
at all. It was still set up in full first, which took 416 to 880 KB
of the codec heap for the 5.1 and 7.1 files tried, and wrote one
entry per channel into arrays sized for two.

Refuse such a stream when its identification header is read. The
codec then returns an error at once, with under 8 KB of heap used.

Checked with perfsim on the Sansa Clip+ model, not on a device:
six 5.1 and 7.1 files are refused, and 13 stereo and mono files
give the same PCM hashes as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:47:12 -04:00
..
arm_support chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
fixedpoint chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
libsetjmp libsetjmp: fix unpredictable behavior warning on ARM Cortex-M 2025-04-19 11:24:01 -04:00
microtar chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
mipsunwinder chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
rbcodec vorbis: refuse streams with more than two channels 2026-10-05 20:47:12 -04:00
skin_parser skin_parser: Fix regression in 0d5afa6d 2026-07-05 19:12:25 -04:00
tlsf chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
unwarminder chore: Get rid of *all* vestigal CVS '$Id:$' tags 2026-06-01 16:01:18 -04:00
utf8proc utf8proc: Add utf8proc for normalizing UTF-8 strings 2026-03-01 08:26:00 -05:00