Index: content/renderer/pepper/content_decryptor_delegate.cc |
diff --git a/content/renderer/pepper/content_decryptor_delegate.cc b/content/renderer/pepper/content_decryptor_delegate.cc |
index da08f75c6013c27e5bdafe05a8d35d46d3002808..777a919d315eddc51b2a6c54d8626ee52ae626a5 100644 |
--- a/content/renderer/pepper/content_decryptor_delegate.cc |
+++ b/content/renderer/pepper/content_decryptor_delegate.cc |
@@ -1039,6 +1039,12 @@ void ContentDecryptorDelegate::DeliverFrame( |
frame_data + frame_info->plane_offsets[PP_DECRYPTEDFRAMEPLANES_V], |
base::TimeDelta::FromMicroseconds( |
frame_info->tracking_info.timestamp)); |
+ if (!decoded_frame) { |
+ DLOG(ERROR) << "Couldn't create video frame"; |
+ FreeBuffer(frame_info->tracking_info.buffer_id); |
+ video_decode_cb.Run(Decryptor::kError, NULL); |
+ return; |
+ } |
decoded_frame->AddDestructionObserver( |
media::BindToCurrentLoop( |
base::Bind(&BufferNoLongerNeeded, |