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:
Dario Casalinuovo
2016-02-11 19:17:20 +01:00
parent b25d4dd141
commit 4666afbf41
+5 -8
View File
@@ -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;