LINUX.ORG.RU

mpd не может присоединиться к default alsa device.


0

2

Доброго времени суток, господа.

Столкнулся с проблемой: mpd не может присоединиться к default alsa device и ничего не проигрывает, если уже запущена какая-нибудь мультимедийная программа. И наоборот, не дает никому присоединиться, если проигрывание в mpd запущено раньше.

Особо хочу отметить, что звук из DeadBeef, VLC, Skype, flash плагина микшируется нормально и друг с другом они не конфликтуют.

mpd запускается от юзера mpd

~# groups mpd
mpd : audio

В логах mpd вот такое:

Jan 29 17:14 : decoder: audio_format=44100:24:2, seekable=true
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Jan 29 17:14 : output: Failed to open "My ALSA Device" [alsa]: Failed to open ALS
A device "default": Device or resource busy

В /etc/mpd.conf настройки такие:

audio_output {
        type            "alsa"
        name                "My ALSA Device"
#       device          "hw:0,0"        # optional
#       format          "44100:16:2"    # optional
#       mixer_type      "software"
#       mixer_device    "default"       # optional
#       mixer_control   "Master"                # optional
#       mixer_index     "0"             # optional
}

~/.asoundrc

pcm.my_card {
    type hw
    card 0
    # mmap_emulation true
}

pcm.dmixed {
    type dmix 
    ipc_key 1024 
    #  ipc_key_add_uid false   # let multiple users share
    #  ipc_perm 0666           # IPC permissions for multi user sharing (octal, d
efault 0600)
    slave {
    pcm "my_card" 
    #   rate 48000
    #   period_size 512
    }
}

pcm.dsnooped {
    type dsnoop 
    ipc_key 2048 
    slave {
    pcm "my_card" 
    #   rate 48000
    #   period_size 128
    }
}

pcm.asymed {
    type asym 
    playback.pcm "dmixed" 
    capture.pcm "dsnooped"
}

pcm.pasymed {
    type plug 
    slave.pcm "asymed"
}

pcm.dsp0 {
    type plug
    slave.pcm "asymed"
}

pcm.!default {
    type plug
    slave.pcm "asymed"
}
~# uname -a
Linux desktop-deb 3.1.0-1-amd64 #1 SMP Sun Dec 11 20:36:41 UTC 2011 x86_64 GNU/Linux
~# dpkg -s mpd
Package: mpd
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 560
Maintainer: mpd maintainers <pkg-mpd-maintainers@lists.alioth.debian.org>
Architecture: amd64
Version: 0.16.5-1
~# cat /proc/asound/cards 
 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xfbff8000 irq 16

Any help will be greatly appreciated, потому что я уже бошку сломал, пытаясь понять, чего ему не хватает.

~/.asoundrc

а, чо? относительно пользователя мпд этот файл не в ~/
улавливаешь?

anonymous ()
Ответ на: комментарий от anonymous

Если ничего другого использующего звуковую карту не запущено mpd воспроизводит нормально, с этим как раз все ок. Нужно чтобы он работал одновременно с другими приложениями.

Parampampam ()
Ответ на: комментарий от Parampampam

а, чо? относительно пользователя мпд этот файл не в ~/
улавливаешь?

Даже если то же самое в /etc/asound.conf ошибка та же.

и мпд перезапустил?

Да, перезапустил, с /etc/asound.conf software mixing перестает работать вообще.

Parampampam ()

а если добавить своего юзера в группу audio ? У меня, правда, только мпд мешал другим, если сначала запустить, скажем, mplayer, mpd нормально играет с ним вместе. asoundrc отсутствует.

illifant ()
# Default device
pcm.!default {
	type plug
	slave.pcm "asymed"
}

# Asymed device
pcm.asymed {
    type asym
    playback.pcm "playback"
    capture.pcm "capture"
}

# Playback device
pcm.playback {
	type dmix
    ipc_key 37
    ipc_key_add_uid 0
    ipc_perm 0666
    slave {
        pcm "hw:0,0"
        period_time 0
        period_size 1024
        buffer_size 4096
        rate 44100
    }
    bindings {
        0 0
        1 1
    }
}

# Capture device
pcm.capture {
    type dsnoop
    ipc_key 42
    ipc_key_add_uid 0
    ipc_perm 0666
    slave {
        pcm "hw:0,0" 
        channels 2 
        period_size 1024
        buffer_size 4096
        rate 48000
        periods 0 
        period_time 0
    }
}

Попробуй так. И ребутнись, как засунешь это в /etc/asound.conf

anonymous ()
Ответ на: комментарий от anonymous

И ребутнись, как засунешь это в /etc/asound.conf

facepalm.psf.lzo

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.