| Index: ui/gl/gl_image_io_surface.h
|
| diff --git a/ui/gl/gl_image_io_surface.h b/ui/gl/gl_image_io_surface.h
|
| index d8b731828f26d674176401f38b89489857fed367..eb65c1b3a8251035c46e0021ecaeee20a5ae0f99 100644
|
| --- a/ui/gl/gl_image_io_surface.h
|
| +++ b/ui/gl/gl_image_io_surface.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef UI_GL_GL_IMAGE_IO_SURFACE_H_
|
| #define UI_GL_GL_IMAGE_IO_SURFACE_H_
|
|
|
| +#include <CoreVideo/CVPixelBuffer.h>
|
| #include <IOSurface/IOSurface.h>
|
| #include <stdint.h>
|
|
|
| @@ -27,7 +28,11 @@ class GL_EXPORT GLImageIOSurface : public GLImage {
|
| public:
|
| GLImageIOSurface(const gfx::Size& size, unsigned internalformat);
|
|
|
| + // IOSurfaces that come from hardware decode can be erased when the
|
| + // CVPixelBufferRef they were created from is destroyed. Set |cv_pixel_buffer|
|
| + // to the IOSurface's CVPixelBufferRef if one exists and nullptr otherwise.
|
| bool Initialize(IOSurfaceRef io_surface,
|
| + CVPixelBufferRef cv_pixel_buffer,
|
| gfx::GenericSharedMemoryId io_surface_id,
|
| gfx::BufferFormat format);
|
|
|
| @@ -66,6 +71,7 @@ class GL_EXPORT GLImageIOSurface : public GLImage {
|
| gfx::BufferFormat format_;
|
| base::ScopedCFTypeRef<IOSurfaceRef> io_surface_;
|
| gfx::GenericSharedMemoryId io_surface_id_;
|
| + base::ScopedCFTypeRef<CVPixelBufferRef> cv_pixel_buffer_;
|
| base::ThreadChecker thread_checker_;
|
|
|
| // GL state to support 420v IOSurface conversion to RGB.
|
|
|