Chromium Code Reviews| Index: media/video/capture/video_capture_device.h |
| diff --git a/media/video/capture/video_capture_device.h b/media/video/capture/video_capture_device.h |
| index e5e42f87ae328c66d8bed26e9497199423c21317..5470e97f5b1e765d4ca71385a53c31d55f9f869d 100644 |
| --- a/media/video/capture/video_capture_device.h |
| +++ b/media/video/capture/video_capture_device.h |
| @@ -23,6 +23,7 @@ |
| #include "media/base/media_export.h" |
| #include "media/base/video_capture_types.h" |
| #include "media/base/video_frame.h" |
| +#include "ui/gfx/gpu_memory_buffer.h" |
| namespace media { |
| @@ -198,8 +199,9 @@ class MEDIA_EXPORT VideoCaptureDevice { |
| class Buffer : public base::RefCountedThreadSafe<Buffer> { |
| public: |
| virtual int id() const = 0; |
| - virtual void* data() const = 0; |
| virtual size_t size() const = 0; |
| + virtual scoped_ptr<DataHandle> GetDataHandle() = 0; |
|
miu
2015/04/15 19:12:40
Having a second level of acquiring a buffer seems
mcasas
2015/04/16 03:11:22
SG, with that assumption in mind and after double
|
| + virtual ClientBuffer AsClientBuffer() = 0; |
| protected: |
| friend class base::RefCountedThreadSafe<Buffer>; |
| @@ -247,14 +249,19 @@ class MEDIA_EXPORT VideoCaptureDevice { |
| media::VideoPixelFormat format, |
| const gfx::Size& dimensions) = 0; |
| - // Captured a new video frame, held in |frame|. |
| + // Captured new video data, held in |frame| or |buffer|, respectively for |
| + // OnIncomingCapturedVideoFrame() and OnIncomingCapturedBuffer(). |
| // |
| - // As the frame is backed by a reservation returned by |
| + // In both cases, as the frame is backed by a reservation returned by |
| // ReserveOutputBuffer(), delivery is guaranteed and will require no |
| // additional copies in the browser process. |
| + virtual void OnIncomingCapturedBuffer( |
| + const scoped_refptr<Buffer>& buffer, |
| + const VideoCaptureFormat& frame_format, |
| + const base::TimeTicks& timestamp) = 0; |
| virtual void OnIncomingCapturedVideoFrame( |
| const scoped_refptr<Buffer>& buffer, |
| - const scoped_refptr<media::VideoFrame>& frame, |
| + const scoped_refptr<VideoFrame>& frame, |
| const base::TimeTicks& timestamp) = 0; |
| // An error has occurred that cannot be handled and VideoCaptureDevice must |