Bug 1423819 - reuse ImageContainer object instead of releasing and creating another one. r?pehrsons draft
authorMunro Mengjue Chiang <mchiang@mozilla.com>
Fri, 08 Dec 2017 16:53:42 +0800
changeset 709558 9a89935989a67318404d8f06a3d4e827eaf7bb18
parent 708751 096ace0c85f6596a4c2813b9b71877f1bbf86981
child 743456 af9f8fcafc447e316ee3d5fb0f22949487c6c0a3
push id92687
push userbmo:mchiang@mozilla.com
push dateFri, 08 Dec 2017 08:54:14 +0000
reviewerspehrsons
bugs1423819
milestone59.0a1
Bug 1423819 - reuse ImageContainer object instead of releasing and creating another one. r?pehrsons MozReview-Commit-ID: I7HJn6S7mDc
dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
--- a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
@@ -174,18 +174,20 @@ MediaEngineRemoteVideoSource::Start(Sour
 {
   LOG((__PRETTY_FUNCTION__));
   AssertIsOnOwningThread();
   if (!mInitDone || !aStream) {
     LOG(("No stream or init not done"));
     return NS_ERROR_FAILURE;
   }
 
-  mImageContainer =
-    layers::LayerManager::CreateImageContainer(layers::ImageContainer::ASYNCHRONOUS);
+  if (!mImageContainer) {
+    mImageContainer =
+      layers::LayerManager::CreateImageContainer(layers::ImageContainer::ASYNCHRONOUS);
+  }
 
   {
     MonitorAutoLock lock(mMonitor);
     mSources.AppendElement(aStream);
     mPrincipalHandles.AppendElement(aPrincipalHandle);
     mTargetCapabilities.AppendElement(mTargetCapability);
     mHandleIds.AppendElement(mHandleId);
     mImages.AppendElement(mImageContainer->CreatePlanarYCbCrImage());