diff --git a/dom/media/webrtc/MediaEngineTabVideoSource.cpp b/dom/media/webrtc/MediaEngineTabVideoSource.cpp index ef543dd087b7..1c6936ea897d 100644 --- a/dom/media/webrtc/MediaEngineTabVideoSource.cpp +++ b/dom/media/webrtc/MediaEngineTabVideoSource.cpp @@ -7,6 +7,7 @@ #include "mozilla/gfx/2D.h" #include "mozilla/RefPtr.h" +#include "mozilla/UniquePtrExtensions.h" #include "nsGlobalWindow.h" #include "nsIDOMClientRect.h" #include "nsIDocShell.h" @@ -247,7 +248,7 @@ MediaEngineTabVideoSource::Draw() { if (mDataSize < static_cast(stride * size.height)) { mDataSize = stride * size.height; - mData = static_cast(malloc(mDataSize)); + mData = MakeUniqueFallible(mDataSize); } if (!mData) { return; @@ -278,7 +279,7 @@ MediaEngineTabVideoSource::Draw() { RefPtr container = layers::LayerManager::CreateImageContainer(); RefPtr dt = Factory::CreateDrawTargetForData(BackendType::CAIRO, - mData.rwget(), + mData.get(), size, stride, SurfaceFormat::B8G8R8X8); diff --git a/dom/media/webrtc/MediaEngineTabVideoSource.h b/dom/media/webrtc/MediaEngineTabVideoSource.h index 99e36f18e474..a3afec00a2fc 100644 --- a/dom/media/webrtc/MediaEngineTabVideoSource.h +++ b/dom/media/webrtc/MediaEngineTabVideoSource.h @@ -7,6 +7,7 @@ #include "ImageContainer.h" #include "nsITimer.h" #include "mozilla/Monitor.h" +#include "mozilla/UniquePtr.h" #include "nsITabSource.h" namespace mozilla { @@ -85,7 +86,7 @@ private: int32_t mViewportWidth; int32_t mViewportHeight; int32_t mTimePerFrame; - ScopedFreePtr mData; + UniquePtr mData; size_t mDataSize; nsCOMPtr mWindow; RefPtr mImage;