| Index: content/common/gpu/media/v4l2_video_decode_accelerator.h
|
| diff --git a/content/common/gpu/media/v4l2_video_decode_accelerator.h b/content/common/gpu/media/v4l2_video_decode_accelerator.h
|
| index 0c6a4930714de29f9a10d33975255dc90d011f26..6a191ac6dcf495890d9b98c9d86a3a207292de72 100644
|
| --- a/content/common/gpu/media/v4l2_video_decode_accelerator.h
|
| +++ b/content/common/gpu/media/v4l2_video_decode_accelerator.h
|
| @@ -155,7 +155,6 @@ class CONTENT_EXPORT V4L2VideoDecodeAccelerator
|
| ~OutputRecord();
|
| bool at_device; // held by device.
|
| bool at_client; // held by client.
|
| - int fds[2]; // file descriptors for each plane.
|
| EGLImageKHR egl_image; // EGLImageKHR for the output buffer.
|
| EGLSyncKHR egl_sync; // sync the compositor's use of the EGLImage.
|
| int32 picture_id; // picture buffer id as returned to PictureReady().
|
| @@ -294,6 +293,12 @@ class CONTENT_EXPORT V4L2VideoDecodeAccelerator
|
| // Callback that indicates a picture has been cleared.
|
| void PictureCleared();
|
|
|
| + // This method determines whether a resolution change event processing
|
| + // is indeed required by returning true iff:
|
| + // - width or height of the new format is different than previous format; or
|
| + // - V4L2_CID_MIN_BUFFERS_FOR_CAPTURE has changed.
|
| + bool IsResolutionChangeNecessary();
|
| +
|
| // Our original calling message loop for the child thread.
|
| scoped_refptr<base::MessageLoopProxy> child_message_loop_proxy_;
|
|
|
| @@ -362,9 +367,10 @@ class CONTENT_EXPORT V4L2VideoDecodeAccelerator
|
| //
|
| // Hardware state and associated queues. Since decoder_thread_ services
|
| // the hardware, decoder_thread_ owns these too.
|
| - // output_buffer_map_ and free_output_buffers_ are an exception during the
|
| - // buffer (re)allocation sequence, when the decoder_thread_ is blocked briefly
|
| - // while the Child thread manipulates them.
|
| + // output_buffer_map_, free_output_buffers_ and output_planes_count_ are an
|
| + // exception during the buffer (re)allocation sequence, when the
|
| + // decoder_thread_ is blocked briefly while the Child thread manipulates
|
| + // them.
|
| //
|
|
|
| // Completed decode buffers.
|
| @@ -392,6 +398,8 @@ class CONTENT_EXPORT V4L2VideoDecodeAccelerator
|
| uint32 output_buffer_pixelformat_;
|
| // Required size of DPB for decoding.
|
| int output_dpb_size_;
|
| + // Stores the number of planes (i.e. separate memory buffers) for output.
|
| + size_t output_planes_count_;
|
|
|
| // Pictures that are ready but not sent to PictureReady yet.
|
| std::queue<PictureRecord> pending_picture_ready_;
|
|
|