LINUX.ORG.RU

История изменений

Исправление deep-purple, (текущая версия) :

пилят «поддержку 5.1», и жалуются, что это жутко тяжело в ALSA

Alsa has predefined output devices, like surround40 or surround51

char *name = "surround51";
snd_pcm_t *dev;
int rc;
...
rc = snd_pcm_open(&dev, name, SND_PCM_STREAM_PLAYBACK, 0);
...

Я уже попробовал, устройство существует и открылось. Все сконпелялось и воспроизвелось. Правда у меня карта не умеет в 5.1 и дает поставить только 2 канала в этом режиме.

А вот влц с тем же устройством и шестиканальной вавкой:

core debug: input 's16l' 48000 Hz 3F2R/LFE frame=1 samples/12 bytes
alsa debug: using ALSA device: surround51:CARD=NVidia,DEV=0
card 0 'HDA NVidia' device 0 subdevice 0
alsa debug: device name : 92HD81B1X5 Analog
alsa debug: device ID : 92HD81B1X5 Analog
alsa debug: subdevice name: subdevice #0
...
alsa debug: using channels map 0, type 1, 2 channel(s)
Замапил в доступное стерео. Играет.

Узнать сколько каналов можно вывести, чтобы корректно замапить режим: http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___h_w___params.ht...

Исходная версия deep-purple, :

пилят «поддержку 5.1», и жалуются, что это жутко тяжело в ALSA

Alsa has predefined output devices, like surround40 or surround51

char *name = "surround51";
snd_pcm_t *dev;
int rc;
...
rc = snd_pcm_open(&dev, name, SND_PCM_STREAM_PLAYBACK, 0);
...

Я уже попробовал, устройство существует и открылось. Все сконпелялось и воспроизвелось. Правда у меня карта не умеет в 5.1 и дает поставить только 2 канала в этом режиме.

А вот влц с тем же устройством и шестиканальной вавкой:

core debug: input 's16l' 48000 Hz 3F2R/LFE frame=1 samples/12 bytes
alsa debug: using ALSA device: surround51:CARD=NVidia,DEV=0
card 0 'HDA NVidia' device 0 subdevice 0
alsa debug: device name : 92HD81B1X5 Analog
alsa debug: device ID : 92HD81B1X5 Analog
alsa debug: subdevice name: subdevice #0
...
alsa debug: using channels map 0, type 1, 2 channel(s)
Замапил в доступное стерео. Играет.