Hi Julian, sorry i don't have a lot of time to reply
It's not a speculation, it's a defintion. Sure, not from the BeBook, it
was formulated by me, based on the views expressed by bonefish in said bug
ticket.
Staying on your definition of lateness literally, i may enqueue an event
at time X for performance time X+Y, but if i have a delay after X the
buffer isn't late? This is funny non-sense :-)
That is nonsense indeed, and it is not what I wrote at all.
We are talking about the control loop of BMediaEventLooper, so of course
what we discuss only applies to those. How non-BMediaEventLooper-nodes
implement lateness is their own business and not relevant here. As long as
those nodes fulfill the seamlessness constraint as well, everything will be
fine.
In the MediaKit it is always the consumer node who notifies the producer
node of lateness, you can read that up in the BeBook. The notification does
not happen in the BMediaEventLooper control loop itself, right, but the
control loop calculates the lateness value which the consumer should later
use for notification.
And of course BMediaEventLooper must decide who is late. It already does
that now, by either passing a positive value or a zero in the lateness
parameter of DispatchEvent().
For a buffer event, passing on a positive value means "the producer who
sent us this was late by this amount", passing zero means "the producer who
sent us this was on time".
As was written before (by others as well), the Media Kit should and can
handle such blackouts/delay situations.
properly when lateness is handled correctly.
I gave a detailed example of the problem. It is not necessary to have a
test-case in code-form to see what's broken.
correctly by your code.