diff options
author | Randell Jesup <rjesup@jesup.org> | 2017-01-13 13:54:20 -0500 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-04-19 11:59:36 +0200 |
commit | 8c9b42d0b95bafd3e4dacdc1ab21af4066cfcbd9 (patch) | |
tree | 403e1974e55b765c1a05ea9cbc0371f0890091fc /dom/media | |
parent | e7189e33f533f9b974b22c2110b522a13bc4c7f6 (diff) | |
download | UXP-8c9b42d0b95bafd3e4dacdc1ab21af4066cfcbd9.tar UXP-8c9b42d0b95bafd3e4dacdc1ab21af4066cfcbd9.tar.gz UXP-8c9b42d0b95bafd3e4dacdc1ab21af4066cfcbd9.tar.lz UXP-8c9b42d0b95bafd3e4dacdc1ab21af4066cfcbd9.tar.xz UXP-8c9b42d0b95bafd3e4dacdc1ab21af4066cfcbd9.zip |
Bug 1452416 - Release GraphDrivers outside of StableState runnable to avoid spinning the event queue. r=smaug, r=padenot, a=RyanVM
--HG--
extra : source : c90ec782d481f05f5848f171a945cfc5bcf5b0ca
Diffstat (limited to 'dom/media')
-rw-r--r-- | dom/media/MediaStreamGraph.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/dom/media/MediaStreamGraph.cpp b/dom/media/MediaStreamGraph.cpp index 94cafa029..e2934cbb2 100644 --- a/dom/media/MediaStreamGraph.cpp +++ b/dom/media/MediaStreamGraph.cpp @@ -1715,6 +1715,10 @@ MediaStreamGraphImpl::RunInStableState(bool aSourceIsMSG) RefPtr<GraphDriver> driver = CurrentDriver(); MonitorAutoUnlock unlock(mMonitor); driver->Start(); + // It's not safe to Shutdown() a thread from StableState, and + // releasing this may shutdown a SystemClockDriver thread. + // Proxy the release to outside of StableState. + NS_ReleaseOnMainThread(driver.forget(), true); // always proxy } } |