summaryrefslogtreecommitdiffstats
path: root/chrome/gpu/media/gpu_video_device.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/gpu/media/gpu_video_device.h')
-rw-r--r--chrome/gpu/media/gpu_video_device.h17
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_