Chromium Code Reviews| Index: content/common/gpu/media/tegra_v4l2_video_device.h |
| diff --git a/content/common/gpu/media/tegra_v4l2_video_device.h b/content/common/gpu/media/tegra_v4l2_video_device.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..deae44ce26ce7615efa2c741199670ca5b2c1368 |
| --- /dev/null |
| +++ b/content/common/gpu/media/tegra_v4l2_video_device.h |
| @@ -0,0 +1,63 @@ |
| +#ifndef CONTENT_COMMON_GPU_MEDIA_TEGRA_V4L2_VIDEO_DEVICE_H_ |
| +#define CONTENT_COMMON_GPU_MEDIA_TEGRA_V4L2_VIDEO_DEVICE_H_ |
| + |
| +#include "content/common/gpu/media/v4l2_video_device.h" |
| +#include "ui/gl/gl_bindings.h" |
| + |
| +namespace content { |
| + |
| +class TegraV4L2Device : public V4L2Device { |
|
Ami GONE FROM CHROMIUM
2014/02/07 09:09:30
Class commentary please.
|
| + public: |
| + TegraV4L2Device(EGLContext egl_context); |
|
Ami GONE FROM CHROMIUM
2014/02/07 09:09:30
explicit
|
| + virtual ~TegraV4L2Device(); |
| + |
| + // Tries to create and initialize an TegraV4L2Device, returns |
|
Ami GONE FROM CHROMIUM
2014/02/07 09:09:30
s/an/a/
but this comment seems like leftover copy/
|
| + // a scoped_ptr on success else returns NULL. |
| + int Ioctl(int flags, void* arg); |
| + bool Poll(bool poll_device, bool* event_pending); |
| + bool SetDevicePollInterrupt(void); |
| + bool ClearDevicePollInterrupt(void); |
| + void* Mmap(void* addr, |
| + unsigned int len, |
| + int prot, |
| + int flags, |
| + unsigned int offset); |
| + void Munmap(void* addr, unsigned int len); |
| + // Does all the initialization of device fds , returns true on success. |
|
Ami GONE FROM CHROMIUM
2014/02/07 09:09:30
precede by newline
|
| + bool Initialize(void); |
| + |
| + EGLImageKHR CreateEGLImage(EGLDisplay egl_display, |
|
Ami GONE FROM CHROMIUM
2014/02/07 09:09:30
this and the next method belong above Initialize a
|
| + EGLint attrib[], |
| + unsigned int texture_id, |
| + unsigned int buffer_index); |
| + |
| + unsigned int GetTextureTarget(); |
| + |
| + private: |
| + // The actual device fd. |
| + int device_fd_; |
| + |
| + // The EGLContext associated with this device. |
| + EGLContext egl_context_; |
|
Pawel Osciak
2014/02/10 06:36:17
To be honest I'm not especially excited with EGLCo
|
| + |
| + typedef int32 (*TegraV4L2OpenFunc)(const char* name, int32 flags); |
| + typedef int32 (*TegraV4L2IoctlFunc)(int32 fd, unsigned long cmd, ...); |
| + typedef int32 (*TegraV4L2CloseFunc)(int32 fd); |
| + typedef int32 (*TegraV4L2PollFunc)(int32 fd, |
| + bool poll_device, |
| + bool* event_pending); |
| + typedef int32 (*TegraV4L2SetDevicePollInterruptFunc)(int32 fd); |
| + typedef int32 (*TegraV4L2ClearDevicePollInterruptFunc)(int32 fd); |
| + |
| + TegraV4L2OpenFunc TegraV4L2Open; |
| + TegraV4L2IoctlFunc TegraV4L2Ioctl; |
| + TegraV4L2CloseFunc TegraV4L2Close; |
| + TegraV4L2PollFunc TegraV4L2Poll; |
| + TegraV4L2SetDevicePollInterruptFunc TegraV4L2SetDevicePollInterrupt; |
| + TegraV4L2ClearDevicePollInterruptFunc TegraV4L2ClearDevicePollInterrupt; |
|
Ami GONE FROM CHROMIUM
2014/02/07 09:09:30
l.43-57 could be file-static in the .cc file, righ
|
| + |
| + DISALLOW_COPY_AND_ASSIGN(TegraV4L2Device); |
| +}; |
| +} |
|
Pawel Osciak
2014/02/10 06:36:17
Empty line above and // namespace content please.
|
| + |
| +#endif // CONTENT_COMMON_GPU_MEDIA_TEGRA_V4L2_VIDEO_DEVICE_H_ |