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; bigtime_t waitUntil = B_INFINITE_TIMEOUT;
bool hasRealtime = false; bool hasRealtime = false;
bool hasEvent = false; bool hasEvent = false;
bool hasBooted = false;
// While there are no events or it is not time for the earliest event, // While there are no events or it is not time for the earliest event,
// process messages using WaitForMessages. Whenever this funtion times out, // process messages using WaitForMessages. Whenever this funtion times out,
@@ -274,14 +273,12 @@ BMediaEventLooper::ControlLoop()
fEventQueue.FirstEventTime(), fEventQueue.FirstEventTime(),
fEventLatency + fSchedulingLatency); fEventLatency + fSchedulingLatency);
// The first event we handle will have // TODO: At boot the wait time go
// a negative startup wait. In this case // to negative depending on the system
// we just check the port and let the // speed, this should be fixed.
// first event to be executed just now. if (waitUntil < 0)
if (!hasBooted && waitUntil < 0) {
waitUntil = 0; waitUntil = 0;
hasBooted = true;
}
} else if (!hasRealtime) } else if (!hasRealtime)
waitUntil = B_INFINITE_TIMEOUT; waitUntil = B_INFINITE_TIMEOUT;