Bug 1228226 - Backed out changeset 2553c3b5ba89.

This causes a number of issues, like bug 1329082, where we don't swap the
message queues of the MSG where we should, and blows up an assert in debug.

MozReview-Commit-ID: 2I3IjfK8L8r
This commit is contained in:
Paul Adenot 2017-01-13 16:15:27 +01:00
parent 9c04aa009c
commit c666bf1323

View File

@ -1256,6 +1256,8 @@ MediaStreamGraphImpl::UpdateGraph(GraphTime aEndBlockingDecisions)
// been woken up right after having been to sleep.
MOZ_ASSERT(aEndBlockingDecisions >= mStateComputedTime);
UpdateStreamOrder();
bool ensureNextIteration = false;
// Grab pending stream input and compute blocking time
@ -1406,22 +1408,7 @@ MediaStreamGraphImpl::OneIteration(GraphTime aStateEnd)
// Process graph message from the main thread for this iteration.
RunMessagesInQueue();
UpdateStreamOrder();
bool switchingFromSystemClockDriver = false;
{
MonitorAutoLock mon(mMonitor);
switchingFromSystemClockDriver = CurrentDriver()->AsSystemClockDriver() && CurrentDriver()->Switching();
}
GraphTime stateEnd = std::min(aStateEnd, mEndTime);
// See Bug 1228226 - If we're switching from the SystemClockDriver, we
// don't want time to advance until after the switch.
if (switchingFromSystemClockDriver) {
stateEnd = mProcessedTime;
}
UpdateGraph(stateEnd);
mStateComputedTime = stateEnd;