Bearbeiten von „RoarAudio/Vorlage Vortrag (1h)“

Aus UUGRN

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und speichere dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 93: Zeile 93:
  
 
===== Welche Schnittstelle für was? =====
 
===== Welche Schnittstelle für was? =====
Aktuelle liste hier entnehmen: [[RoarAudio/Installation_und_Einrichtung#Kompatibilit.C3.A4ts_Layer|RoarAudio/Installation und Einrichtung Sektion Kompatibilitäts Layer]].
+
Aktuelle liste hier entnehmen: [[Installation_und_Einrichtung#Kompatibilit.C3.A4ts_Layer|RoarAudio/Installation und Einrichtung Sektion Kompatibilitäts Layer]].
  
 
=== Konzepte und Architektur ===
 
=== Konzepte und Architektur ===
 
{{Vortrags Zeit|1}}
 
{{Vortrags Zeit|1}}
  
RoarAudio ist zwar in C geschrieben aber größtenteils Objekt-orientiert. Er umfasst im Moment etwa <<<aktueller wert hier einsetzen>>> tausend Zeilen C. (EsounD kommt auf rund 15 tausend, PulseAudio 74 tausend und aRts auf 130 tausend).
+
RoarAudio ist zwar in C geschrieben aber größtenteils Objekt-orientiert. Er umfasst im Moment etwa <<<aktuellerwert hier einsetzen>>> tausend Zeilen C. (EsounD kommt auf rund 15 tausend, PulseAudio 74 tausend und aRts auf 130 tausend).
  
 
==== Clients und Streams ====
 
==== Clients und Streams ====
Zeile 106: Zeile 106:
 
Ein Client Objekt verkörpert einen (Netzwerk) Client, zum Beispiel einen Player oder ein Steuerprogramm wie roarctl. Es kann auch Stream Objekte assoziiert haben (Beispielsweise im Falle von Abspielen von Musik).
 
Ein Client Objekt verkörpert einen (Netzwerk) Client, zum Beispiel einen Player oder ein Steuerprogramm wie roarctl. Es kann auch Stream Objekte assoziiert haben (Beispielsweise im Falle von Abspielen von Musik).
  
Ein Stream Objekt stellt einen eigentlichen Audio Datenstrom dar. Dieses Objekt beinhaltet diverse Informationen über den Datenstrom: Informationen wie roard ihn auslesen kann, Sample Rate/Bits/Channels, Meta Daten und vieles mehr. Ein Stream gehört immer zu einem Client, wobei der Client auch roard selbst sein kann. Er lässt sich durch ''attachen'' wechseln. Dies kommt zum Einsatz um Hintergrund-Streams zu ermöglichen.
+
Ein Stream Objekt stellt einen eigentlichen Audio Datenstrom dar. Dieses Objekt beinhaltet diverse Informationen über den Datenstrom: Informationen wie der roard ihn auslesen kann, Sample Rate/Bits/Channels, Meta Daten und vieles mehr. Ein Stream gehört immer zu einem Client, wobei der Client auch der roard selbst sein kann. Er lässt sich durch ''attachen'' wechseln. Dies kommt zum Einsatz um Hintergrund-Streams zu ermöglichen.
  
Bei jedem Audio Datenstrom der in den roard hinein oder heraus fließt handelt es sich um einen Stream. Dies schließt Datenströme zu Geräten wie Soundcards mit ein. Viele andere Soundserver behandeln Soundcards getrennt von den Streams der Clients. Hier unterscheidet sich RoarAudio deutlich. Die strickte Gleichbehandlung aller Datenströme in RoarAudio sorgt für eine maximale Flexibilität.
+
Bei jedem Audio Datenstrom der in den roard hinein oder heraus fließt handelt es sich um einen Stream. Dies schließt Datenströme zu Geräten wie Soundcards mit ein. Hierdurch ist eine maximale Flexibilität gegeben.
  
 
==== Driver ====
 
==== Driver ====
Zeile 124: Zeile 124:
  
 
==== Win32 Port ====
 
==== Win32 Port ====
Es existiert ein experimenteller [[Win32]] Nativ-[[Port]] der RoarAudio Bibliotheken, des roards sowie einiger weiterer grundlegender Hilfsprogramme. Die Funktionalität ist hier aber recht eingeschenkt.
+
Ein Win32 Port existiert zum jetzigen Zeitpunkt nicht. Dies liegt an mehren Faktoren: Zum einen ist Win32, was den nahe-realtime Betrieb angeht, nicht zuverlässig genug. Zum anderen ist bei Win32 das Networking kein Teil des Kernels wie auf UNIX und POSIX Systemen: Es ist viel mehr teilweise im Userland. Dies hat zur Folge das zu jedem Zeitpunkt eine Applikation wissen muss von welchem Type ein Filehandle ist, da man Basis Funktionen wie read(), write(), close() nicht auf alle Filehandles anwenden kann. Vielmehr hat jeder Type von Filehandles seinen eigenen Satz Funtionen. RoarAudio verfolgt die UNIX Philosophie: ''Alles ist eine Datei''. Große Patches wären nötig.
  
RoarAudio ist des weiteren in [[Cygwin]] lauffähig. Unter Cygwin können deutlich mehr funktionen als nativ genutzt werden. Allerdings sind hier auch einige Einschränkungen vorhanden.
+
Ein Weiteres ist das ein solcher Port viel Zeit in Anspruch nimmt und weder das Projekt noch die Freie Software Bewegung voranbringt.
  
Beide Optionen lassen sich nahezu beliebig kombinieren.
+
Im Moment existieren kleinere Patches die vielleicht irgendwann mal Basis Funktionalität mit sich bringen könnten. An ein roard für Win32 ist in absehbarer Zeit nicht zu denken.
  
Neben einigen Nativen Plugins besteht auch die Möglichkeit einige Win32 Applikationen mittels pseudo Web Radio Streams anzubinden.
+
Allerdings laufen Teile von RoarAudio in Cygwin mehr oder minder gut. Viele Probleme treten hier auf aber es ist prinzipiell möglich es unter Cygwin zum Laufen zu bringen (außerhalb des nahe-realtime Betriebs).
 +
 
 +
Es besteht aber die Möglichkeit einige Win32 Applikationen mittels pseudo Web Radio Streams anzubinden.
  
 
==== MP3 ====
 
==== MP3 ====
Zeile 157: Zeile 159:
 
** roarvorbis/roarcatplay?
 
** roarvorbis/roarcatplay?
 
** roarctl
 
** roarctl
** [[XMMS]] / [[Audacious]]
+
** xmms
 
* Kompatibilitäts Bibliotheken
 
* Kompatibilitäts Bibliotheken
 
** libroaresd:
 
** libroaresd:
*** [[Amarok]]
+
*** Amarok
  
 
== Fragen ==
 
== Fragen ==

Bitte kopiere keine Inhalte, die nicht Deine eigenen sind!

Du gibst uns hiermit Deine Zusage, dass
  • Du den Text nicht aus Wikipedia kopiert hast
  • Du den Text selbst verfasst hast
  • oder der Text entweder
    • Allgemeingut (public domain) ist
    • oder der Copyright-Inhaber seine Zustimmung gegeben hat.
Wichtig
  • Benutze keine urheberrechtlich geschützten Werke ohne Erlaubnis des Copyright-Inhabers!
  • Falls dieser Text bereits woanders veröffentlicht wurde, weise bitte auf der 'Diskussion:'-Seite darauf hin.
  • Bitte beachte, dass alle UUGRN-Beiträge automatisch unter der der Creative Commons Lizenz stehen.
  • Falls Du nicht möchtest, dass Deine Arbeit hier von anderen verändert und verbreitet wird, dann drücke nicht auf "Artikel Speichern".

Bitte beantworte die folgende Frage, um diese Seite speichern zu können (weitere Informationen):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)

Die folgende Vorlage wird auf dieser Seite verwendet: