Index: media/filters/ffmpeg_video_decoder.cc |
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc |
index 048cbe517a5ed7d7d29cf911fef47486532de979..7ca0d1df080e1461599ff4f55b4a3f05fc5232ed 100644 |
--- a/media/filters/ffmpeg_video_decoder.cc |
+++ b/media/filters/ffmpeg_video_decoder.cc |
@@ -221,6 +221,11 @@ void FFmpegVideoDecoder::DoDecodeBuffer(const scoped_refptr<Buffer>& buffer) { |
DCHECK_NE(state_, kDecodeFinished); |
DCHECK(!read_cb_.is_null()); |
+ if (!buffer) { |
+ DeliverFrame(NULL); |
+ return; |
+ } |
+ |
// During decode, because reads are issued asynchronously, it is possible to |
// receive multiple end of stream buffers since each read is acked. When the |
// first end of stream buffer is read, FFmpeg may still have frames queued |