BMediaEventLooper: Revert recent timeout rework
* While on my system it looked like to run well, it introduced a regression on some hardware. I'm reverting it as I don't have a better solution, with the difference that we will do that only for perfomance time events. * Fixes #12624.
This commit is contained in:
@@ -217,7 +217,6 @@ BMediaEventLooper::ControlLoop()
|
||||
bigtime_t waitUntil = B_INFINITE_TIMEOUT;
|
||||
bool hasRealtime = false;
|
||||
bool hasEvent = false;
|
||||
bool hasBooted = false;
|
||||
|
||||
// While there are no events or it is not time for the earliest event,
|
||||
// process messages using WaitForMessages. Whenever this funtion times out,
|
||||
@@ -274,14 +273,12 @@ BMediaEventLooper::ControlLoop()
|
||||
fEventQueue.FirstEventTime(),
|
||||
fEventLatency + fSchedulingLatency);
|
||||
|
||||
// The first event we handle will have
|
||||
// a negative startup wait. In this case
|
||||
// we just check the port and let the
|
||||
// first event to be executed just now.
|
||||
if (!hasBooted && waitUntil < 0) {
|
||||
// TODO: At boot the wait time go
|
||||
// to negative depending on the system
|
||||
// speed, this should be fixed.
|
||||
if (waitUntil < 0)
|
||||
waitUntil = 0;
|
||||
hasBooted = true;
|
||||
}
|
||||
|
||||
} else if (!hasRealtime)
|
||||
waitUntil = B_INFINITE_TIMEOUT;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user