From ac59ea834e59a588c3354f14c2b4ae47cb384aad Mon Sep 17 00:00:00 2001 From: "wolenetz@chromium.org" Date: Wed, 11 Jun 2014 13:13:34 +0000 Subject: [PATCH] MSE: Report decode error if FrameProcessor's append to track buffer fails LegacyFrameProcessor reported decode error if ChunkDemuxerStream (really, if SourceBufferStream)::Append() returned false. This could be for a variety of reasons, mostly sanity checking the timestamps. The new FrameProcessor ignored the ChunkDemuxerStream::Append() result and assumed success, hiding potential issues. This change makes FrameProcessor report decode error if CDS::Append() fails. R=acolwell@chromium.org TEST=no media_unittest or MSE layout test regression locally on linux Review URL: https://codereview.chromium.org/324243002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276375 0039d316-1c4b-4281-b951-d872f2087c98 --- media/filters/frame_processor.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/media/filters/frame_processor.cc b/media/filters/frame_processor.cc index 93b176e9ae72e8..6363ec7165811b 100644 --- a/media/filters/frame_processor.cc +++ b/media/filters/frame_processor.cc @@ -339,7 +339,10 @@ bool FrameProcessor::ProcessFrame( // See http://crbug.com/371197. StreamParser::BufferQueue buffer_to_append; buffer_to_append.push_back(frame); - track_buffer->stream()->Append(buffer_to_append); + if (!track_buffer->stream()->Append(buffer_to_append)) { + DVLOG(3) << __FUNCTION__ << ": Failure appending frame to stream"; + return false; + } // 19. Set last decode timestamp for track buffer to decode timestamp. track_buffer->set_last_decode_timestamp(decode_timestamp);