[linux-audio-dev] External audio interface (edirol FA/UA-101)

Jussi Laako jussi.laako at pp.inet.fi
Fri Sep 30 22:01:04 UTC 2005


On Fri, 2005-09-30 at 22:22 +0200, Florian Schmidt wrote:
> b] that the buffersize will not change inbetween two buffersize_callbacks.
> http://jackit.sourceforge.net/docs/reference/html/types_8h.html#a13
> I suppose your sample rate conversion stuff is violating the jack API
> requirements.

Could be, somewhat. Usually buffersize callback is used to allocate
buffers. My implementation guarantees that process callback is not
called with _more_ data between the buffersize callbacks. It can be one
sample less. It's just based on libsamplerate.

> Well, my jack_convolve simply uses what jack is providing (chopping up
> the response in buffersized chunks so each block can be directly
> processed without extra delay). jack_convolve relies on both a] and b]
> from above (well it really ignores the possibilities of the buffer size
> changing, so it really is broken, too, in a sense).

My rtEq code for example just does .Put() to filter and .Get() from
filter. All the buffer vs processing size is hidden and non-relevant.
And in case of recursive multi rate filter it can be different on each
recursion anyway.

> Which really is a problem i think. I don't use any USB hw for example,
> so i don't really know how this is solved in these cases.

In case of OSS backend, this can be handled by the driver. For multiple
samplerate case this is more complex.


-- 
Jussi Laako <jussi.laako at pp.inet.fi>




More information about the Linux-audio-dev mailing list