author | JW Wang <jwwang@mozilla.com> |
Fri, 10 Mar 2017 16:44:41 +0800 | |
changeset 347414 | 27faa5825463a71e06c7abd41c0097beae540207 |
parent 347413 | c1880dccfde597ff54f0dea2028f8d56d8231a89 |
child 347415 | 6343f0613cb5a4db97f9bdef57176f1ca399c3df |
push id | 31496 |
push user | cbook@mozilla.com |
push date | Tue, 14 Mar 2017 13:21:57 +0000 |
treeherder | mozilla-central@9a26ed658fdc [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jesup |
bugs | 1346681 |
milestone | 55.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/media/gmp/GMPVideoEncoderParent.cpp +++ b/dom/media/gmp/GMPVideoEncoderParent.cpp @@ -252,19 +252,19 @@ GMPVideoEncoderParent::ActorDestroy(Acto if (mCallback) { // May call Close() (and Shutdown()) immediately or with a delay mCallback->Terminated(); mCallback = nullptr; } // Must be shut down before VideoEncoderDestroyed(), since this can recurse // the GMPThread event loop. See bug 1049501 if (mEncodedThread) { - NS_DispatchToMainThread( - WrapRunnableNM(&ShutdownEncodedThread, nsCOMPtr<nsIThread>(mEncodedThread)) - ); + nsCOMPtr<nsIRunnable> r = WrapRunnableNM( + &ShutdownEncodedThread, nsCOMPtr<nsIThread>(mEncodedThread)); + SystemGroup::Dispatch("ShutdownEncodedThread", TaskCategory::Other, r.forget()); mEncodedThread = nullptr; } if (mPlugin) { // Ignore any return code. It is OK for this to fail without killing the process. mPlugin->VideoEncoderDestroyed(this); mPlugin = nullptr; } mVideoHost.ActorDestroyed(); // same as DoneWithAPI