Forum Linux.débutant ALSA, gstreamer, OSS bref le son sous GNU/Linux...

Posté par .
Tags : aucun
0
3
fév.
2005
Bonjour,

Cela ne fait pas très longtemps que j'utilise les drivers ALSA, au lieu des OSS.

Seulement, je ne comprend plus rien au fonctionnement de tout ça...

Exemple simple :
Je suis sous GNOME (donc avec gnome-volume-manager) et je veux utiliser pour écouter ma musique xmms ou amarok.

Pour amaroK je prend gstreamer comme moteur, parait que c'est bien, et quand je veux le configurer, utiliser la sortie alsasink, et bien amarok me répond que c'est déjà utilisé par un autre programme...

Je pourrais prendre l'exemple de mplayer, ou je suis obligé de prendre la sortie son oss et pas alsa car le périphérique est déjà utilisé...

Bref tout ça pour dire que je ne m'y retrouve plus... So

1 - Comment puis-je faire pour utiliser le même driver alsa pour toutes mes applications, et avoir en même temps mplayer et amarok et gnome qui puisse balancer des sons en même temps ?

2 - Finalement, c'était pas mieux avant ? (avec oss quoi)... Je me rappelle encore quand je pouvais balancer 6 mplayer sans lag avec chacun un divx différent pour bluffer les potes sous Windows et Media Player Classic... ;)

Précision : Je suis actuellement sous Ubuntu Hoary, mais avant sous Debian Sarge/Sid, pareil même combat...
  • # je parierais sur esd

    Posté par . Évalué à 2.

    Salut,

    Il y a de grandes chances pour que esd soit lancé sous gnome.
    Il faut donc que tu configure gstreamer pour qu'il utilise esd, et non alsa.

    Si le son oss marche, alors alsa-oss doit etre lancé (il est nécessaire pour esd...)

    Ouai c'est un peu la merde pour le moment, ca ira mieux qd oss sera vraiment plus qu'un souvenir, et que gstreamer sera utilisé partout :)

    Chez moi, aucun pb, je suis sous gnome (avec que des applis gnome), esd lancé, gstreamer configuré comme je te l'ai dit. Il a fallu faire gaffe a xine (pour totem, le plugin ffmpeg de gstreamer n'est pas encore dispo ds debian, mais sous ubuntu, ca devrait bon, donc prend totem-gstreamer plutot que totem-xine ;)) pour qu'il utilise bien esd, et tout fonctionne niquel.

    Ensuite, si tu es sous gnome, j'ose te conseiller rhythmbox plutot qu'amarok :) La version 0.8 n'a peut etre pas encore toutes les fonctionalités d'amarok, mais l'essentiel y est, et marche tres tres bien (en plus avec une applet simple, mais pratique).

    Et la prochaine version (0.9 a priori), promet bcp :)
    • [^] # Re: je parierais sur esd

      Posté par . Évalué à 1.

      Merci pour cette réponse, je vais regarder ca...


      Sinon pourquoi amaroK ? En fait j'utilisais amaroK avant d'installer Ubuntu... Et depuis je peux plus m'en passer...

      vala vala...

      Mais je regarderais de près rhythmbox 0.9, la 0.8 étant à des années lumières d'amaroK 1.2 beta 3... ;)
    • [^] # Re: je parierais sur esd

      Posté par (page perso) . Évalué à 1.

      c est quoi gstreamer ???

      Il faut donc que tu configure gstreamer pour qu'il utilise esd, et non alsa.

      erreur: je peux avoir en meme temps xmms qui joues sur esd et mplayer qui joues sur ALSA ... hehe :) grace a asoundrc ... mais faut trouver le esd qui vas bien ( genre libesd-alsa ... )

      et que gstreamer sera utilisé partout

      ouai ben deja que les clients de Skype se battent pour reclamer un support de ALSA, si en plus faut leur demander gstreamer ... on aura jamais rien ...

      Quand a gnomemeeting ... ils ont dit que esd ne supporte pas le full duplex, donc que ils resteront a OSS. ( ALSA ? c est quoi ca ? ) donc c est pas pret d evoluer.
  • # c est pas simple.

    Posté par (page perso) . Évalué à 1.

    En fait, il y as: OSS, ALSA, ESD, Dmix, Arts, asound ... et le pire c est que tout peut marcher en meme temps ... de maniere plus ou moins conflictuelle toutefois ...

    Si tu as juste le driver ALSA, seules les aplis ALSA peuvent lire. Si en plus tu load

    # ALSA
    snd_via82xx
    #emu10k1
    emu10k1-gp
    snd-pcm-oss
    snd-mixer-oss


    alors la les aplis OSS pures peuvent aussi acceder a la carte son.

    Mais ca peut etre tres complique: avec ces deux derniers drivers, les aplis OSS peuvent acceder au sons de maniere explusive; c est le cas de mplayer OSS, SDL OSS, et ESD-OSS; pour ouvrire une apli ALSA, tu dois couper le truc OSS.

    Sans les deux derniers, aucune apli OSS ne peut marcher directement.

    Mais, meme sans les deux derniers, tu as encore des roues de secours: tu peut installer esd-alsa, ou aoss qui convertis les appels OSS en appels ALSA ...

    une apli OSS pure ne pourra jamais acceder a la carte en meme temps que quoi que ce osit d autre.

    Maintenant, meme avec tout ca, je ne pouvais pas jouer deux aplis ALAS en meme temps. Car pour utiliser Arts ou Dmix, il faut quand meme que ta carte son supporte le multiplexing ppp

    Eh oui, je dis bien "pouvais pas", parce que meme avec une carte son pourrie, il y a encore une solution: asound ...

    si tu as un fichier ~/.asoundrc alors plusieur aplis ALSA peuvent acceder en meme temps a la carte.

    Finalement, chez moi il y a:
    ALSA + asoundrc + esd-alsa.
    Cela me permet en meme temps d avoir:
    xmms-alsa, mplayer-alsa gaim-esd.

    La ou ca coince, c est pour le VOIP ( Skype/Gnomemeeting), la je coupes toutes mes aplis ALSA ( xmms, mplayer, esd ... ), et alors je peux lancer mon apli VOIP qui accede en OSS grace specifiquement a snd-pcm-oss/snd-mixer-oss ( et ils ne me servent qu a ca).

    Je n ai pas besoin de Dmix ni Arts, donc je peux pas te dire comment ils marchent.


    dhp@pluton:~$ cat .asoundrc
    pcm.ossmix {
    type dmix
    ipc_key 1337 # must be unique!
    slave {
    pcm "hw:0,0" # you cannot use a "plug" device here, darn.
    period_time 0
    period_size 1024 # must be power of 2
    buffer_size 8192 # dito
    rate 44100 # Same rate for everyone
    }

    # bindings are cool. This says, that only the first
    # two channels are to be used by dmix, which is enough for
    # (most) oss apps and also lets multichannel chios work
    # much faster:

    bindings {
    0 0 # from 0 => to 0
    1 1 # from 1 => to 1
    }
    }

    # Everything shall be dmixed, so redefine "default":
    pcm.!default {
    type plug
    slave.pcm "ossmix"
    }

    pcm.dsp0 {
    type plug
    slave.pcm "ossmix" # use our new PCM here
    }


    Puree, ca parles de OSS et Mixer ... je ve veux pas comprendre pourquoi .... ca marche comme ca chez moi, alors me poses pas plus de questions :D

    PS: j utilise mplayer en mode alsa, et xmms en mode esd, car xmms est bien plus stable en esd qu en alsa, et pourtant, esd n introduit aucun lag cote XMMS. Je suis en Debian SID.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.