| Index: content/common/gpu/media/v4l2_slice_video_decode_accelerator.h
|
| diff --git a/content/common/gpu/media/v4l2_slice_video_decode_accelerator.h b/content/common/gpu/media/v4l2_slice_video_decode_accelerator.h
|
| index 87fe1967d1fa19cf5cc8e82a2c0dfecd13ffc0a6..5098349878204448690f4f851f823276950d0145 100644
|
| --- a/content/common/gpu/media/v4l2_slice_video_decode_accelerator.h
|
| +++ b/content/common/gpu/media/v4l2_slice_video_decode_accelerator.h
|
| @@ -50,7 +50,7 @@ class CONTENT_EXPORT V4L2SliceVideoDecodeAccelerator
|
| void AssignPictureBuffers(
|
| const std::vector<media::PictureBuffer>& buffers) override;
|
| void ReusePictureBuffer(int32_t picture_buffer_id) override;
|
| - void Flush() override;
|
| + void Flush(bool return_buffers) override;
|
| void Reset() override;
|
| void Destroy() override;
|
| bool CanDecodeOnIOThread() override;
|
| @@ -183,7 +183,7 @@ class CONTENT_EXPORT V4L2SliceVideoDecodeAccelerator
|
| // InitiateFlush() directly. Otherwise, we push a dummy BitstreamBufferRef
|
| // onto the decoder_input_queue_ to schedule a flush. When we reach it later
|
| // on, we call InitiateFlush() to perform it at the correct time.
|
| - void FlushTask();
|
| + void FlushTask(bool return_buffers);
|
| // Tell the decoder to flush all frames, reset it and mark us as scheduled
|
| // for flush, so that we can finish it once all pending decodes are finished.
|
| void InitiateFlush();
|
| @@ -372,6 +372,10 @@ class CONTENT_EXPORT V4L2SliceVideoDecodeAccelerator
|
| bool decoder_resetting_;
|
| bool surface_set_change_pending_;
|
|
|
| + // When flushing, if true, indicates that we were requested to return all
|
| + // output buffers, not only those containing pictures produced during flush.
|
| + bool flush_return_all_buffers_;
|
| +
|
| // Hardware accelerators.
|
| // TODO(posciak): Try to have a superclass here if possible.
|
| scoped_ptr<V4L2H264Accelerator> h264_accelerator_;
|
|
|