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:01:13 +0100 |
commit | 5ddaf2aef8cb71ec6692f2522b1c628196c6f05b (patch) | |
tree | 971fccefe5dbd1fc45556715e1e5816b7d705070 /dom/media | |
parent | 68acc67ddbbd1c7a9577498ad41d079e6b9e3eac (diff) | |
download | UXP-5ddaf2aef8cb71ec6692f2522b1c628196c6f05b.tar UXP-5ddaf2aef8cb71ec6692f2522b1c628196c6f05b.tar.gz UXP-5ddaf2aef8cb71ec6692f2522b1c628196c6f05b.tar.lz UXP-5ddaf2aef8cb71ec6692f2522b1c628196c6f05b.tar.xz UXP-5ddaf2aef8cb71ec6692f2522b1c628196c6f05b.zip |
Check if CopyData succeeded.
Diffstat (limited to 'dom/media')
-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) { |