123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #pragma once
- // {0305F095-9C24-47C0-B055-1F241D4B1945}
- DEFINE_GUID(CLSID_VideoHozFlip,
- 0x305f095, 0x9c24, 0x47c0, 0xb0, 0x55, 0x1f, 0x24, 0x1d, 0x4b, 0x19, 0x45);
- // {5C9E728D-A3D5-422C-8403-792B640B83F2}
- DEFINE_GUID(CLSID_VideoGrabberRender,
- 0x5c9e728d, 0xa3d5, 0x422c, 0x84, 0x3, 0x79, 0x2b, 0x64, 0xb, 0x83, 0xf2);
- #include <streams.h>
- class VideoHozFlipFilter : public CTransInPlaceFilter
- {
- public:
- VideoHozFlipFilter(LPUNKNOWN punk, HRESULT *phr);
- DECLARE_IUNKNOWN;
- static CUnknown * WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr);
- virtual HRESULT Transform(IMediaSample *pSample);
- virtual HRESULT CheckInputType(const CMediaType *mtIn);
- };
- class VideoGrabberRenderFilter : public CBaseRenderer
- {
- public:
- VideoGrabberRenderFilter(LPUNKNOWN punk, HRESULT *phr);
- DECLARE_IUNKNOWN;
- void SetCallback(void (*on_sample)(void *user_data, void *pData), void *user_data)
- {
- m_on_sample = on_sample;
- m_user_data = user_data;
- }
- static CUnknown * WINAPI CreateInstance(LPUNKNOWN punk, HRESULT *phr);
- virtual HRESULT DoRenderSample(IMediaSample *pMediaSample);
- virtual HRESULT CheckMediaType(const CMediaType *);
- private:
- void (*m_on_sample)(void *user_data, void *pData);
- void *m_user_data;
- };
|