34 lines
985 B
C
34 lines
985 B
C
|
#include <windows.h>
|
||
|
#include <ibitmap.h>
|
||
|
#include <frameop.h>
|
||
|
#include <dcap.h>
|
||
|
|
||
|
#ifndef _capture_h
|
||
|
#define _capture_h
|
||
|
|
||
|
class CCaptureChain
|
||
|
{
|
||
|
private:
|
||
|
CFrameOp* m_opchain;
|
||
|
CFilterChain* m_filterchain;
|
||
|
DWORD_PTR m_filtertags;
|
||
|
CRITICAL_SECTION m_capcs;
|
||
|
|
||
|
public:
|
||
|
CCaptureChain();
|
||
|
~CCaptureChain();
|
||
|
|
||
|
STDMETHODIMP InitCaptureChain(HCAPDEV hcapdev, BOOL streaming,
|
||
|
LPBITMAPINFOHEADER lpcap,
|
||
|
LONG desiredwidth, LONG desiredheight,
|
||
|
DWORD desiredformat,
|
||
|
LPBITMAPINFOHEADER *plpdsp);
|
||
|
STDMETHODIMP GrabFrame(IBitmapSurface** ppBS);
|
||
|
STDMETHODIMP AddFilter(CLSID* pclsid, LPBITMAPINFOHEADER lpbmhIn,
|
||
|
HANDLE* phNew, HANDLE hAfter);
|
||
|
STDMETHODIMP RemoveFilter(HANDLE hNew);
|
||
|
STDMETHODIMP DisplayFilterProperties(HANDLE hFilter, HWND hwndParent);
|
||
|
};
|
||
|
|
||
|
#endif //#ifndef _capture_h
|