Bug 1561178 - Shutdown video bridge for all processes that might be using it. r=jya
authorMatt Woodrow <mwoodrow@mozilla.com>
Fri, 28 Jun 2019 06:33:00 +0000
changeset 543329 ff918c1013b8d543c34fa54b7f56eaf2baa41112
parent 543328 a4c9b86885b79378a53856334f68f4d2e10e1976
child 543330 29d310d368efef7ae997f69dc979e7fcb6f6bfa9
push id2131
push userffxbld-merge
push dateMon, 26 Aug 2019 18:30:20 +0000
treeherdermozilla-release@b19ffb3ca153 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjya
bugs1561178
milestone69.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 1561178 - Shutdown video bridge for all processes that might be using it. r=jya Differential Revision: https://phabricator.services.mozilla.com/D36000
dom/media/ipc/RDDParent.cpp
dom/media/ipc/RemoteDecoderManagerParent.cpp
--- a/dom/media/ipc/RDDParent.cpp
+++ b/dom/media/ipc/RDDParent.cpp
@@ -203,13 +203,15 @@ void RDDParent::ActorDestroy(ActorDestro
 
 #ifdef MOZ_GECKO_PROFILER
   if (mProfilerController) {
     mProfilerController->Shutdown();
     mProfilerController = nullptr;
   }
 #endif
 
+  RemoteDecoderManagerParent::ShutdownVideoBridge();
+
   CrashReporterClient::DestroySingleton();
   XRE_ShutdownChildProcess();
 }
 
 }  // namespace mozilla
--- a/dom/media/ipc/RemoteDecoderManagerParent.cpp
+++ b/dom/media/ipc/RemoteDecoderManagerParent.cpp
@@ -70,16 +70,17 @@ class RemoteDecoderManagerThreadShutdown
   RemoteDecoderManagerThreadShutdownObserver() = default;
 
   NS_DECL_ISUPPORTS
 
   NS_IMETHOD Observe(nsISupports* aSubject, const char* aTopic,
                      const char16_t* aData) override {
     MOZ_ASSERT(strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID) == 0);
 
+    RemoteDecoderManagerParent::ShutdownVideoBridge();
     RemoteDecoderManagerParent::ShutdownThreads();
     return NS_OK;
   }
 };
 NS_IMPL_ISUPPORTS(RemoteDecoderManagerThreadShutdownObserver, nsIObserver);
 
 bool RemoteDecoderManagerParent::StartupThreads() {
   MOZ_ASSERT(NS_IsMainThread());