Проблема с доступом к звуковой карте несколькими приложениями (РЕШЕНО)

Изображение пользователя mityukov.

Собственно, проблема решилась установкой Pulse Audio. Очень странно, что это PA не поставилось по умолчанию (похоже, только в Kubuntu так, хотя Gnome/Xfce-based дистры не пробовал..)

---8<---

Часто бывает, что раз прослушав звук на каком-нибудь сайте (с пом. Flash player; чаще всего смотрю видео/слушаю звук на сайте vkontakte.ru), локальные приложения (amarok, mplayer) стартуют без звука.

В консоли выводится что-то типа 'устройство /dev/dsp занято'.

Чтобы звук восстановился -- приходится закрывать весь firefox (закрытие просто табов с флэшем не спасает).

Ожидаемое поведение -- звук из разных источников должен смешиваться. А уж если в app1 в данный момент ничего не играется -- то вообще не должно быть никаких проблем с проигрыванием из app2.

Звуковуха - встроенная в чипсет. Что-то типа AC'97 - распознается нормально.

Собственно вопрос: как так получается, что устройство вывода звука используется приложением монопольно (причем, остается "залоченым" и после окончания использования)? Я такого не встречал ни в оффтопике ни в FreeBSD ни в более ранних *бунтах.. :-(

0
mityukov - 15 Март, 2009 - 13:42
Изображение пользователя mityukov.

Кот что пишет mplayer:

$ mplayer yellow.wav
MPlayer SVN-r28403-4.3.2 (C) 2000-2009 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3000+ (Family: 15, Model: 47, Stepping: 0)
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing yellow.wav.
Audio only file format detected.
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
[AO_ALSA] alsa-lib: pcm_hw.c:1321:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
[AO_ALSA] Playback open error: Device or resource busy
Failed to initialize audio driver 'alsa'
[AO OSS] audio_setup: Can't open audio device /dev/dsp: Device or resource busy
[AO_ALSA] alsa-lib: pcm_hw.c:1321:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
[AO_ALSA] Playback open error: Device or resource busy
mcop warning: user defined signal handler found for SIG_PIPE, overriding
[AO ARTS] can't connect to aRts soundserver
[AO ESD] esd_open_sound failed: Connection timed out
AO: [pulse] Init failed: Connection refused
[JACK] cannot open server
ao_nas: init(): Can't open nas audio server -> nosound
[AO SDL] Samplerate: 44100Hz Channels: Stereo Format s16le
[AO_ALSA] alsa-lib: pcm_hw.c:1321:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
[AO SDL] Unable to open audio: No available audio device
[AO_ALSA] alsa-lib: pcm_hw.c:1321:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
[AO_ALSA] alsa-lib: pcm_hw.c:1321:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Device or resource busy
AL lib: alsa.c:344: Could not open playback device 'default': Device or resource busy
AL lib: oss.c:179: Could not open /dev/dsp: Device or resource busy
[OpenAL] could not open device
DVB card number must be between 1 and 4
AO: [null] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 2.7 (02.6) of 156.0 (02:36.0) 1.3%

MPlayer interrupted by signal 2 in module: play_audio
A: 2.7 (02.6) of 156.0 (02:36.0) 1.3%
Exiting... (Quit)

И действительно, можно проверить что устройство "занято":
$ fuser -v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/controlC0: pilat 5798 F.... knotify4
pilat 5841 F.... kmix
pilat 7388 F.... ktorrent
/dev/snd/pcmC0D0p: pilat 7308 F...m firefox

Его(звуковое устройство) можно освобождать, не убивая пиложение, которое его "занимает"? А в идеале -- реализовать множественный доступ (со смешиваением)...

0
mityukov - 16 Март, 2009 - 10:33
Изображение пользователя mityukov.

Познавательно. Смущает одно: почему Kubuntu(8.10) не заинтегрирована с pulse audio по умолчанию? Может есть какие-то трудности с интеграцией в KDE 4.x?

И вот еще парочка вопросов:
- будет ли pulse audio в Kubuntu Jaunty?
- в ALSA вроде как есть встроенная возможность софтварно смешивать потоки. Просто сам я не силен в ~/.asoundrc-писательстве. Но, может, стоит поискать в этом направлении (чем переводить все на pulse audio.. что-то страшно ввязываться)?

P.S.: карточка у меня такая: ATI-IXP southbridge AC97 audio (SB400).

0
SeaJey - 16 Март, 2009 - 18:05
Изображение пользователя SeaJey.

Познавательно. Смущает одно: почему Kubuntu(8.10) не заинтегрирована с pulse audio по умолчанию?
С чего бы это?
"Параметры системы" -> Звук - pulseaudio болтается в списке.

будет ли pulse audio в Kubuntu Jaunty?

В alpha6 - есть.

в ALSA вроде как есть встроенная возможность софтварно смешивать потоки. Просто сам я не силен в ~/.asoundrc-писательстве. Но, может, стоит поискать в этом направлении (чем переводить все на pulse audio.. что-то страшно ввязываться)?
Ну, я вот, например, пользуюсь oss4 - vmix в качестве микшера вполне устраивает.
Другое дело, что он пока не слишком хорошо с kde4 интегрируется: в kmix4 нет поддержки, приходится использовать встроенную утилиту ossxmix.

0
mityukov - 16 Март, 2009 - 18:43
Изображение пользователя mityukov.

Странно, надо будет посмотреть. Когда я это писал - я проверял по установленным пакетам:
$ aptitude search pulse

Практически все были "p", даже самые "корневые"..

0
SeaJey - 17 Март, 2009 - 00:00
Изображение пользователя SeaJey.

Хм, сейчас посмотрел у себя в интрепиде - стоит только libpulse0
Но всё остальное я мог просто снести за ненадобностью - не помню уже.

0
mityukov - 17 Март, 2009 - 00:07
Изображение пользователя mityukov.

Странно, надо будет посмотреть. Когда я это писал - я проверял по установленным пакетам:
here it is:
$ aptitude search pulse
p gstreamer0.10-pulseaudio - GStreamer plugin for PulseAudio
p libao-pulse - libao PulseAudio driver
p libpulse-browse0 - PulseAudio client libraries (zeroconf support)
p libpulse-browse0-dbg - PulseAudio client libraries (zeroconf support) debugging symbols
p libpulse-dev - PulseAudio client development headers and libraries
p libpulse-mainloop-glib0 - PulseAudio client libraries (glib support)
p libpulse-mainloop-glib0-dbg - PulseAudio client libraries (glib support) debugging symbols
i libpulse0 - PulseAudio client libraries
p libpulse0-dbg - PulseAudio client libraries detached debugging symbols
p libpulsecore5 - PulseAudio sound server core
p libpulsecore5-dbg - PulseAudio sound server core detached debugging symbols
p libsdl1.2debian-pulseaudio - Simple DirectMedia Layer (with X11 and PulseAudio options)
p pulseaudio - PulseAudio sound server
p pulseaudio-dbg - PulseAudio sound server detached debugging symbols
p pulseaudio-esound-compat - PulseAudio ESD compatibility layer
p pulseaudio-esound-compat-dbg - PulseAudio ESD compatibility layer debugging symbols
p pulseaudio-module-gconf - GConf module for PulseAudio sound server
p pulseaudio-module-gconf-dbg - GConf module for PulseAudio sound server debugging symbols
p pulseaudio-module-hal - HAL device detection module for PulseAudio sound server
p pulseaudio-module-hal-dbg - HAL module for PulseAudio sound server debugging symbols
p pulseaudio-module-lirc - lirc module for PulseAudio sound server
p pulseaudio-module-lirc-dbg - lirc module for PulseAudio sound server debugging symbols
p pulseaudio-module-x11 - X11 module for PulseAudio sound server
p pulseaudio-module-x11-dbg - X11 module for PulseAudio sound server debugging symbols
p pulseaudio-module-zeroconf - Zeroconf module for PulseAudio sound server
p pulseaudio-module-zeroconf-dbg - Zeroconf module for PulseAudio sound server debugging symbols
p pulseaudio-utils - Command line tools for the PulseAudio sound server
p pulseaudio-utils-dbg - PulseAudio command line tools detached debugging symbols
p vlc-plugin-pulse - PulseAudio plugin for VLC
p xmms2-plugin-pulse - XMMS2 - pulseaudio output plugin

Далее, про "параметры системы":
"Параметры системы" -> Звук - pulseaudio болтается в списке.
При попытка протестить эту позицию - сообщение об ошибке (надо отдать должное - в KDE-шной области системных уведомлений; все как положено). Что-то типа "Аудио устройство Pulse не работает. Откатываюсь к устройству по умолчанию".

"в ALSA вроде как есть встроенная возможность софтварно смешивать потоки. Просто сам я не силен в ~/.asoundrc-писательстве. Но, может, стоит поискать в этом направлении (чем переводить все на pulse audio.. что-то страшно ввязываться)?"

Ну, я вот, например, пользуюсь oss4 - vmix в качестве микшера вполне устраивает.
Другое дело, что он пока не слишком хорошо с kde4 интегрируется: в kmix4 нет поддержки, приходится использовать встроенную утилиту ossxmix.

Не, я про "родные" альсовские плагины. Видел где-то пример ~/.asoundrc для Intel'овской карточки (с pcm плугином типа 'dmix'), но на моей не прокатило... А разобраться в деталях конфигурации alsa трудновато (по крайней мере по докам на сайте проекта) :-(

0
Lang - 16 Март, 2009 - 13:53
Изображение пользователя Lang.

2.png

В Jaunty есть и работает, насчет 8.10 не знаю, почти не пользовался им...Но у меня отключено, так как карточка умеет смешивать потоки

0
taras - 16 Май, 2009 - 09:54

В Jaunty у меня была такая проблема в настройках звука поставил PulseAudio первым в списке, сейчас все ОК.Выставил первым PulseAudio в настройках Звука и всё ОК.

P.S. Не могу вставить скрин: не понятно как - загружаю во всплывающем окошке его, а как в сообщения вставить не понял. Если на картинке в этом окошке нажать свойства изобржения система зависает наглухо. Уже 3 раза ребутил :(

0
Condor - 16 Май, 2009 - 22:01
Изображение пользователя Condor.

А на моём ноуте пульс аудио не работает вообще...
Такие дела...

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры