Chromium Code Reviews| Index: content/common/gpu/media/exynos_v4l2_video_device.h |
| diff --git a/content/common/gpu/media/exynos_v4l2_video_device.h b/content/common/gpu/media/exynos_v4l2_video_device.h |
| index 39c3428523ec1fca2ec8a05d8430416e70dd2fbf..da758de1b08077e9fccb9f062134b31e0f652391 100644 |
| --- a/content/common/gpu/media/exynos_v4l2_video_device.h |
| +++ b/content/common/gpu/media/exynos_v4l2_video_device.h |
| @@ -18,21 +18,39 @@ class ExynosV4L2Device : public V4L2Device { |
| virtual ~ExynosV4L2Device(); |
| // V4L2Device implementation. |
| - int Ioctl(int request, void* arg) OVERRIDE; |
| - bool Poll(bool poll_device, bool* event_pending) OVERRIDE; |
| - bool SetDevicePollInterrupt() OVERRIDE; |
| - bool ClearDevicePollInterrupt() OVERRIDE; |
| - void* Mmap(void* addr, |
| - unsigned int len, |
| - int prot, |
| - int flags, |
| - unsigned int offset) OVERRIDE; |
| - void Munmap(void* addr, unsigned int len) OVERRIDE; |
| - |
| - // Does all the initialization of device fds, returns true on success. |
| - bool Initialize(); |
| + virtual int Ioctl(int request, void* arg) OVERRIDE; |
| + virtual bool Poll(bool poll_device, bool* event_pending) OVERRIDE; |
| + virtual bool SetDevicePollInterrupt() OVERRIDE; |
| + virtual bool ClearDevicePollInterrupt() OVERRIDE; |
| + virtual void* Mmap(void* addr, |
| + unsigned int len, |
| + int prot, |
| + int flags, |
| + unsigned int offset) OVERRIDE; |
| + virtual void Munmap(void* addr, unsigned int len) OVERRIDE; |
| + virtual bool Initialize() OVERRIDE; |
| + virtual EGLImageKHR CreateEGLImage(EGLDisplay egl_display, |
| + GLuint texture_id, |
| + gfx::Size frame_buffer_size, |
| + unsigned int buffer_index, |
| + unsigned int total_buffers) OVERRIDE; |
| + virtual void DestroyEGLImage(unsigned int buffer_index) OVERRIDE; |
| + virtual GLenum GetTextureTarget() OVERRIDE; |
| + virtual uint32 GetCapturePixelFormat() OVERRIDE; |
| + virtual uint8 GetNumberOfPlanes() OVERRIDE; |
| private: |
| + // Record for output buffer. |
| + struct DeviceOutputRecord { |
| + DeviceOutputRecord(); |
| + ~DeviceOutputRecord(); |
| + int fds[2]; // file descriptors for each plane. |
| + EGLImageKHR egl_image; // EGLImageKHR for the output buffer. |
| + }; |
|
sheu
2014/03/27 02:00:23
Since we already have the output buffers being tra
shivdasp
2014/03/27 02:41:04
Ohh I did not know that the fd can be closed immed
Pawel Osciak
2014/03/27 05:18:06
John is right.
To add more detail: the owner of b
|
| + |
| + // Mapping of int index to output buffer record. |
| + std::vector<DeviceOutputRecord> device_output_buffer_map_; |
| + |
| // The actual device fd. |
| int device_fd_; |