2 * Implements CLSID_VideoRenderer.
4 * hidenori@a2.ctktv.ne.jp
7 #ifndef WINE_DSHOW_VIDREN_H
8 #define WINE_DSHOW_VIDREN_H
14 typedef struct CVideoRendererImpl CVideoRendererImpl
;
15 typedef struct CVideoRendererPinImpl CVideoRendererPinImpl
;
18 typedef struct VidRen_IBasicVideo
20 ICOM_VFIELD(IBasicVideo2
);
23 typedef struct VidRen_IVideoWindow
25 ICOM_VFIELD(IVideoWindow
);
26 } VidRen_IVideoWindow
;
28 struct CVideoRendererImpl
31 CBaseFilterImpl basefilter
;
32 VidRen_IBasicVideo basvid
;
33 VidRen_IVideoWindow vidwin
;
34 QUARTZ_IFDelegation qiext
;
36 CSeekingPassThru
* pSeekPass
;
37 CVideoRendererPinImpl
* pPin
;
45 CRITICAL_SECTION m_csSample
;
46 BOOL m_bSampleIsValid
;
51 struct CVideoRendererPinImpl
55 CMemInputPinBaseImpl meminput
;
57 CVideoRendererImpl
* pRender
;
62 #define CVideoRendererImpl_THIS(iface,member) CVideoRendererImpl* This = ((CVideoRendererImpl*)(((char*)iface)-offsetof(CVideoRendererImpl,member)))
63 #define CVideoRendererPinImpl_THIS(iface,member) CVideoRendererPinImpl* This = ((CVideoRendererPinImpl*)(((char*)iface)-offsetof(CVideoRendererPinImpl,member)))
65 HRESULT
CVideoRendererImpl_InitIBasicVideo2( CVideoRendererImpl
* This
);
66 void CVideoRendererImpl_UninitIBasicVideo2( CVideoRendererImpl
* This
);
67 HRESULT
CVideoRendererImpl_InitIVideoWindow( CVideoRendererImpl
* This
);
68 void CVideoRendererImpl_UninitIVideoWindow( CVideoRendererImpl
* This
);
70 HRESULT
QUARTZ_CreateVideoRenderer(IUnknown
* punkOuter
,void** ppobj
);
71 HRESULT
QUARTZ_CreateVideoRendererPin(
72 CVideoRendererImpl
* pFilter
,
73 CRITICAL_SECTION
* pcsPin
,
74 CVideoRendererPinImpl
** ppPin
);
77 #endif /* WINE_DSHOW_VIDREN_H */