On Thu, 28 Aug 2008, Lennart Poettering opined: > On Thu, 28.08.08 07:29, Kevin Gilbert (kevin952 at tpg.com.au) wrote: > > D: module-alsa-sink.c: Thread starting up > > D: rtpoll.c: Acquired POSIX realtime signal SIGRTMIN+29 > > E: module-alsa-sink.c: Assertion '(areas[0].step >> 3) == u->frame_size' > > failed at modules/module-alsa-sink.c:177, function mmap_write(). > > Aborting. === end === > > Umpf. there seems to be something very broken here in the audio driver > or alsa-libs. We only support interleaved channels. This assert above > is always true for interleaved channels. We ask the ALSA driver for > interleaved channels. But apparently it gave us some more complex > channel arrangement. > > Please report to the ALSA people. But first try to update your kernel > driver and alsa-libs to newest from upstream. Before reporting to the ALSA folk I thought I should check with the PS3 kernel people as I am running one of their kernels (no use reporting a problem to ALSA if there is PS3 kernel specific code that could be the problem). See http://ozlabs.org/pipermail/cbe-oss-dev/2008-August/005423.html for that thread. In short: "PS3 sound driver supports only SNDRV_PCM_INFO_NONINTERLEAVED format as well as many ALSA driver like AC97 support only SNDRV_PCM_INFO_INTERLEAVED. Non- interleaved format is just not usual, but it is not broken. It's defined in ALSA. With a brief looking, other mainlined drivers -- gus, emu10k, es1968, rme9652 and aica -- seem to support only non-interleaved samples. [...] PS3 sound chip's hardware is not suitable for the interleaved samples due to its FIFO and DMAC design. I have no plan to support interleave permutation in the kernel driver level. I think the best way is that the user space renderer takes care of the various interleave formats as well as sample endianness and bit width." I stress that this is an edited version of their response. Before I follow up with the ALSA people, I thought I should get an opinion from here first. So... Cheers, Kevin