Index: media/filters/ffmpeg_video_decoder.cc |
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc |
index d41b796291b5e402f5bd7c79b40aa64bd40b1d8f..d5402279f7548d75c54ba2f5516dd704e8b4ff65 100644 |
--- a/media/filters/ffmpeg_video_decoder.cc |
+++ b/media/filters/ffmpeg_video_decoder.cc |
@@ -255,8 +255,10 @@ void FFmpegVideoDecoder::OnReadCompleteTask(scoped_refptr<Buffer> buffer) { |
void FFmpegVideoDecoder::ProduceVideoFrame( |
scoped_refptr<VideoFrame> video_frame) { |
if (MessageLoop::current() != message_loop_) { |
- message_loop_->PostTask(FROM_HERE, base::Bind( |
- &FFmpegVideoDecoder::ProduceVideoFrame, this, video_frame)); |
+ if (state_ != kStopped) { |
+ message_loop_->PostTask(FROM_HERE, base::Bind( |
+ &FFmpegVideoDecoder::ProduceVideoFrame, this, video_frame)); |
+ } |
return; |
} |