Bug 1256510: When shutting down MediaStreamGraphs, if the graph hasn't started, let it start and shut down r?padenot
MozReview-Commit-ID: 64WjTbaduvu
--- a/dom/media/MediaStreamGraph.cpp
+++ b/dom/media/MediaStreamGraph.cpp
@@ -1474,16 +1474,24 @@ void
MediaStreamGraphImpl::ForceShutDown(ShutdownTicket* aShutdownTicket)
{
NS_ASSERTION(NS_IsMainThread(), "Must be called on main thread");
STREAM_LOG(LogLevel::Debug, ("MediaStreamGraph %p ForceShutdown", this));
{
MonitorAutoLock lock(mMonitor);
mForceShutDown = true;
mForceShutdownTicket = aShutdownTicket;
+ if (mLifecycleState == LIFECYCLE_THREAD_NOT_STARTED) {
+ // We *could* have just sent this a message to start up, so don't
+ // yank the rug out from under it. Tell it to startup and let it
+ // shut down.
+ RefPtr<GraphDriver> driver = CurrentDriver();
+ MonitorAutoUnlock unlock(mMonitor);
+ driver->Start();
+ }
EnsureNextIterationLocked();
}
}
/* static */ StaticRefPtr<nsIAsyncShutdownBlocker> gMediaStreamGraphShutdownBlocker;
namespace {