Bug 1346681 - Label runnables in dom/media/gmp/GMPVideoEncoderParent.cpp. r=jesup
authorJW Wang <jwwang@mozilla.com>
Fri, 10 Mar 2017 16:44:41 +0800
changeset 347414 27faa5825463a71e06c7abd41c0097beae540207
parent 347413 c1880dccfde597ff54f0dea2028f8d56d8231a89
child 347415 6343f0613cb5a4db97f9bdef57176f1ca399c3df
push id31496
push usercbook@mozilla.com
push dateTue, 14 Mar 2017 13:21:57 +0000
treeherdermozilla-central@9a26ed658fdc [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjesup
bugs1346681
milestone55.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
Bug 1346681 - Label runnables in dom/media/gmp/GMPVideoEncoderParent.cpp. r=jesup MozReview-Commit-ID: GZqomJdBKxB
dom/media/gmp/GMPVideoEncoderParent.cpp
--- 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