Index: content/renderer/media/video_track_adapter.cc |
diff --git a/content/renderer/media/video_track_adapter.cc b/content/renderer/media/video_track_adapter.cc |
index 9f4e2abca32a072fe7043a00c9a03d2b1bc242be..f4ca1d2c746043682e9b90675894b46fba7bc1ab 100644 |
--- a/content/renderer/media/video_track_adapter.cc |
+++ b/content/renderer/media/video_track_adapter.cc |
@@ -201,6 +201,11 @@ void VideoTrackAdapter::VideoFrameResolutionAdapter::DeliverFrame( |
const base::TimeTicks& estimated_capture_time) { |
DCHECK(io_thread_checker_.CalledOnValidThread()); |
+ if (!frame) { |
+ DLOG(ERROR) << "Incoming frame is not valid."; |
+ return; |
+ } |
+ |
double frame_rate; |
if (!frame->metadata()->GetDouble(media::VideoFrameMetadata::FRAME_RATE, |
&frame_rate)) { |
@@ -263,6 +268,8 @@ void VideoTrackAdapter::VideoFrameResolutionAdapter::DeliverFrame( |
video_frame = |
media::VideoFrame::WrapVideoFrame(frame, region_in_frame, desired_size); |
+ if (!video_frame) |
+ return; |
video_frame->AddDestructionObserver( |
base::Bind(&ReleaseOriginalFrame, frame)); |