On Sun, 16 Nov 2003, Marc [iso-8859-1] Lavall�e wrote:
On Sun, Nov 16, 2003 at 07:55:37PM +0100, guenter geiger wrote:
As Olaf already pointed out, JACK and ALSA is very linux specific, but the solution we come up should be crossplatform.
I understand, but I'm mostly interested in using sound applications on Linux that can handle the Unix stdin/out mechanism. Maybe with cygwin it would be possible to do the same on Windows. It would work on MacOSX. Maybe streaming throught stdin/out is a bad idea... Any opinions?
No, I think it is a good idea.
Actually you might be able to achieve your goals with the piperead~, pipewrite~ externals. You have to use the mkfifo command to create a named pipe, then redirect the raw audio data into that pipe and read it from pd with piperead~ from ext13. Its a bit messy but it might work.
Another solution would be to extract the formatting and networking code out of the streaming externals and make them usable as a library.
Then it would be only a few lines of code to either make the "audiocat" command, include it into a plugin or even writing a small jack client.
I think we would have to search around the web for existing solutions (like CStream etc.), then take a look at them and decide if we can reuse them.
Cstream is a general purpose streaming tool. We could add translation routines from the streamin/out~ formats to RAW or WAV.
But is there some sort of standard audio streaming protocol out there?
Thats another question. There are streaming formats like, quicktime. Maybe ffmpeg includes already all that would be needed (and that would mean support for "raw" data as well as more CPU intensive compressed formats such as mpeg and ogg).
So the user could choose between low latency intranet and low bandwith internet streaming without having to change the patch.
At the end it would be nice to have one streaming object pair that can do everything instead the different externals that we currently have. (like mp3, ogg and the strange streamin/streamout format).
Guenter