Re: [ecasound] buffer logic
Brought to you by:
kaiv
From: Patrick S. <psh...@bo...> - 2013-09-24 22:19:02
|
On Wed, September 25, 2013 12:43 pm, Kai Vehmanen wrote: > Hi, > > On Tue, 24 Sep 2013, Patrick Shirkey wrote: > >> 1: Does it push the data immediately to the output when it gets >> something >> from the input with latency defined by the period size of the buffer >> 2: I/O is callback based with an internal logic for transmitting data >> based on internal timing un/related to the period size of the buffer? > > option 1 > > Unless you add some effect/chainop in the ecasound chains that processes > the data as it passes by, there is no added latency. > > You can see the logic with quite a bit of code documentation in > ecasound/libecasound/audioio_jack_manager.cpp:eca_jack_process_engine_iteration() > >> i.e does ecasound have an internal buffer that can store buffered data >> if >> there is an underrun or does it work in a type of passthrough mode. What >> comes in goes out, even if there is an underrun? > > Ecasound is deterministic in this sense and there is no internal > buffering. In the very, very unlikely case that ecasound is late in > providing data to JACK, jackd will kick ecasound out as it's not behaving. > Thanks. That's what I was expecting but just needed to confirm so I can go return the issue to the PA devs. -- Patrick Shirkey Boost Hardware Ltd |