Chromium Code Reviews| Index: media/filters/video_renderer_base.cc |
| diff --git a/media/filters/video_renderer_base.cc b/media/filters/video_renderer_base.cc |
| index 51c51b03c7a018d1dd8440ccaa580261124e3f8b..c8c2e184418e674c45a5e46db052ad5ae5c95722 100644 |
| --- a/media/filters/video_renderer_base.cc |
| +++ b/media/filters/video_renderer_base.cc |
| @@ -359,13 +359,26 @@ void VideoRendererBase::PutCurrentFrame(scoped_refptr<VideoFrame> frame) { |
| } |
| } |
| -void VideoRendererBase::FrameReady(scoped_refptr<VideoFrame> frame) { |
| +void VideoRendererBase::FrameReady(scoped_refptr<VideoFrame> frame, |
| + VideoDecoder::Status status) { |
| base::AutoLock auto_lock(lock_); |
| DCHECK_NE(state_, kUninitialized); |
| CHECK(pending_read_); |
| pending_read_ = false; |
| + if (status == VideoDecoder::kDecodeError) { |
| + DCHECK(!frame); |
| + host()->SetError(PIPELINE_ERROR_DECODE); |
| + return; |
| + } |
| + |
| + if (status == VideoDecoder::kDecryptError) { |
| + DCHECK(!frame); |
| + host()->SetError(PIPELINE_ERROR_DECRYPT); |
| + return; |
| + } |
|
Ami GONE FROM CHROMIUM
2012/04/27 16:49:14
DCHECK_EQ(status, VideoDecoder::kOk);
?
xhwang
2012/04/27 23:22:30
Done.
|
| + |
| // Already-queued Decoder ReadCB's can fire after various state transitions |
| // have happened; in that case just drop those frames immediately. |
| if (state_ == kStopped || state_ == kError || state_ == kFlushed || |