diff options
Diffstat (limited to 'chrome/gpu/media/gpu_video_device.h')
-rw-r--r-- | chrome/gpu/media/gpu_video_device.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/chrome/gpu/media/gpu_video_device.h b/chrome/gpu/media/gpu_video_device.h index 7998070..0556903 100644 --- a/chrome/gpu/media/gpu_video_device.h +++ b/chrome/gpu/media/gpu_video_device.h @@ -5,6 +5,8 @@ #ifndef CHROME_GPU_MEDIA_GPU_VIDEO_DEVICE_H_ #define CHROME_GPU_MEDIA_GPU_VIDEO_DEVICE_H_ +#include <vector> + #include "media/base/video_frame.h" #include "media/video/video_decode_context.h" @@ -31,16 +33,25 @@ class GpuVideoDevice { // // VideoFrame generated is used by VideoDecodeEngine for output buffer. // - // |frames| will contain the set of VideoFrame(s) generated. + // |frame| will contain the VideoFrame generated. // // Return true if the operation was successful. virtual bool CreateVideoFrameFromGlTextures( size_t width, size_t height, media::VideoFrame::Format format, - media::VideoFrame::GlTexture const* textures, + const std::vector<media::VideoFrame::GlTexture>& textures, scoped_refptr<media::VideoFrame>* frame) = 0; // Release VideoFrame generated. - virtual void ReleaseVideoFrame(scoped_refptr<media::VideoFrame> frame) = 0; + virtual void ReleaseVideoFrame( + const scoped_refptr<media::VideoFrame>& frame) = 0; + + // Upload a device specific buffer to a VideoFrame object that can be used in + // the GPU process. + // + // Return true if successful. + // TODO(hclam): Rename this to ConvertToVideoFrame(). + virtual bool UploadToVideoFrame(void* buffer, + scoped_refptr<media::VideoFrame> frame) = 0; }; #endif // CHROME_GPU_MEDIA_GPU_VIDEO_DEVICE_H_ |