Bug 1423819 - reuse ImageContainer object instead of releasing and creating another one. r?pehrsons
MozReview-Commit-ID: I7HJn6S7mDc
--- 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());