1/* ---------------------------------------------------------------------------
2** This software is in the public domain, furnished "as is", without technical
3** support, and with no warranty, express or implied, as to its usefulness for
4** any purpose.
5**
6** V4l2Output.h
7**
8** V4L2 Output wrapper
9**
10** -------------------------------------------------------------------------*/
11
12
13#ifndef V4L2_OUTPUT
14#define V4L2_OUTPUT
15
16#include "V4l2Access.h"
17
18// ---------------------------------
19// V4L2 Output
20// ---------------------------------
21class V4l2Output : public V4l2Access
22{
23 protected:
24 V4l2Output(V4l2Device* device);
25
26 public:
27 static V4l2Output* create(const V4L2DeviceParameters & param, IoType iotype = V4l2Access::IOTYPE_MMAP);
28 ~V4l2Output();
29
30 size_t write(char* buffer, size_t bufferSize);
31 int isWritable(timeval* tv);
32 bool startPartialWrite(void);
33 size_t writePartial(char* buffer, size_t bufferSize);
34 bool endPartialWrite(void);
35};
36
37#endif
38