| Index: media/video/capture/linux/v4l2_capture_delegate.h
|
| diff --git a/media/video/capture/linux/v4l2_capture_delegate.h b/media/video/capture/linux/v4l2_capture_delegate.h
|
| index bd0ccad6cf73c30263474a6ca616784c3ca1e33d..9d65bb248539d708bd794e883d152810fe113fd1 100644
|
| --- a/media/video/capture/linux/v4l2_capture_delegate.h
|
| +++ b/media/video/capture/linux/v4l2_capture_delegate.h
|
| @@ -66,6 +66,17 @@ class V4L2CaptureDelegate
|
| return planes_[plane].start;
|
| }
|
|
|
| + size_t GetPlanePayloadSize(size_t plane) const {
|
| + DCHECK_LT(plane, planes_.size());
|
| + return planes_[plane].payload_size;
|
| + }
|
| +
|
| + void SetPlanePayloadSize(size_t plane, size_t payload_size) {
|
| + DCHECK_LT(plane, planes_.size());
|
| + DCHECK_LE(payload_size, planes_[plane].length);
|
| + planes_[plane].payload_size = payload_size;
|
| + }
|
| +
|
| protected:
|
| friend class base::RefCounted<BufferTracker>;
|
| virtual ~BufferTracker();
|
| @@ -76,6 +87,7 @@ class V4L2CaptureDelegate
|
| struct Plane {
|
| uint8_t* start;
|
| size_t length;
|
| + size_t payload_size;
|
| };
|
| std::vector<Plane> planes_;
|
| };
|
| @@ -98,6 +110,12 @@ class V4L2CaptureDelegate
|
| // Finish filling |buffer| struct with planarity-dependent data.
|
| virtual void FinishFillingV4L2Buffer(v4l2_buffer* buffer) const = 0;
|
|
|
| + // Fetch the number of bytes occupied by data in |buffer| and set to
|
| + // |buffer_tracker|.
|
| + virtual void SetPayloadSize(
|
| + const scoped_refptr<BufferTracker>& buffer_tracker,
|
| + const v4l2_buffer& buffer) const = 0;
|
| +
|
| // Sends the captured |buffer| to the |client_|, synchronously.
|
| virtual void SendBuffer(
|
| const scoped_refptr<BufferTracker>& buffer_tracker,
|
|
|