Кстати, хотелось сделать так что бы между процессами было как можно меньше передачи за счет upmix'ширования лишь в том процессе где делается вывод, но dmix требует лишь хардварный slave. Так я решил возспользоватся pulseaudio. В нем добавил для каждого upmix'а по sink'у, а в конфиге alsa пропустил все выводы через pulse с соответствующими синками. Так когда у меня amarok выводит на stereo (default) и nexuiz выводит на surrond51 в pulse демон стекаются потоки 2.0 и 5.1, потом в демоне апмиксятся до 7.1 и дмиксятся на hw. Тут тоже не обошлось без проблем, хотелось избавится от dmix'а вообще, в пользу pulse (т.е. все слэйвы из апмиксов направить на pulse), но pulseaudio не захотел подыматся, так как сначала он коннектится к своим физическим синкам, а потом дает коннектится к нему, что вызывает deadlock.
Comments 1
Reply
Leave a comment