Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / media / filters / fake_video_decoder.cc
index 05dc410..f7f1abd 100644 (file)
@@ -40,6 +40,10 @@ FakeVideoDecoder::~FakeVideoDecoder() {
   decoded_frames_.clear();
 }
 
+std::string FakeVideoDecoder::GetDisplayName() const {
+  return "FakeVideoDecoder";
+}
+
 void FakeVideoDecoder::Initialize(const VideoDecoderConfig& config,
                                   bool low_delay,
                                   const PipelineStatusCB& status_cb,
@@ -74,6 +78,7 @@ void FakeVideoDecoder::Decode(const scoped_refptr<DecoderBuffer>& buffer,
             decoding_delay_ + held_decode_callbacks_.size());
   DCHECK_LT(static_cast<int>(held_decode_callbacks_.size()),
             max_parallel_decoding_requests_);
+  DCHECK_NE(state_, STATE_END_OF_STREAM);
 
   int buffer_size = buffer->end_of_stream() ? 0 : buffer->data_size();
   DecodeCB wrapped_decode_cb = base::Bind(&FakeVideoDecoder::OnFrameDecoded,
@@ -223,6 +228,7 @@ void FakeVideoDecoder::RunDecodeCallback(const DecodeCB& decode_cb) {
         output_cb_.Run(decoded_frames_.front());
         decoded_frames_.pop_front();
       }
+      state_ = STATE_NORMAL;
     } else if (!decoded_frames_.empty()) {
       output_cb_.Run(decoded_frames_.front());
       decoded_frames_.pop_front();