mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-05 18:22:23 +00:00
cfd68a8e7a
Builds with MSVC, not tested in MinGW or anything else. Added COM handling code, borrowed from dshowvideosink. Moved Linux specific files to ./linux and added Windows specific files to ./win (generated from IDL files in VS9). Added macros to handle BSTR and defined bool as BOOL. Fixes #655362. Signed-off-by: David Schleef <ds@schleef.org>
29 lines
846 B
C++
29 lines
846 B
C++
#ifndef __CAPTURE_H__
|
|
#define __CAPTURE_H__
|
|
|
|
#include "DeckLinkAPI.h"
|
|
|
|
extern "C" {
|
|
IDeckLinkIterator* CreateDeckLinkIteratorInstance (void);
|
|
};
|
|
|
|
class DeckLinkCaptureDelegate : public IDeckLinkInputCallback
|
|
{
|
|
public:
|
|
DeckLinkCaptureDelegate();
|
|
~DeckLinkCaptureDelegate();
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
|
virtual ULONG STDMETHODCALLTYPE AddRef(void);
|
|
virtual ULONG STDMETHODCALLTYPE Release(void);
|
|
virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(BMDVideoInputFormatChangedEvents, IDeckLinkDisplayMode*, BMDDetectedVideoInputFormatFlags);
|
|
virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*);
|
|
|
|
void *priv;
|
|
|
|
private:
|
|
ULONG m_refCount;
|
|
GMutex *m_mutex;
|
|
};
|
|
|
|
#endif
|