Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2952)

Unified Diff: content/renderer/pepper/pepper_video_encoder_host.cc

Issue 1476523005: Verify returned frames from media::VideoFrame::Wrap*() methods (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/pepper/pepper_video_encoder_host.cc
diff --git a/content/renderer/pepper/pepper_video_encoder_host.cc b/content/renderer/pepper/pepper_video_encoder_host.cc
index 0e1a19995b2eb0211e5a2abece04c06bc080521b..9e856a40f04d5cfef25cdadcc01d446c2b1557ce 100644
--- a/content/renderer/pepper/pepper_video_encoder_host.cc
+++ b/content/renderer/pepper/pepper_video_encoder_host.cc
@@ -632,9 +632,15 @@ scoped_refptr<media::VideoFrame> PepperVideoEncoderHost::CreateVideoFrame(
input_coded_size_, static_cast<uint8*>(buffer->video.data),
buffer->video.data_size, buffer_manager_.shm()->handle(), shm_offset,
base::TimeDelta());
- frame->AddDestructionObserver(
- base::Bind(&PepperVideoEncoderHost::FrameReleased,
- weak_ptr_factory_.GetWeakPtr(), reply_context, frame_id));
+ if (frame) {
+ frame->AddDestructionObserver(
+ base::Bind(&PepperVideoEncoderHost::FrameReleased,
+ weak_ptr_factory_.GetWeakPtr(), reply_context, frame_id));
+ } else {
Pawel Osciak 2015/11/26 01:19:03 Personally I'd prefer a clear error path, but up t
emircan 2015/12/04 04:20:09 Done.
+ DLOG(ERROR) << "Couldn't create video frame";
+ NotifyPepperError(PP_ERROR_FAILED);
+ }
+
return frame;
}

Powered by Google App Engine
This is Rietveld 408576698