Проблема звука: Alsa dmix duplicate surround5.1

В данном форуме предлагается обсуждать темы связанные с любым "железом", а также его работой под Linux
Аватара пользователя
Lamer_Sirex
Заглянувший
Сообщения: 12
Зарегистрирован: 15 сен 2005, 01:06
Откуда: Минск

Проблема звука: Alsa dmix duplicate surround5.1

Сообщение Lamer_Sirex »

Добрый день.
Перерыл кучу форумов, но ничего не работает. Есть внешняя карта

Код: Выделить всё

sirex@w2-30:~$ cat /proc/asound/cards 
 0 [CA0106         ]: CA0106 - CA0106
                      Audigy SE [SB0570] at 0x9000 irq 19
...
sirex@w2-30:~$ lspci| grep -i Creat
01:07.0 Multimedia audio controller: Creative Labs SB Audigy LS

Собственно почитав мануалы захотелось настроить alsa так:
Если на входе 2-канальный звук -> дублируем каналы для 5.1 -> на микшер -> на карту
Если 5.1 -> на микшер -> на карту.

Собственно конфиг:

Код: Выделить всё

pcm.snd_card {
     type hw
     card 0 # change to your cards number or name
}

# 6 channel dmix:
pcm.dmix6 {
     type dmix
        ipc_key 1024
        ipc_key_add_uid false # let multiple users share
        ipc_perm 0660 # IPC permissions (octal, default 0600)
        slave {
                pcm snd_card # see below
                rate 48000
                channels 6
                period_time 0
                period_size 1024 # try 2048 against skipping
                buffer_time 0
                buffer_size 5120 # in case of problems reduce this
                                 # in case of skipping, try increasing
        }
     }

pcm.ch51dup {
        type plug
        slave.pcm "dmix6"
        slave.channels 6
        route_policy duplicate
}


# change default device:
pcm.!default {
     type plug
     slave.pcm "ch51dup"
}
Mplayer затыкается:
# mplayer -ao alsa:device=ch51dup spiderman.mp3
[AO_ALSA] alsa-lib: pcm_params.c:2135:(snd1_pcm_hw_refine_slave) Slave PCM not usable
[AO_ALSA] Unable to get initial parameters: Invalid argument
Could not open/initialize audio device -> no sound.
Audio: no sound

При этом, если поменять конфиг так:
pcm.ch51dup {
type plug
slave.pcm "surround51"
slave.channels 6
route_policy duplicate
}
то всё работает, звук раскладывается, но микшировать нельзя:
[AO_ALSA] alsa-lib: pcm_hw.c:1132:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
[AO_ALSA] Playback open error: Device or resource busy
[AO OSS] audio_setup: Can't open audio device /dev/dsp: Device or resource busy

А если отказать от route_policy duplicate то можно микшировать, но нельзя разложить на 5.1.
Собственно, сабж: как их подружить, чтоб звук раскладывался и микшировался?
Тот же амарок сам себя умудряется блокировать после смены песни и сам же вылетает - юзать не возможно, а любимый xmms - того :cry:
Сколько мы ещё не сделали, и сколько нам ещё предстоит не сделать

Помогайте Micrisoft в борьбе с пиратами, устанавливайте друзьям Linux