I have tried various permutations of /etc/asound.conf, as described around the internet, e.g. the Gentoo wiki. As far as I can tell, all I should need is something like:
Code: Select all
pcm.a52encode {
type a52
}
pcm.a52 a52encode
And lo, this works perfectly in a wheezy install, and debian-live-7.8.0-amd64-xfce-desktop.iso:
Code: Select all
$ speaker-test -c6 -Da52
speaker-test 1.0.25
Playback device is a52
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 3072 to 32256
Period size range from 1536 to 1536
Using max buffer size 32256
Periods = 4
was set period_size = 1536
was set buffer_size = 32256
0 - Front Left
4 - Center
1 - Front Right
3 - Rear Right
2 - Rear Left
5 - LFE
Time per period = 17.192051
Code: Select all
$ speaker-test -c6 -Da52
speaker-test 1.0.28
Playback device is a52
Stream parameters are 48000Hz, S16_LE, 6 channels
Using 16 octaves of pink noise
Access type not available for playback: Invalid argument
Setting of hwparams failed: Invalid argument
Already covered:
No pulseaudio or other chicanery is involved.
Various rate / format conversions preceeding the encoder, forcing such with plugin parameters, specifying device / channels etc.
Kernel from jessie-backports.
Backported alsa-libs & alsa-plugins from sid.
Swapping hardware (3 cards, ALC892, CMI8788 & AV66, all work in wheezy / don't work in Jessie).
Thought about backporting libav/ffmpeg... found packaging extremely confusing and ran away.
Contemplated forward-porting alsa-lib & alsa-plugins from wheezy, big dependency hairball there too.
Goes without saying, STW/F bugtracker etc. Nada.
Any ideas where to go next, or how to get better debugging output out of ALSA?