On Thu, 22 Nov 2001, Paul Davis wrote:

> >Using callbacks is a bit unuseable in the unix systems, because it doesn't
> >allow multiprocess communication. Using RPC has same cost like poll,
> >so I don't see any benefit here.
>
> also, just to be clear: sure, there's still poll(2) involved. the
> point is not that its cheap (this is what Abramo and I disagreed about
> originally, and he turned out to be right - its cheap *enough* for
> many things), but that it encourages/enforces program design
> that allows desirable things to be done.
>
> i spent some time last week porting a nice little app called RythmnLab
> to use JACK. it used the same kind of design that so many linux audio
> apps do - blocking reads and/or writes on the audio device. this
> approach just can't be used for low latency sample sync'ed
> performance. its precisely this goal that is so important to the
> Windows/MacOS proprietary s/w developers these days, and it should be
> for us as well, IMHO.

I still don't understand the difference. Seeing jack code, there is
nothing new. You are using threads, shm for multiprocess communication
and callbacks for the final communication between the application audio
code and arbiter client. Can I see the global JACKs scheme which beats
this scheme?

Here is our scheme for share and future mix plugins / aserver:

<audio stream producer> -> <shm sender & poll> -> <arbiter & poll> ->
<final point - audio device or other consumer & poll>

Note that alsa-lib covers the <shm sender & poll>.

I have a strong suspect, that the JACK engine is only some pre-cache
tool which can be solved using bigger ring-buffer. I think that the
global serializing and parallelizing scheme can't be avoided or changed
in the audio dataflow.

Yes, I know that many audio software developers (I must admit that
I can count myself there, because aplay/arecord and the pcm test utility
uses standard blocking scheme) waits directly to stream and don't use the
meantime to prepare new samples (I'm refering here managing file I/O or
generating new samples) for the ready event.

                                                Jaroslav

-----
Jaroslav Kysela <[EMAIL PROTECTED]>
SuSE Linux    http://www.suse.com
ALSA Project  http://www.alsa-project.org


_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to