#include #include #include #include /* exit() */ #include /* ioctl() */ #include #include #include class WebcamTracker { public: WebcamTracker(); ~WebcamTracker(); bool open(const char * device); void start(); protected: void requestBuffers(int num); void mapBuffer(int i); void queueBuffer(int i); void beginStreaming(); void endStreaming(); void dequeueBuffer(v4l2_buffer * dqbuf); void unmapBuffer(int i); void freeBuffers(); void setFormat(); bool m_open; int m_fd; int m_numbufs; void ** m_buffers; int * m_lengths; };