Bonsoir tout le monde !
J'essaye (comme pas mal de personnes d'ailleurs) à configurer alsa de façon à ce que le mixage soft (dmix) fonctionne, pour pouvoir entendre plusieurs sources sonores en même temps. J'ai une carte son de base, qui ne gère pas ça en hard (ça serait trop beau...).
Après de longues heures à RTFMiser, je suis arrivé à un truc à peu près fonctionnel. Voici mon .asoundrc :
pcm.mixage {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 4096
buffer_size 16384
}
}
pcm.!default {
type plug
slave.pcm "mixage"
}
ctl.mixer0 {
type hw
card 0
}
|
donc, dans l'ordre inverse, on a :
- le hardware
- le module "dmix" (appelé "mixage" chez moi), qui mixe les différentes sources qu'il reçoit, et envoie le résultat au hard
- le module "plug" (appelé "!default" ici), qui harmonise (ici à 48000 Hz) les fréquences des flux qu'il reçoit avant de les envoyer au dmix, pour éviter que certains sons soient lus trop lentement/rapidement
- les applis, qui envoient leur son au plug (ou alors directement au dmix si il n'y a pas de pb de vitesse de lecture)
J'ai ensuite configuré le plugin de sortie alsa de XMMS pour qu'il utilise le périphérique "default". Ça marche, je peux lancer plusieurs xmms, aplay et alsaplayer en même temps, ça marche nickel, et en plus ça rame pas un poil.
Ensuite, je me lance dans la config de mplayer. Je lance un xmms, et je tente un petit "mplayer -ao alsa9:default fichier.avi", et là, c'est le drame :
SDL: Samplerate: 44100Hz Channels: Stereo Format Signed 16-bit (Little-Endian)
ALSA lib pcm_hw.c:1055:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Périphérique ou ressource occupé
|
Toujours avec mon xmms qui lit un morceau, je tente avec "-ao alsa9:mixage", et j'obtiens la même erreur.
Je coupe mon xmms et je retente (avec alsa9:mixage et alsa9:default), et ça marche dans les deux cas (mais ça rame, le son saute). Mais du coup, je ne peux plus relancer xmms/aplay/alsaplayer sans fermer mplayer...
Mais dans le debug de mplayer (voir ci-dessus), il y a des lignes qui parlent de SDL, et elles sont avant celles qui parlent d'alsa. C'est normal ? J'ai pourtant choisi le plugin de sortie alsa9...
Parce que si mplayer utilise sdl comme plugin de sortie, c'est "normal" que ça plante, le plugin alsa de sdl déconne chez moi (mais ça, on verra plus tard :-) ).
Voilà, j'espère que c'est clair...
Quelqu'un a une idée ?
Merci d'avance pour vos réponses,
Message édité par macolu le 18-01-2004 à 16:10:51