[haiku-development] enqueue_time still problems

  • From: Dario Casalinuovo <b.vitruvio@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 26 Aug 2015 19:49:50 +0200

Hello,

i have been working on this in the latest days but still i see a unexpected
behavior.

With the attached patch applied there's a difference, it seems using the
enqueue time add a strange latency.

This could be fixed by adding the reported latency in LateNoticeReceived
which libjackcompat isn't implementing actually. But AFAIK it shouldn't
happen at all.

We are adding enqueue_time because there was an increasing latency (really
this was caused by the bad math IMHO), now we have increased latency for
the first buffers and at some point we reach a stable latency close to the
whole chain. Is it correct?

Can someone explain me why the enqueue time change the behaviour? Or
alternatively what i'm missing, before i break everything.

Let me also object on the arguments that wanted the latency calculus be
done with the enqueue_time because we can't get this value. It's not true,
as eventually the enqueue_time field will be public, the client will be
always able to obtain it from the media_timed_event passed in HandleEvent.

--
Best Regards,
Dario
JackClient::Open
ClientNode::NodeRegistered
JackClient::Activate
jack_get_ports
connect wjack_simple_client:output1 system:playback_1
output1
ClientNode::FormatProposal
ClientNode::PrepareToConnect
Connecting to wjack_simple_client:output1
ClientNode::GetNextOutput 0 output1
ClientNode::GetNextOutput 1 output2
connect wjack_simple_client:output2 system:playback_2
output2
ClientNode::FormatProposal
ClientNode::PrepareToConnect
Connecting to wjack_simple_client:output2
ClientNode::GetNextOutput 0 output1
ClientNode::GetNextOutput 1 output2
The client is starting now
JackClient::ActivateNode
BTimedEventQueue::B_START
Estimated latency is 9
The start event has been scheduled
JackClient::DeActivate
JackClient::Close
JackClient::Open
ClientNode::NodeRegistered
JackClient::Activate
jack_get_ports
connect wjack_simple_client:output1 system:playback_1
output1
ClientNode::FormatProposal
ClientNode::PrepareToConnect
Connecting to wjack_simple_client:output1
ClientNode::GetNextOutput 0 output1
ClientNode::GetNextOutput 1 output2
connect wjack_simple_client:output2 system:playback_2
output2
ClientNode::FormatProposal
ClientNode::PrepareToConnect
Connecting to wjack_simple_client:output2
ClientNode::GetNextOutput 0 output1
ClientNode::GetNextOutput 1 output2
The client is starting now
JackClient::ActivateNode
BTimedEventQueue::B_START
Estimated latency is 9
The start event has been scheduled
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 108566
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 102795
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 97028
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318806
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14319277
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318786
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318785
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318785
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318788
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318782
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318783
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318790
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318907
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318783
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318783
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318808
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318786
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318784
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318785
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318782
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318973
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318786
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318799
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318785
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318780
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14319261
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318784
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318783
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318784
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318785
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318784
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318902
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318770
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318781
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318810
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318784
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318784
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318779
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318778
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318961
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318774
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318777
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318775
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318773
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318776
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318771
ClientNode::HandleEvent::NEW_BUFFER_EVENT, event scheduled much too late,
lateness is 14318772
JackClient::DeActivate
JackClient::Close
diff --git a/headers/os/media/TimedEventQueue.h
b/headers/os/media/TimedEventQueue.h
index 732fd17..bbc6663 100644
--- a/headers/os/media/TimedEventQueue.h
+++ b/headers/os/media/TimedEventQueue.h
@@ -39,7 +39,23 @@ struct media_timed_event {
int64 bigdata;
char user_data[64];

- uint32
_reserved_media_timed_event_[8];
+ // TODO: We should use the timestamp at which the
message
+ // is written to the port to get things more precise.
+ // One way to do that would be to have a
get_port_timestamp
+ // function with a correlated way to set a flag
allowing this,
+ // and store this value when the message is received
+ // by the BMediaNode. When BMediaEventLooper add a new
event
+ // will pass this value to the constructor. The only
problem
+ // to this is BMediaEventLooper::BufferReceived which
since is
+ // implemented by derived classes will escape this new
+ // way to work. Since all loopers are doing the same
thing
+ // we could just provide a default implementation by
having
+ // derived classes to call the base implementation if
they
+ // really want to override it. It should be possible to
+ // do that without breaking compatibility.
+ bigtime_t timestamp;
+
+ uint32
_reserved_media_timed_event_[6];
};


diff --git a/src/kits/media/MediaEventLooper.cpp
b/src/kits/media/MediaEventLooper.cpp
index c592845..3a67184 100644
--- a/src/kits/media/MediaEventLooper.cpp
+++ b/src/kits/media/MediaEventLooper.cpp
@@ -236,7 +236,7 @@ BMediaEventLooper::ControlLoop()
err = fRealTimeQueue.RemoveFirstEvent(&event);

if (err == B_OK) {
- bigtime_t lateness = waitUntil -
TimeSource()->RealTime();
+ bigtime_t lateness = event.timestamp -
waitUntil;
if (lateness < 0)
lateness = 0;

diff --git a/src/kits/media/TimedEventQueuePrivate.cpp
b/src/kits/media/TimedEventQueuePrivate.cpp
index 6b5be4d..081850a 100644
--- a/src/kits/media/TimedEventQueuePrivate.cpp
+++ b/src/kits/media/TimedEventQueuePrivate.cpp
@@ -74,6 +74,8 @@ _event_queue_imp::AddEvent(const media_timed_event &event)

// printf(" adding %12Ld at %12Ld\n", event.event_time,
system_time());

+ *(bigtime_t *)&event.timestamp = system_time();
+
if (event.type <= 0) {
return B_BAD_VALUE;
}

Other related posts:

  • » [haiku-development] enqueue_time still problems - Dario Casalinuovo