On Fri, Jun 19, 2009 at 12:33:24AM +0200, Lennart Poettering wrote:
> This is basically what happens. However in PA we are much more dynamic
> than JACK generally is. JACK clients generally just have a single
> stream of PCM data which is passed between the RT and the non-RT
> threads. However, PA is not as simple as that. We have streams coming
> and going all the time, our control data changes. That's why we need
> to change our internal pipeline and other shared meta data often while
> streaming. In JACK the answer to pipeline changes is considering them
> something that doesn't normally happen and when it happens then
> drop-outs are fine. That doesn't really work for PA. If we'd drop out
> each time someone triggeres a stupid event sound to be played then uh,
> that would make people very unhappy. So, in PA that line is blurred
> and we do change our pipeline while streaming, which means
> communication between the control and the RT threads needs to go
> beyond simple passing of PCM data. We need to be able to make changes
> to the control stuff too. And some of that we do in asynchronous
> fashion, by asynchronously triggering something in the RT loop to be
> executed when the RT loop thinks it's a good time and verified that a
> bit of is timeslace is available.
What I don't understand is this:
- You wait, e.g. using frames_since_cycle_start(),
until near the end of the current period, then give
up if nothing wants your attention.
- Since it has to be 'until near the end' and not
'exactly the end', this doesn't exclude that some
event could still happen within the current period
but after you stopped waiting for it.
- Such an event then has to be handled in the next
period. If this is acceptable, why wouldn't it be
acceptable for things that happened just a bit
earlier ? Which would mean you could afford to
wait less.
- In the limit you don't have to wait at all after
the normal callbackk processing has been done,
everything that happens later will be dealt with
in the next period. Jack periods are rarely > 1024
samples.
What am I missing ?
Ciao,
-- FA Io lo dico sempre: l'Italia è troppo stretta e lunga. _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@email-addr-hidden http://lists.linuxaudio.org/mailman/listinfo/linux-audio-devReceived on Fri Jun 19 04:15:04 2009
This archive was generated by hypermail 2.1.8 : Fri Jun 19 2009 - 04:15:05 EEST