Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skype [apulse] [error] do_connect_pcm, snd_pcm_open, Устройство или ресурс занято #41

Closed
13ilya opened this issue Jan 15, 2017 · 4 comments

Comments

@13ilya
Copy link

13ilya commented Jan 15, 2017

Привет, Ринат!
У меня опять проблемы со скайпом и с переменной окружения APULSE_PLAYBACK_DEVICE="plughw:0,0".
При загрузке скайпа с этой переменной
LD_LIBRARY_PATH='/usr/lib/apulse' APULSE_CAPTURE_DEVICE="plughw:0,0" APULSE_PLAYBACK_DEVICE="plughw:0,0" skype
получаю эти уведомления

[apulse] [error] do_connect_pcm, snd_pcm_open, Устройство или ресурс занято
[apulse] [error] do_connect_pcm, snd_pcm_open, Устройство или ресурс занято

При этом сам скайп видит pulse-сервер но не издаёт ни звука.
При этом при дозвоне на echo123 наглухо виснет.

При загрузке скайпа без этой переменной.
LD_LIBRARY_PATH='/usr/lib/apulse' APULSE_CAPTURE_DEVICE="plughw:0,0" skype
Скайп работает условно нормально. (Раньше без неё у меня звук пропадал при разговоре, сейчас пока проверить это не могу.)

При этом я отключил всё, что может захватывать звуковуху, включая mpd, разве-что кроме KDE, в мультимедийных настройках которого, как и раньше, указан Gstreamer-овский default.

Ещё у меня установлен эквалайзер alsaequal и в ~/.asound

ctl.equal {
	type equal;
}

pcm.plugequal {
	type equal;
	slave.pcm "plug:dmix";
}

pcm.equal {
	type plug;
	slave.pcm plugequal;
}

Пробовал переименовать файл и запускать skype, но результат тот же, да и раньше это проблем не вызывало.

В чём может быть проблема? Куда копать и что можно поставить в APULSE_PLAYBACK_DEVICE вместо plughw:0,0?

@i-rinat
Copy link
Owner

i-rinat commented Jan 15, 2017

В чём может быть проблема?

Два Mplayer'а одновременно через plughw:0,0 могут звук воспроизводить? Apulse мало отличается от других программ, использующих ALSA. Внутреннего микширования нет, микшированием занимаются стандартные плагины ALSA.

Наверное, если использовать свой .asoundrc, настройки по умолчанию отключаются совсем.

что можно поставить в APULSE_PLAYBACK_DEVICE вместо plughw:0,0?

У тебя в .asoundrc создаётся устройство под именем equal. Попробуй его использовать.

@13ilya
Copy link
Author

13ilya commented Jan 16, 2017

Два Mplayer'а одновременно через plughw:0,0 могут звук воспроизводить?

Ни один mpv не воспроизводит через --audio-device=alsa/plughw:0,0
Устройство воспроизведения plughw:0,0 у меня, почему-то всегда занято, хотя раньше такого не было.
При этом устройство захвата plughw:0,0 остаётся свободным.
Не знаю нормально ли это и куда копать?

У тебя в .asoundrc создаётся устройство под именем equal. Попробуй его использовать.

Это нужно 32-битную версию equal компилить, что всё равно не решает проблему.

В итоге skype теперь работает только при:
0 - отсутствует APULSE_PLAYBACK_DEVICE вообще.
1 - APULSE_PLAYBACK_DEVICE="default"
2 - APULSE_PLAYBACK_DEVICE="plug:default"
3 - APULSE_PLAYBACK_DEVICE="plug:dmix"

Я остановился на последнем варианте.
Стоит ли мне разбираться, почему с недавних пор что-то, скорее всего KDE, монопольно захватывает plughw:0,0 или эта ситуация допустима и можно просто использовать plug:dmix?

@i-rinat
Copy link
Owner

i-rinat commented Jan 17, 2017

При этом устройство захвата plughw:0,0 остаётся свободным. Не знаю нормально ли это и куда копать?

Воспроизведение и запись — разные каналы, так что это совершенно нормально. Одно приложение может монопольно захватить вывод звука, и одновременно с этим множество приложений через dsnoop могут записывать звук без проблем. Это же разные тракты в железе. Я бы ожидал от них независимой работы.

Я остановился на последнем варианте.

Работает — и хорошо :-)

Стоит ли мне разбираться, почему с недавних пор что-то, скорее всего KDE, монопольно захватывает plughw:0,0 или эта ситуация допустима и можно просто использовать plug:dmix?

Экспертом по ALSA я так и не стал, так что квалифицированных советов дать не могу. Как по мне, работает — и ладно.

Насколько я понимаю, если в железе нет поддержки аппаратного микширования, то открывшее plughw:0,0 приложение захватывает вывод монопольно. plughw это почти что то же, что и hw, только передискретизация выполняется прозрачно.

использовать plug:dmix

Я бы предпочёл сделать так, чтобы default работало нормально, через dmix плагин. Скорее всего, существуют приложения, которые не имеют настроек по устройству вывода, а всегда используют default.

@13ilya
Copy link
Author

13ilya commented Jan 17, 2017

Спасибо за разъяснения. :-)

@13ilya 13ilya closed this as completed Jan 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants