Firefox / Iceweasel et ALSA

Bonjour,

D’abord, pour éviter de faire perdre du temps à ceux qui atterriraient ici par mégarde : Ce sujet ne concerne pas Flash. Edit: …ni aucun autre plugin !

Voilà mon souci :

J’utilise Iceweasel 4.0 sur Debian wheezy (testing) et il m’arrive de visionner des vidéos avec. En même temps, j’ai presque toujours un lecteur audio lancé dans une console (mpd via ncmpc ou, plus rarement, mocp). Je n’ai aucun son lorsque je lis une vidéo sous Iceweasel après avoir m’être servi de mpd, et impossible de lire quoi que ce soit après avoir visionné avec succès une vidéo sous Iceweasel.

En général, pour résoudre le problème, je lance la commande # /usr/sbin/alsa force-reload (après avoir fermé proprement Iceweasel, car cette commande me fait en général crasher violemment l’une des deux applications).

(Je vous laisse imaginer le casse-tête que ça donnait lorsque j’utilisais également mocp, qui ne gère pas pulseaudio.)

Il me semble que Iceweasel utilise par défaut ALSA pour jouer du son. En toute logique, mpd devrait utiliser pulseaudio (comme je lui ai indiqué dans mon mpd.conf). Si j’ai bien compris la logique des serveurs de son/drivers de son sous gnunux, pour ne plus avoir de conflits ni de crashes, il faudrait que toutes mes applications passent par pulseaudio pour jouer du son.

Est-il possible de demander à Iceweasel (ou tout autre browser basé sur gecko) de faire appel à pulseaudio (ou tout autre serveur de son) plutôt qu’à ALSA, et, si oui, comment faire ?

[i]Edit: J’utilise une carte HDA ATI SB dotée d’un chip Realtek ID 887 (d’après alsamixer). lshw me retourne :

*-multimedia description: Audio device produit: SBx00 Azalia (Intel HDA) fabriquant: ATI Technologies Inc identifiant matériel: 14.2 information bus: pci@0000:00:14.2 version: 00 bits: 64 bits horloge: 33MHz fonctionnalités: pm bus_master cap_list configuration: driver=HDA Intel latency=32 ressources: irq:16 mémoire:fe024000-fe027fff
J’ai dû faire un # echo "options snd-hda-intel model=generic" >> /etc/modprobe.d/alsa-base.conf pour avoir du son après installation de Debian 6.0[/i]

Je retournerai le problème dans l’autre sens.
As tu besoin de pulseaudio ? Utilises tu une fonctionnalité de pulseaudio que n’aurait pas ALSA ?
Si c’est non, désinstalle pulseaudio et utilise uniquement ALSA.

Tu es probablement impacté par ce bug
http://forum.soft32.com/linux/Bug-590148-pulseaudio-sound-firefox-iceweasel-suspend-resume-ftopict518496.html

Chez moi gecko-mediaplayer marche avec pulse grâce à l’option “-ao pulse” de mplayer.

Un clic droit sur le lecteur -> preferences

Cocher “software volume control” et dans les options Extras ajouter “-ao pulse” (sans guillemet, AVEC tiret contrairement à la capture) .

Bonsoir,
J’ai du également passer le son de Iceweasel par Pulse pour d’autres raisons…

Si cela peut t’aider, sur Squeeze (à tester sur Wheezy donc…), j’ai crée un fichier asound.conf dans /etc :

[code]pcm.pulse {
type pulse
}

ctl.pulse {
type pulse
}

pcm.!default {
type pulse
}

ctl.!default {
type pulse
}
[/code]

Après reboot, Iceweasel se sert bien de Pulseaudio et non plus de Alsa.

Merci pour vos réponses.

[quote=“piratebab”]Je retournerai le problème dans l’autre sens.
As tu besoin de pulseaudio ? Utilises tu une fonctionnalité de pulseaudio que n’aurait pas ALSA ?
Si c’est non, désinstalle pulseaudio et utilise uniquement ALSA.[/quote]

J’ai besoin de pouvoir mixer les signaux, ne serait-ce que pour recevoir une notification sonore quand je lis un fichier multimedia, ou tout simplement passer de mpd à iceweasel sans devoir killer l’une des deux applications… Mais je peux utiliser un autre serveur de son que pulse, si celui-ci pose problème.

C’est du lecteur multimédia inclus dans gecko que je parle, celui qui permet de lire les vidéos en webm sur Youtube, entre autres. Pas du plugin mplayer. J’édite mon post d’orgine.

[quote=“NuN0”]Bonsoir,
J’ai du également passer le son de Iceweasel par Pulse pour d’autres raisons…

Si cela peut t’aider, sur Squeeze (à tester sur Wheezy donc…), j’ai crée un fichier asound.conf dans /etc :

[code]pcm.pulse {
type pulse
}

ctl.pulse {
type pulse
}

pcm.!default {
type pulse
}

ctl.!default {
type pulse
}
[/code]

Après reboot, Iceweasel se sert bien de Pulseaudio et non plus de Alsa.[/quote]

Merci, je teste ça. - Edit: Ça marche impec ! :023 Avec Iceweasel comme avec Iceape. Merci ! -Pourrais-tu m’expliquer ce que fait exactement cette modification ? asound.conf, si j’ai bien compris, est un fichier de configuration d’alsa… Dois-je comprendre qu’il est impossible de demander à iceweasel de passer par autre chose qu’alsa, et qu’on doit alors demander à alsa de rediriger ce qu’il reçoit vers pulseaudio ?

Sinon, existe-t’il un moyen simple et propre de savoir si une application se sert de pulseaudio ou directement d’alsa ? Regarder l’activité de pulseaudio dans le task manager pendant qu’on joue du son ne donne pas grand chose, et le faire via pavumeter ou pavucontrol nécessite un GUI…

Je précise que j’utilise une puce SBx00 Azalia (Intel HDA) et que j’ai faire un # echo "options snd-hda-intel model=generic" >> /etc/modprobe.d/alsa-base.conf pour avoir du son après l’installation de Debian 6.0. Je le rajoute dans le post d’origine.

$ paman
Le “manager” de pulseaudio, sous l’onglet “clients” toutes les applications ayant recours à pulseaudio y figurent.
Une application audio qui ne figure pas sur “paman” utilise soit OSS soit ALSA et ne transite pas par pulse.

Exception, utiliser un autre serveur pulse alors que paman se base sur le démon pulse de la session en cours sur le système, rien ne t’empêche d’être client d’un autre serveur pulseaudio ou d’un autre démon lancé à un autre moment.

[quote=“etxeberrizahar”]$ paman
Le “manager” de pulseaudio, sous l’onglet “clients” toutes les applications ayant recours à pulseaudio y figurent.
Une application audio qui ne figure pas sur “paman” utilise soit OSS soit ALSA et ne transite pas par pulse.[/quote]

Merci !
En plus paman m’indique bien “ALSA plug-in [xulrunner-stub]” quand je lis une vidéo dans iceweasel.

paman est donc un moniteur qui surveille le serveur pulse de la session, et non le client.

Dans le cadre d’une utilisation simple le serveur pulseaudio et paman sont lancés sur la même machine, bien entendu, on peut envisager toutes sortes de croisements.
padevchooser permet de définir les périphériques, les serveurs et d’autres réglages.

paman lancé sur la machine A peut surveiller l’activité
du serveur pulseaudio lancé sur la machine B alors qu’il est client de C …

Tu le saurais si tu utilisais pulseaudio en réseau, le son se mettrait à retentir d’une machine inattendue et en surveillant le trafic réseau, un simple “netstat -tap | grep ESTABLISHED” trahirait la connexion.

Salut,

[quote=“gnuzer”]Merci pour vos réponses.

[quote=“piratebab”]Je retournerai le problème dans l’autre sens.
As tu besoin de pulseaudio ? Utilises tu une fonctionnalité de pulseaudio que n’aurait pas ALSA ?
Si c’est non, désinstalle pulseaudio et utilise uniquement ALSA.[/quote]

J’ai besoin de pouvoir mixer les signaux, ne serait-ce que pour recevoir une notification sonore quand je lis un fichier multimedia, ou tout simplement passer de mpd à iceweasel sans devoir killer l’une des deux applications… Mais je peux utiliser un autre serveur de son que pulse, si celui-ci pose problème.[/quote]

Tu ne peux pas mixer plusieurs signaux uniquement avec ALSA d’installé ?
J’utilise seulement ALSA sans pulseaudio d’installé, et plusieurs applications peuvent jouer un son en même temps. Par exemple de la musique dans totem alors que je regarde une vidéo sur Iceweasel.

[quote=“nico”]Tu ne peux pas mixer plusieurs signaux uniquement avec ALSA d’installé ?
J’utilise seulement ALSA sans pulseaudio d’installé, et plusieurs applications peuvent jouer un son en même temps. Par exemple de la musique dans totem alors que je regarde une vidéo sur Iceweasel.[/quote]

Peut-être ton matériel supporte-t-il le hardware mixing ? As-tu un chipset audio comme moi ou bien une carte son dédiée ?

idem pour moi, pas de pulseaudio d’installé, phonon est le serveur de son par défaut.

Salut,

[quote=“gnuzer”][quote=“nico”]Tu ne peux pas mixer plusieurs signaux uniquement avec ALSA d’installé ?
J’utilise seulement ALSA sans pulseaudio d’installé, et plusieurs applications peuvent jouer un son en même temps. Par exemple de la musique dans totem alors que je regarde une vidéo sur Iceweasel.[/quote]

Peut-être ton matériel supporte-t-il le hardware mixing ? As-tu un chipset audio comme moi ou bien une carte son dédiée ?[/quote]

J’ai juste le chipset audio intégré (Realtek ALC888) de la carte mère (Gigabyte GA-EP31-DS3L). Donc pas de hardware mixing.
Je trouvais juste dommage d’utiliser de rajouter un serveur de son tel que pulseaudio si il n’y en a pas réellement besoin.
Mais bon, si ça marche chez toi, c’est l’essentiel ^^

Je suis tombé là-dessus, je ne sais plus comment. L’article est un peu vieillot mais on y apprend que ALSA peut faire du software mixing, mais que ça ne fonctionne pas toujours bien (et il me semble effectivement avoir déjà eu du mixing sur certaines machines sans serveur de son). Le très prometteur OSS 4 supporterait le software mixing également, et ce bien mieux que son concurrent ALSA. Mais n’ayant jamais utilisé OSS 4 je ne peux pas en dire plus.

[quote=“NuN0”]Bonsoir,
J’ai du également passer le son de Iceweasel par Pulse pour d’autres raisons…

Si cela peut t’aider, sur Squeeze (à tester sur Wheezy donc…), j’ai crée un fichier asound.conf dans /etc :

[code]pcm.pulse {
type pulse
}

ctl.pulse {
type pulse
}

pcm.!default {
type pulse
}

ctl.!default {
type pulse
}
[/code]

Après reboot, Iceweasel se sert bien de Pulseaudio et non plus de Alsa.[/quote]

UN GRAND MERCI.Cela fonctionne chez moi
https://www.debian-fr.org/pas-de-son-systeme-ati-5450-en-hdmi-t38670.html#p390071