00001 #ifndef VIDEOSURFACE_H
00002 #define VIDEOSURFACE_H
00003
00004 #include <QAbstractVideoSurface>
00005 #include <QVideoSurfaceFormat>
00006
00007 #include "qdll_global.h"
00008
00009 class FrameObserver;
00010
00011 class QDLLSHARED_EXPORT VideoSurface : public QAbstractVideoSurface
00012 {
00013 Q_OBJECT
00014 public:
00015 explicit VideoSurface(FrameObserver *frameObserver, QObject *parent = 0);
00016 virtual ~VideoSurface();
00017
00018 virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType = QAbstractVideoBuffer::NoHandle) const;
00019 virtual bool present(const QVideoFrame &frame);
00020 virtual bool start(const QVideoSurfaceFormat &format);
00021
00022 protected:
00023 FrameObserver *m_frameObserver;
00024 };
00025
00026 #endif // VIDEOSURFACE_H