summaryrefslogtreecommitdiff
path: root/chromium/media/capture/video_capturer_source.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/capture/video_capturer_source.h')
-rw-r--r--chromium/media/capture/video_capturer_source.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/chromium/media/capture/video_capturer_source.h b/chromium/media/capture/video_capturer_source.h
index c48032be48e..2039ba26996 100644
--- a/chromium/media/capture/video_capturer_source.h
+++ b/chromium/media/capture/video_capturer_source.h
@@ -42,9 +42,17 @@ class CAPTURE_EXPORT VideoCapturerSource {
// frame relative to the first frame generated by the corresponding source.
// Because a source can start generating frames before a subscriber is added,
// the first video frame delivered may not have timestamp equal to 0.
- using VideoCaptureDeliverFrameCB =
- base::RepeatingCallback<void(scoped_refptr<media::VideoFrame> video_frame,
- base::TimeTicks estimated_capture_time)>;
+ //
+ // |scaled_video_frames| are alternative representations of |video_frame|
+ // where scaling has already been applied. Scaled frames may be produced by
+ // some capturers that listen to media::VideoFrameFeedback. However, because
+ // not all capturers support in-capturer scaling or due to delays in the
+ // pipeline, listeners have to be prepared for scaled video frames not being
+ // present or being present with other sizes than most recently requested.
+ using VideoCaptureDeliverFrameCB = base::RepeatingCallback<void(
+ scoped_refptr<media::VideoFrame> video_frame,
+ std::vector<scoped_refptr<media::VideoFrame>> scaled_video_frames,
+ base::TimeTicks estimated_capture_time)>;
using VideoCaptureDeviceFormatsCB =
base::OnceCallback<void(const media::VideoCaptureFormats&)>;