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 2c94fe948dfc8bb8c5384701a4d765e1c1e56133..21baa58e72ca49df43ab33f5af8d70eae8ec768a 100644 |
--- a/content/renderer/pepper/content_decryptor_delegate.cc |
+++ b/content/renderer/pepper/content_decryptor_delegate.cc |
@@ -1035,6 +1035,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, |