4 #include "include/DeckLinkAPI.h"
10 class CDeckLinkGLWidget;
11 class PlaybackDelegate;
13 class DeckLinkCaptureDelegate : public IDeckLinkInputCallback
16 DeckLinkCaptureDelegate();
17 virtual ~DeckLinkCaptureDelegate();
19 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID /*iid*/, LPVOID */*ppv*/) { return E_NOINTERFACE; }
20 virtual ULONG STDMETHODCALLTYPE AddRef(void);
21 virtual ULONG STDMETHODCALLTYPE Release(void);
22 virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(BMDVideoInputFormatChangedEvents, IDeckLinkDisplayMode*, BMDDetectedVideoInputFormatFlags);
23 virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*);
27 pthread_mutex_t m_mutex;
33 CaptureHandler(QVBoxLayout *lay, QWidget *parent = 0);
35 CDeckLinkGLWidget *previewView;
36 void startPreview(int deviceId, int captureMode);
40 void captureFrame(const QString &fname);
41 void showOverlay(QImage img, bool transparent = true);
43 void hidePreview(bool hide);
46 IDeckLinkIterator *deckLinkIterator;
47 DeckLinkCaptureDelegate *delegate;
48 IDeckLinkDisplayMode *displayMode;
50 IDeckLinkInput *deckLinkInput;
51 IDeckLinkDisplayModeIterator *displayModeIterator;
52 QVBoxLayout *m_layout;