jack thoughts ... was :Re: [linux-audio-dev] Reborn

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: jack thoughts ... was :Re: [linux-audio-dev] Reborn
From: günter geiger (geiger_AT_xdv.org)
Date: Tue Aug 13 2002 - 14:58:02 EEST


On Tue, 13 Aug 2002, Steve Harris wrote:

> On Tue, Aug 13, 2002 at 12:23:28 +0200, günter geiger wrote:
> > Actually I think for output only applications you could get off without a
> > redesign. Just write your data to a buffer and wait until the process()
> > fetches it. This will introduce a buffer copy, but the overhead is minimal
> > and you can happily play into your favourite soundeditor. (Which is what
> > we want).
>
> True, but I think this is not ideal. The jack (ASIO, CoreAudio etc.) model
> has some advantages in app design, so I think it is better to change the
> model where possible. Plus, as you said, there is an additional copy.

Of course its not ideal, but it works and doesnt have any drawbacks.
2-3 hours work for the author, another app in the jack list.
Nobody who doesnt read the source code will note any difference.
But the users will note it. --> more users --> more feedback -->
better motivation to improve the software --> less bugs --> more
happiness
Plus, I seriously will push any app that supports jack for the AGNULA
distribution.

Later if authors see the possibilies they gain, they still can redesign
their app, but this is sometimes a major task and not done that easily.

> That said people have used this technique to port apps for that do duplex
> too, and I'm not sure what the best model would be if you wanted to
> support open/read/write and jack style i/o in the same app. Port Audio
> manages this I believe, I'm not sure what its API is like.

Yes, but with full duplex you do not have a chance to keep your app at
the lowest possible latency, because you have to introduce one jack
buffer size of delay.

There is the other solution that you introduce task switches and
synchronise in your process() function, but I think that this is really
a bad solution.

the Portaudio authors do not recommend to use the open/read/write
interface, yet I have to take a look how its implemented.
Probably using only writes is ok there too.

Guenter


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Aug 13 2002 - 15:02:52 EEST