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 3482dedd8d4fb708b50ef6df8adfd80e47cf5cbe..e60fc517cc9c8d50ff2cfc6739179d8b2f031d21 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, |