2014-10-07 22:59:21 +08:00
|
|
|
#ifndef VIDEOSOURCE_H
|
|
|
|
#define VIDEOSOURCE_H
|
|
|
|
|
2014-10-08 20:25:32 +08:00
|
|
|
#include <QObject>
|
2014-10-07 22:59:21 +08:00
|
|
|
#include <QSize>
|
|
|
|
|
2014-10-08 20:25:32 +08:00
|
|
|
class VideoSource : public QObject
|
2014-10-07 22:59:21 +08:00
|
|
|
{
|
2014-10-08 20:25:32 +08:00
|
|
|
Q_OBJECT
|
2014-10-07 22:59:21 +08:00
|
|
|
public:
|
2014-10-08 20:25:32 +08:00
|
|
|
virtual void* getData() = 0; // a pointer to a frame
|
|
|
|
virtual int getDataSize() = 0; // size of a frame in bytes
|
|
|
|
|
|
|
|
virtual void lock() = 0; // locks a frame so that it can't change
|
2014-10-07 22:59:21 +08:00
|
|
|
virtual void unlock() = 0;
|
2014-10-08 20:25:32 +08:00
|
|
|
|
|
|
|
virtual QSize resolution() = 0; // resolution of a frame
|
|
|
|
|
2014-10-07 22:59:21 +08:00
|
|
|
virtual void subscribe() = 0;
|
|
|
|
virtual void unsubscribe() = 0;
|
2014-10-08 20:25:32 +08:00
|
|
|
|
|
|
|
signals:
|
|
|
|
void frameAvailable();
|
|
|
|
|
2014-10-07 22:59:21 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // VIDEOSOURCE_H
|