PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beziehungen, Hirarchien und Abhängigkeiten


Alexey
20.11.03, 01:45
Ich hab die letzten drei Stunden damit verbracht einen arts-Server zum laufen zu bekommen was nun auch funktioniert. Dabei habe ich zahlreiche Threads hier im Forum und andere Docs gelesen und ziemlich viele neue Begriffe kennengelernt:

arts,esd,alsa,oss... :ugly:

irgendwie bin ich aber verwirrt. Die Beziehung zwischen dem DSP-Device und einem Sounserver wie z.B. ARTS verstehe ich. Der Soundserver managed die reinkommender Soundsignale und gibt sie nacheinander an die Soundkarte, die sie nacheinander abarbeitet, was der User aber nicht merkt - für den hört sich alles gleichzeitig. Soweit richtig ? Wenn ja...

Welche Rolle spielen dann die Treiber wie OSS und ALSA. An welche Stelle treten sie auf ? Nach der Installation eines ARTS-Plugins für XMMS habe ich den Output-Plugin von OSS auf ARTS umgeschaltet, was aber nicht zu meiner Vorstellung passt, denn wie kann ein Treiber an die Stelle eines Soundservers treten ? :confused:

Hoffe jemand kann Licht in die Dunkelheit bringen

THEReapMan
20.11.03, 06:16
Also ALSA und OSS sind Treiberpakete für Soundkarten.
Arts ist ein Soundserver der alle Signale die er bekommt zusammenmischt und als einen Stream an den Soundtreiber wiedergibt, da die meisten Soundkarten meist nur einen Stream gleichzeitig abspielen können.

Aussnahmen sind zb die SBLive!. Bei ihr wird auch kein Arts benötigt da sie mehrere Stream spielen kann.

Also nochmal kurz zum mitschreiben (ab Beispiel von XMMS):

Mit Arts:
XMMS -> Arts -> ALSA/OSS -> /dev/dsp (Soundkarte)

Ohne Arts:
XMMS -> ALSA/OSS -> /dev/dsp (Soundkarte)

wenn allerdings bei einer 1 Streamkarte die 2. Variante gewählt wird, werden alle anderen Soundprogramme den Dienst verweigern da XMMS direkt das Sound-Device blockiert.

Hoffe jetz ist es dir klar.

Markus

Alexey
20.11.03, 09:36
Und wie kommt es dann, das ich beim Ausgabe-Plugin bie XMMS OSS mit ARTS ersetze ? Ist es so, dass ARTS erstmal das Signal von XMMS übernimmt und es selber dann an OSS weitergibt, was aber XMMS nicht zu kümmern braucht ?

flashbeast
20.11.03, 12:06
ja so ist es, arts oder esd ist sozusagen ein umweg, eine art sammelstelle. hier werden alle audiosignale gesammelt, gebündelt und an den soundtreiber weitergegeben.

ich hab bei xine, xmms, licq, nautilus etc. es als ausgabe (teilweise per default, teilweise per plugin) esd, die signale werden also alle an esd übergeben statt an alsa übergeben. so kriegt man keine unnötige warteschlange (die sounds werden, sobald der soundkartentreiber wieder frei ist, nacheinander abgearbeitet), sondern es wird alles schön gleichzeitig gespielt, so als ob eine kasse mehrere kunden abfertigen könnte; bei mehrkanaligen karten ist das nicht nötig, da gibt es eben mehrere kassen ;) ).

was mich aber noch stört ist dass
1.) es teilweise noch konflikte gibt -> xine mag manchmal nicht korrekt initialisieren, bis man z.b. bei xmms auf stop gedrückt hat; xmms selbst hat eine deutliche verzögerung gegenüber einer direkten ansteuerung
2.) spiele mögen esd überhaupt nicht und boykottieren es oder spielen verzerrten sound ab; es wird einfach nicht konsequent berücksichtigt