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 fbead03cb30f517bb8d7172d4514dec718206c95..f9f35db17195401d16350cc244fb3c763ea40df1 100644 |
--- a/content/renderer/pepper/content_decryptor_delegate.cc |
+++ b/content/renderer/pepper/content_decryptor_delegate.cc |
@@ -1038,6 +1038,11 @@ void ContentDecryptorDelegate::DeliverFrame( |
frame_data + frame_info->plane_offsets[PP_DECRYPTEDFRAMEPLANES_V], |
base::TimeDelta::FromMicroseconds( |
frame_info->tracking_info.timestamp)); |
+ if (!decoded_frame) { |
+ FreeBuffer(frame_info->tracking_info.buffer_id); |
+ video_decode_cb.Run(Decryptor::kError, NULL); |
+ return; |
+ } |
decoded_frame->AddDestructionObserver( |
media::BindToCurrentLoop( |
base::Bind(&BufferNoLongerNeeded, |