Vendo que a Adobe fechou o bug como "funcionando conforme o esperado" (que é simplesmente idiota), eu decidi consertar sozinho.
Veja o resultado: StopBraindeadSurround (código-fonte aberto, Licença WTFPL )
Para instalar, basta copiar audioses.dll
no diretório do seu player Flash (geralmente C:\Windows\SysWOW64\Macromed\Flash
se você estiver usando o Windows de 64 bits). Talvez seja necessário copiá-lo novamente após as atualizações do Flash Player.
Aqui está um extrato do README:
If you are using Flash Player with a surround sound system (e.g. 5.1, 7.1), you might have noticed that Flash exhibits a strange behavior when playing audio streams: instead of just passing the stereo audio stream untouched like any sane program would do, it upmixes it to 5.1, duplicating the audio streams to the rear speakers and applying its own bass management to the LFE channel.
This is of course insanely stupid for a number of reasons. First of all it is inconsistent with all other software out there (e.g. audio players such as foobar2000). Second, stereo streams are not supposed to be "expanded" when played on a 5.1 stream, as they were never meant to be played back using rear speakers. Third, it results in excessive bass output because acoustic summation typically results in higher sound pressure at the listening position in the lower portion of the spectrum. And finally, if the user really wants upmixing despite all these issues, most audio drivers allow him to do that at the system level anyway, which makes much more sense than doing it at the application level.
This little piece of software (SBS: StopBraindeadSurround) is specifically designed to prevent Flash Player from upmixing audio. Once installed, it prevents Flash Player from opening the audio device with more than 2 channels, thus forcing it to fall back to (hopefully) untouched stereo output.
Os interessados na implementação encontrarão uma descrição de como ela funciona no código-fonte ( sbs.cpp
).