Zitat Zitat von Buebchen
Sound-Device (Block aus Float-Werten) -> [Auswerter-Module] -> Aufnahmemodul 1 -> Aufnahmemodul 2 -> Aufnahmemodul 3 ...
OK. heißt das (in Kurzform für die anwesenden Nicht-entwickler wie mich):
monitord kann ohne probleme x-fach parallel aufzeichnen?

Folglich könnten diverse Clients parallel REC-Kommandos an den Server senden.

Um die Clients dann im Protokoll auseinanderzuhalten müsste man eine Art "Auftrags-ID" festlegen, damit der Client später seinen Aufzeichnung findet. Das würde gewährleisten, dass a) mehrere Clients parallel und b) ein Client parallel mehrere Kanäle aufzeichnen können.

Beispiel:

C->S (aufnahme start timed)
230:(Soundkarte):(Kanal):(Dauer Sec):(Dateiname HEX)
oder
C->S (aufnahme start infinite)
231:(Soundkarte):(Kanal):(Dateiname HEX)

wobei man sich da ein Kommando sparten könnte und einfach 230 mit Zeitangabe 0s übermittelt, um eine langfristige Aufnahme anzuleiern

S->C (aufnahme gestartet)
131:(Dateiname HEX):(Auftrags-ID) -- die ID erstellt der Server so quasi aus einer Kombo: IP des Clients plus /dev/random

...danach...

S->C (Aufnahme fertig)
132:(Dateiname HEX):(Auftrags-ID)

zwischendrin könnte dann auch noch kommen:
C->S (Aufnahme abbrechen)
239:(Dateiname HEX):(Auftrags-ID)
S->C (Aufnahme fertig)
132:(Dateiname HEX):(Auftrags-ID)

oder der Client sendet das 230er Kommando nochmal und der Server verlängert einfach den REC-Vorgang.

klingt das plausibel?

Andreas