summaryrefslogtreecommitdiff
path: root/chromium/media/capture/video/video_capture_device.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/capture/video/video_capture_device.h')
-rw-r--r--chromium/media/capture/video/video_capture_device.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/chromium/media/capture/video/video_capture_device.h b/chromium/media/capture/video/video_capture_device.h
index 8fee0be95e5..b0c4c0466a0 100644
--- a/chromium/media/capture/video/video_capture_device.h
+++ b/chromium/media/capture/video/video_capture_device.h
@@ -67,6 +67,20 @@ class CAPTURE_EXPORT VideoFrameConsumerFeedbackObserver {
media::VideoFrameFeedback feedback) {}
};
+struct CAPTURE_EXPORT CapturedExternalVideoBuffer {
+ CapturedExternalVideoBuffer(gfx::GpuMemoryBufferHandle handle,
+ VideoCaptureFormat format,
+ gfx::ColorSpace color_space);
+ CapturedExternalVideoBuffer(CapturedExternalVideoBuffer&& other);
+ ~CapturedExternalVideoBuffer();
+
+ CapturedExternalVideoBuffer& operator=(CapturedExternalVideoBuffer&& other);
+
+ gfx::GpuMemoryBufferHandle handle;
+ VideoCaptureFormat format;
+ gfx::ColorSpace color_space;
+};
+
class CAPTURE_EXPORT VideoCaptureDevice
: public VideoFrameConsumerFeedbackObserver {
public:
@@ -187,9 +201,8 @@ class CAPTURE_EXPORT VideoCaptureDevice
// gfx::ScopedInUseIOSurface is used to prevent reuse of buffers until all
// consumers have consumed them.
virtual void OnIncomingCapturedExternalBuffer(
- gfx::GpuMemoryBufferHandle handle,
- const VideoCaptureFormat& format,
- const gfx::ColorSpace& color_space,
+ CapturedExternalVideoBuffer buffer,
+ std::vector<CapturedExternalVideoBuffer> scaled_buffers,
base::TimeTicks reference_time,
base::TimeDelta timestamp) = 0;