summaryrefslogtreecommitdiffstats
path: root/dom/media/VideoFrameContainer.cpp
diff options
context:
space:
mode:
authorsotaro <sotaro.ikeda.g@gmail.com>2019-03-23 13:01:13 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-03-23 13:57:02 +0100
commit724368467bb00e7b08fc0fc178ef261411f7c9e0 (patch)
treedcdb645e375c099cb5b84a8c991e1d8c58056875 /dom/media/VideoFrameContainer.cpp
parentcee1324f0fb9b7fd989f7479b696c999493ed8af (diff)
downloadUXP-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.cpp12
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) {