diff options
author | sotaro <sotaro.ikeda.g@gmail.com> | 2019-03-23 13:01:13 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-03-23 13:57:02 +0100 |
commit | 724368467bb00e7b08fc0fc178ef261411f7c9e0 (patch) | |
tree | dcdb645e375c099cb5b84a8c991e1d8c58056875 /dom/media/VideoFrameContainer.cpp | |
parent | cee1324f0fb9b7fd989f7479b696c999493ed8af (diff) | |
download | UXP-724368467bb00e7b08fc0fc178ef261411f7c9e0.tar UXP-724368467bb00e7b08fc0fc178ef261411f7c9e0.tar.gz UXP-724368467bb00e7b08fc0fc178ef261411f7c9e0.tar.lz UXP-724368467bb00e7b08fc0fc178ef261411f7c9e0.tar.xz UXP-724368467bb00e7b08fc0fc178ef261411f7c9e0.zip |
Check if CopyData succeeded.
Diffstat (limited to 'dom/media/VideoFrameContainer.cpp')
-rw-r--r-- | dom/media/VideoFrameContainer.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/dom/media/VideoFrameContainer.cpp b/dom/media/VideoFrameContainer.cpp index 2b1965766..56aea9d27 100644 --- a/dom/media/VideoFrameContainer.cpp +++ b/dom/media/VideoFrameContainer.cpp @@ -61,7 +61,7 @@ void VideoFrameContainer::UpdatePrincipalHandleForFrameIDLocked(const PrincipalH mFrameIDForPendingPrincipalHandle = aFrameID; } -static void +static bool SetImageToBlackPixel(PlanarYCbCrImage* aImage) { uint8_t blackPixel[] = { 0x10, 0x80, 0x80 }; @@ -72,7 +72,7 @@ SetImageToBlackPixel(PlanarYCbCrImage* aImage) data.mCrChannel = blackPixel + 2; data.mYStride = data.mCbCrStride = 1; data.mPicSize = data.mYSize = data.mCbCrSize = gfx::IntSize(1, 1); - aImage->CopyData(data); + return aImage->CopyData(data); } class VideoFrameContainerInvalidateRunnable : public Runnable { @@ -122,11 +122,13 @@ void VideoFrameContainer::SetCurrentFrames(const VideoSegment& aSegment) if (frame->GetForceBlack()) { if (!mBlackImage) { - mBlackImage = GetImageContainer()->CreatePlanarYCbCrImage(); - if (mBlackImage) { + RefPtr<Image> blackImage = GetImageContainer()->CreatePlanarYCbCrImage(); + if (blackImage) { // Sets the image to a single black pixel, which will be scaled to // fill the rendered size. - SetImageToBlackPixel(mBlackImage->AsPlanarYCbCrImage()); + if (SetImageToBlackPixel(blackImage->AsPlanarYCbCrImage())) { + mBlackImage = blackImage; + } } } if (mBlackImage) { |