#133: ALSA's SND_PCM_FORMAT_U16_BE (and LE) not supported, Allegro fails to initialize sound ----------------------------+----------------------------------------------- Reporter: izm | Owner: lennart Type: defect | Status: assigned Priority: normal | Milestone: Component: module-alsa-* | Severity: normal Resolution: | Keywords: allegro alsa format snd_pcm_format ----------------------------+----------------------------------------------- Comment (by elias):
Well, the format is specified to be unsigned, and data are user accessible. And it's like that since almost 10 years, so there's no way we can change it now - whatever the reasons were back then to choose unsigned. (Likely, soundblaster 1.0 or whatever was current then used 8-bit unsigned, then when 16-bit support was first added, it was kept unsigned.) Now, the above change does an XOR with 0x8000 on each 16-bit sample right before providing data to Alsa. So if that indeed is such a waste of resources (myself I'd hope you can hardly notice any performance penalty) - then I'll have a hard time arguing for applying the above change, as Alsa itself certainly can do a much better job converting the format. What really is needed is a simple way when initializing Alsa to query if it can support unsigned 16-bit (it which case Allegro will keep providing that) or not (in which case we can convert ourselves).. but I wasn't able to learn from the Alsa docs how to do that, after a quick glance. -- Ticket URL: <http://www.pulseaudio.org/ticket/133#comment:7> PulseAudio <http://pulseaudio.org/> The PulseAudio Sound Server _______________________________________________ pulseaudio-tickets mailing list pulseaudio-tickets@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-tickets