38#include "wine/unicode.h"
104 TRACE(
"Starting message loop\n");
122 TRACE(
"End of message loop\n");
142 if (!
This->ThreadResult)
154 if (!
This->init && (!
This->WindowPos.right || !
This->WindowPos.top))
159 if (!
This->WindowPos.right)
161 if (
This->DestRect.right)
163 This->WindowPos.left =
This->DestRect.left;
164 This->WindowPos.right =
This->DestRect.right;
168 This->WindowPos.left =
This->SourceRect.left;
169 This->WindowPos.right =
This->SourceRect.right;
172 if (!
This->WindowPos.bottom)
174 if (
This->DestRect.bottom)
176 This->WindowPos.top =
This->DestRect.top;
177 This->WindowPos.bottom =
This->DestRect.bottom;
181 This->WindowPos.top =
This->SourceRect.top;
182 This->WindowPos.bottom =
This->SourceRect.bottom;
190 This->WindowPos.left,
192 This->WindowPos.right -
This->WindowPos.left,
193 This->WindowPos.bottom -
This->WindowPos.top,
198 else if (!
This->init)
201 if (
This->baseControlWindow.AutoShow)
213 hr = IPin_ConnectionMediaType(&
This->renderer.pInputPin->pin.IPin_iface, &amt);
215 ERR(
"Unable to retrieve media type\n");
219 if (
IsEqualIID(&amt.formattype, &FORMAT_VideoInfo))
223 else if (
IsEqualIID(&amt.formattype, &FORMAT_VideoInfo2))
241 if (!
This->baseControlWindow.baseWindow.hDC) {
242 ERR(
"Cannot get DC from window!\n");
250 This->DestRect.bottom -
This->DestRect.top,
This->SourceRect.left,
This->SourceRect.top,
251 This->SourceRect.right -
This->SourceRect.left,
This->SourceRect.bottom -
This->SourceRect.top,
260 if (IMediaSample_IsPreroll(pSample) ==
S_OK)
269 LONG cbSrcStream = 0;
274 hr = IMediaSample_GetPointer(pSample, &pbSrcStream);
277 ERR(
"Cannot get pointer to sample data (%x)\n",
hr);
281 cbSrcStream = IMediaSample_GetActualDataLength(pSample);
283 TRACE(
"val %p %d\n", pbSrcStream, cbSrcStream);
288 for(
i = 0;
i < cbSrcStream;
i++)
290 if ((
i!=0) && !(
i%16))
292 TRACE(
"%02x ", pbSrcStream[
i]);
299 if (
This->renderer.filter.state == State_Paused)
303 if (
This->renderer.filter.state == State_Paused)
308 if (
This->renderer.filter.state == State_Stopped)
322 if (!
IsEqualIID(&pmt->majortype, &MEDIATYPE_Video))
325 if (
IsEqualIID(&pmt->subtype, &MEDIASUBTYPE_RGB32) ||
326 IsEqualIID(&pmt->subtype, &MEDIASUBTYPE_RGB24) ||
327 IsEqualIID(&pmt->subtype, &MEDIASUBTYPE_RGB565) ||
328 IsEqualIID(&pmt->subtype, &MEDIASUBTYPE_RGB8))
332 if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo))
335 This->SourceRect.left = 0;
336 This->SourceRect.top = 0;
337 This->SourceRect.right =
This->VideoWidth =
format->bmiHeader.biWidth;
344 else if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo2))
348 This->SourceRect.left = 0;
349 This->SourceRect.top = 0;
371 TRACE(
"(%p)->()\n", iface);
373 if (
This->renderer.pMediaSample) {
383 if (
This->renderer.filter.state == State_Paused) {
397 if (
This->baseControlWindow.AutoShow)
408 if (
This->renderer.pInputPin->pin.pConnectedTo && (
This->renderer.filter.state == State_Stopped || !
This->renderer.pInputPin->end_of_stream))
410 if (
This->renderer.filter.state == State_Stopped)
420 static const WCHAR classnameW[] = {
'W',
'i',
'n',
'e',
' ',
'A',
'c',
't',
'i',
'v',
'e',
'M',
'o',
'v',
'i',
'e',
' ',
'C',
'l',
'a',
's',
's',0 };
424 *pWindowStylesEx = 0;
426 return (
LPWSTR)classnameW;
445 TRACE(
"WM_SIZING: DestRect=(%d,%d),(%d,%d)\n",
448 This->DestRect.right -
This->DestRect.left,
449 This->DestRect.bottom -
This->DestRect.top);
502 if (!
This->renderer.pMediaSample)
508 if (
IsEqualIID(&amt->formattype, &FORMAT_VideoInfo))
512 else if (
IsEqualIID(&amt->formattype, &FORMAT_VideoInfo2))
523 needed_size = bmiHeader->
biSize;
524 needed_size += IMediaSample_GetActualDataLength(
This->renderer.pMediaSample);
542 IMediaSample_GetPointer(
This->renderer.pMediaSample, (
BYTE **)&
ptr);
543 memcpy((
char *)pDIBImage + bmiHeader->
biSize,
ptr, IMediaSample_GetActualDataLength(
This->renderer.pMediaSample));
563 pmt = &
This->renderer.pInputPin->pin.mtCurrent;
564 if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo)) {
566 }
else if (
IsEqualIID(&pmt->formattype, &FORMAT_VideoInfo2)) {
581 FIXME(
"(%p/%p)->(): stub !!!\n",
This, iface);
589 FIXME(
"(%p/%p)->(): stub !!!\n",
This, iface);
659 *
ppv = &
This->baseControlVideo.IBasicVideo_iface;
661 *
ppv = &
This->baseControlWindow.IVideoWindow_iface;
663 *
ppv = &
This->IAMFilterMiscFlags_iface;
689 TRACE(
"(%p)->(): new ref = %d\n",
This, refCount);
699 TRACE(
"(%p)->(): new ref = %d\n",
This, refCount);
710 TRACE(
"Destroying Video Renderer\n");
729 return IUnknown_QueryInterface(
This->outer_unk,
riid,
ppv);
735 return IUnknown_AddRef(
This->outer_unk);
741 return IUnknown_Release(
This->outer_unk);
753 if (
This->renderer.filter.state != State_Paused)
755 if (
This->renderer.filter.state == State_Stopped)
757 This->renderer.pInputPin->end_of_stream = 0;
763 This->renderer.filter.state = State_Paused;
796 return IUnknown_QueryInterface(
This->outer_unk,
riid, ppvObj);
805 return IUnknown_AddRef(
This->outer_unk);
814 return IUnknown_Release(
This->outer_unk);
868 return IUnknown_QueryInterface(
This->outer_unk,
riid, ppvObj);
877 return IUnknown_AddRef(
This->outer_unk);
886 return IUnknown_Release(
This->outer_unk);
890 LONG *FullScreenMode)
894 TRACE(
"(%p/%p)->(%p): %d\n",
This, iface, FullScreenMode,
This->FullScreenMode);
899 *FullScreenMode =
This->FullScreenMode;
909 FIXME(
"(%p/%p)->(%d): stub !!!\n",
This, iface, FullScreenMode);
911 if (FullScreenMode) {
921 SetParent(
This->baseControlWindow.baseWindow.hWnd,
This->baseControlWindow.hwndOwner);
927 This->FullScreenMode = FullScreenMode;
991 return IUnknown_QueryInterface(
This->outer_unk,
riid,
ppv);
997 return IUnknown_AddRef(
This->outer_unk);
1003 return IUnknown_Release(
This->outer_unk);
1023 TRACE(
"(%p, %p)\n", pUnkOuter,
ppv);
1043 &CLSID_VideoRenderer, (
DWORD_PTR)(__FILE__
": VideoRendererImpl.csFilter"),
static const char * wine_dbgstr_rect(const RECT *prc)
@ AM_FILTER_MISC_FLAGS_IS_RENDERER
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
const char * qzdebugstr_guid(const GUID *id)
static HRESULT WINAPI VideoRenderer_Pause(IBaseFilter *iface)
static const BaseControlVideoFuncTable renderer_BaseControlVideoFuncTable
static const BaseWindowFuncTable renderer_BaseWindowFuncTable
static VideoRendererImpl * impl_from_IUnknown(IUnknown *iface)
static HRESULT WINAPI VideoRenderer_SetSourceRect(BaseControlVideo *iface, RECT *pSourceRect)
static HRESULT WINAPI VideoWindow_get_FullScreenMode(IVideoWindow *iface, LONG *FullScreenMode)
static HRESULT WINAPI VideoRenderer_GetStaticImage(BaseControlVideo *iface, LONG *pBufferSize, LONG *pDIBImage)
static HRESULT WINAPI VideoRenderer_ShouldDrawSampleNow(BaseRenderer *This, IMediaSample *pSample, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime)
static void VideoRenderer_AutoShowWindow(VideoRendererImpl *This)
static ULONG WINAPI VideoRendererInner_Release(IUnknown *iface)
static ULONG WINAPI BasicVideo_Release(IBasicVideo *iface)
static VideoRendererImpl * impl_from_IBaseFilter(IBaseFilter *iface)
static HRESULT WINAPI VideoWindow_QueryInterface(IVideoWindow *iface, REFIID riid, LPVOID *ppvObj)
static HRESULT WINAPI VideoRendererInner_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
static const IBaseFilterVtbl VideoRenderer_Vtbl
static HRESULT WINAPI VideoRenderer_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
static VideoRendererImpl * impl_from_IBasicVideo(IBasicVideo *iface)
static HRESULT WINAPI VideoWindow_put_FullScreenMode(IVideoWindow *iface, LONG FullScreenMode)
static RECT WINAPI VideoRenderer_GetDefaultRect(BaseWindow *iface)
static VOID WINAPI VideoRenderer_OnStartStreaming(BaseRenderer *iface)
static ULONG WINAPI VideoRendererInner_AddRef(IUnknown *iface)
static VIDEOINFOHEADER *WINAPI VideoRenderer_GetVideoFormat(BaseControlVideo *iface)
static VOID WINAPI VideoRenderer_OnStopStreaming(BaseRenderer *iface)
static HRESULT WINAPI VideoRenderer_IsDefaultTargetRect(BaseControlVideo *iface)
static const BaseRendererFuncTable BaseFuncTable
static BOOL WINAPI VideoRenderer_OnSize(BaseWindow *iface, LONG Width, LONG Height)
static ULONG WINAPI AMFilterMiscFlags_Release(IAMFilterMiscFlags *iface)
HRESULT VideoRenderer_create(IUnknown *pUnkOuter, void **ppv)
HRESULT VideoRendererDefault_create(IUnknown *pUnkOuter, LPVOID *ppv)
static HRESULT WINAPI VideoRenderer_EndFlush(BaseRenderer *iface)
static HRESULT WINAPI BasicVideo_QueryInterface(IBasicVideo *iface, REFIID riid, LPVOID *ppvObj)
static const IBasicVideoVtbl IBasicVideo_VTable
static HRESULT WINAPI VideoRenderer_SetDefaultSourceRect(BaseControlVideo *iface)
static ULONG WINAPI VideoRenderer_AddRef(IBaseFilter *iface)
static HRESULT WINAPI VideoRenderer_IsDefaultSourceRect(BaseControlVideo *iface)
static ULONG WINAPI VideoWindow_Release(IVideoWindow *iface)
static HRESULT WINAPI VideoRenderer_CheckMediaType(BaseRenderer *iface, const AM_MEDIA_TYPE *pmt)
static ULONG WINAPI VideoRenderer_Release(IBaseFilter *iface)
static VideoRendererImpl * impl_from_BaseControlVideo(BaseControlVideo *iface)
static ULONG WINAPI BasicVideo_AddRef(IBasicVideo *iface)
static LPWSTR WINAPI VideoRenderer_GetClassWindowStyles(BaseWindow *This, DWORD *pClassStyles, DWORD *pWindowStyles, DWORD *pWindowStylesEx)
static HRESULT WINAPI VideoRenderer_DoRenderSample(BaseRenderer *iface, IMediaSample *pSample)
static BOOL CreateRenderingSubsystem(VideoRendererImpl *This)
static DWORD WINAPI MessageLoop(LPVOID lpParameter)
static const IVideoWindowVtbl IVideoWindow_VTable
static VideoRendererImpl * impl_from_IAMFilterMiscFlags(IAMFilterMiscFlags *iface)
static DWORD VideoRenderer_SendSampleData(VideoRendererImpl *This, LPBYTE data, DWORD size)
static HRESULT WINAPI AMFilterMiscFlags_QueryInterface(IAMFilterMiscFlags *iface, REFIID riid, void **ppv)
static HRESULT WINAPI VideoRenderer_GetSourceRect(BaseControlVideo *iface, RECT *pSourceRect)
static VideoRendererImpl * impl_from_BaseWindow(BaseWindow *iface)
static VideoRendererImpl * impl_from_BaseRenderer(BaseRenderer *iface)
static const IAMFilterMiscFlagsVtbl IAMFilterMiscFlags_Vtbl
static HRESULT WINAPI VideoRenderer_SetTargetRect(BaseControlVideo *iface, RECT *pTargetRect)
static ULONG WINAPI AMFilterMiscFlags_GetMiscFlags(IAMFilterMiscFlags *iface)
static ULONG WINAPI VideoWindow_AddRef(IVideoWindow *iface)
static HRESULT WINAPI VideoRenderer_GetTargetRect(BaseControlVideo *iface, RECT *pTargetRect)
static ULONG WINAPI AMFilterMiscFlags_AddRef(IAMFilterMiscFlags *iface)
static const IUnknownVtbl IInner_VTable
static VideoRendererImpl * impl_from_IVideoWindow(IVideoWindow *iface)
static HRESULT WINAPI VideoRenderer_SetDefaultTargetRect(BaseControlVideo *iface)
static __inline const char * debugstr_an(const char *s, int n)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
_Must_inspect_result_ _In_ ULONG _Out_writes_bytes_ pBufferSize PVOID _Inout_ PULONG pBufferSize
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei height
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
#define memcpy(s1, s2, n)
static IUnknown * pVideoRenderer
#define IsEqualIID(riid1, riid2)
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfoCount(IBasicVideo *iface, UINT *pctinfo)
HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage)
HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft)
HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlVideoImpl_SetDefaultDestinationPosition(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlVideoImpl_put_SourceTop(IBasicVideo *iface, LONG SourceTop)
HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth)
HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth)
HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop)
HRESULT WINAPI BaseControlVideo_Destroy(BaseControlVideo *pControlVideo)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth)
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultDestination(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft)
HRESULT WINAPI BaseControlVideoImpl_GetTypeInfo(IBasicVideo *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight)
HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultSource(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_get_BitRate(IBasicVideo *iface, LONG *pBitRate)
HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop)
HRESULT WINAPI BaseControlVideoImpl_Invoke(IBasicVideo *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth)
HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight)
HRESULT WINAPI BaseControlVideoImpl_get_SourceHeight(IBasicVideo *iface, LONG *pSourceHeight)
HRESULT WINAPI BaseControlVideoImpl_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame)
HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBasicVideoVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseControlVideoFuncTable *pFuncsTable)
HRESULT WINAPI BaseControlVideoImpl_GetVideoPaletteEntries(IBasicVideo *iface, LONG StartIndex, LONG Entries, LONG *pRetrieved, LONG *pPalette)
HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationTop(IBasicVideo *iface, LONG DestinationTop)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight)
HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft)
HRESULT WINAPI BaseControlVideoImpl_SetDefaultSourcePosition(IBasicVideo *iface)
HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth)
HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
HRESULT WINAPI BaseControlWindow_Destroy(BaseControlWindow *pControlWindow)
HRESULT WINAPI BaseControlWindowImpl_HideCursor(IVideoWindow *iface, LONG HideCursor)
HRESULT WINAPI BaseControlWindowImpl_put_Visible(IVideoWindow *iface, LONG Visible)
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfo(IVideoWindow *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
HRESULT WINAPI BaseControlWindowImpl_put_WindowState(IVideoWindow *iface, LONG WindowState)
HRESULT WINAPI BaseControlWindowImpl_get_Top(IVideoWindow *iface, LONG *pTop)
HRESULT WINAPI BaseControlWindowImpl_put_Height(IVideoWindow *iface, LONG Height)
HRESULT WINAPI BaseControlWindowImpl_get_Height(IVideoWindow *iface, LONG *pHeight)
HRESULT WINAPI BaseControlWindow_Init(BaseControlWindow *pControlWindow, const IVideoWindowVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin *pPin, const BaseWindowFuncTable *pFuncsTable)
HRESULT WINAPI BaseControlWindowImpl_get_Width(IVideoWindow *iface, LONG *pWidth)
HRESULT WINAPI BaseControlWindowImpl_put_AutoShow(IVideoWindow *iface, LONG AutoShow)
HRESULT WINAPI BaseControlWindowImpl_Invoke(IVideoWindow *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExepInfo, UINT *puArgErr)
HRESULT WINAPI BaseControlWindowImpl_get_Caption(IVideoWindow *iface, BSTR *strCaption)
HRESULT WINAPI BaseControlWindowImpl_put_Top(IVideoWindow *iface, LONG Top)
HRESULT WINAPI BaseControlWindowImpl_put_Owner(IVideoWindow *iface, OAHWND Owner)
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyle(IVideoWindow *iface, LONG *WindowStyle)
HRESULT WINAPI BaseControlWindowImpl_GetWindowPosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_get_WindowState(IVideoWindow *iface, LONG *WindowState)
HRESULT WINAPI BaseControlWindowImpl_GetMinIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_put_Width(IVideoWindow *iface, LONG Width)
HRESULT WINAPI BaseControlWindowImpl_get_Left(IVideoWindow *iface, LONG *pLeft)
HRESULT WINAPI BaseControlWindowImpl_GetIDsOfNames(IVideoWindow *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
HRESULT WINAPI BaseControlWindowImpl_GetMaxIdealImageSize(IVideoWindow *iface, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_get_WindowStyleEx(IVideoWindow *iface, LONG *WindowStyleEx)
HRESULT WINAPI BaseControlWindowImpl_put_Left(IVideoWindow *iface, LONG Left)
HRESULT WINAPI BaseControlWindowImpl_SetWindowPosition(IVideoWindow *iface, LONG Left, LONG Top, LONG Width, LONG Height)
HRESULT WINAPI BaseControlWindowImpl_put_BorderColor(IVideoWindow *iface, LONG Color)
HRESULT WINAPI BaseControlWindowImpl_get_Visible(IVideoWindow *iface, LONG *pVisible)
HRESULT WINAPI BaseControlWindowImpl_get_BackgroundPalette(IVideoWindow *iface, LONG *pBackgroundPalette)
BOOL WINAPI BaseControlWindowImpl_PossiblyEatMessage(BaseWindow *This, UINT uMsg, WPARAM wParam, LPARAM lParam)
HRESULT WINAPI BaseControlWindowImpl_get_MessageDrain(IVideoWindow *iface, OAHWND *Drain)
HRESULT WINAPI BaseControlWindowImpl_put_MessageDrain(IVideoWindow *iface, OAHWND Drain)
HRESULT WINAPI BaseControlWindowImpl_SetWindowForeground(IVideoWindow *iface, LONG Focus)
HRESULT WINAPI BaseControlWindowImpl_get_AutoShow(IVideoWindow *iface, LONG *AutoShow)
HRESULT WINAPI BaseControlWindowImpl_GetTypeInfoCount(IVideoWindow *iface, UINT *pctinfo)
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyle(IVideoWindow *iface, LONG WindowStyle)
HRESULT WINAPI BaseControlWindowImpl_get_Owner(IVideoWindow *iface, OAHWND *Owner)
HRESULT WINAPI BaseControlWindowImpl_GetRestorePosition(IVideoWindow *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
HRESULT WINAPI BaseControlWindowImpl_NotifyOwnerMessage(IVideoWindow *iface, OAHWND hwnd, LONG uMsg, LONG_PTR wParam, LONG_PTR lParam)
HRESULT WINAPI BaseControlWindowImpl_put_BackgroundPalette(IVideoWindow *iface, LONG BackgroundPalette)
HRESULT WINAPI BaseControlWindowImpl_IsCursorHidden(IVideoWindow *iface, LONG *CursorHidden)
HRESULT WINAPI BaseControlWindowImpl_get_BorderColor(IVideoWindow *iface, LONG *Color)
HRESULT WINAPI BaseControlWindowImpl_put_Caption(IVideoWindow *iface, BSTR strCaption)
HRESULT WINAPI BaseControlWindowImpl_put_WindowStyleEx(IVideoWindow *iface, LONG WindowStyleEx)
BOOL WINAPI BaseWindowImpl_OnSize(BaseWindow *This, LONG Height, LONG Width)
HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock)
HRESULT WINAPI BaseRendererImpl_EndFlush(BaseRenderer *iface)
HRESULT WINAPI BaseFilterImpl_GetClassID(IBaseFilter *iface, CLSID *pClsid)
ULONG WINAPI BaseRendererImpl_Release(IBaseFilter *iface)
HRESULT WINAPI BaseFilterImpl_QueryFilterInfo(IBaseFilter *iface, FILTER_INFO *pInfo)
HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter *iface)
HRESULT WINAPI BaseWindowImpl_PrepareWindow(BaseWindow *This)
HRESULT WINAPI BaseRendererImpl_FindPin(IBaseFilter *iface, LPCWSTR Id, IPin **ppPin)
HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter *iface, REFERENCE_TIME tStart)
ULONG WINAPI BaseFilterImpl_AddRef(IBaseFilter *iface)
HRESULT WINAPI BaseFilterImpl_JoinFilterGraph(IBaseFilter *iface, IFilterGraph *pGraph, LPCWSTR pName)
HRESULT WINAPI BaseFilterImpl_QueryVendorInfo(IBaseFilter *iface, LPWSTR *pVendorInfo)
HRESULT WINAPI BaseFilterImpl_GetSyncSource(IBaseFilter *iface, IReferenceClock **ppClock)
HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter *iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
HRESULT WINAPI BaseRendererImpl_QueryInterface(IBaseFilter *iface, REFIID riid, LPVOID *ppv)
HRESULT WINAPI BaseFilterImpl_EnumPins(IBaseFilter *iface, IEnumPins **ppEnum)
HRESULT WINAPI BaseRenderer_Init(BaseRenderer *This, const IBaseFilterVtbl *Vtbl, IUnknown *pUnkOuter, const CLSID *pClsid, DWORD_PTR DebugInfo, const BaseRendererFuncTable *pBaseFuncsTable)
CRITICAL_SECTION csFilter
LPCRITICAL_SECTION pCritSec
CRITICAL_SECTION csRenderLock
BaseControlVideo baseControlVideo
BaseControlWindow baseControlWindow
IAMFilterMiscFlags IAMFilterMiscFlags_iface
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
BOOL WINAPI DECLSPEC_HOTPATCH ResetEvent(IN HANDLE hEvent)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
#define CONTAINING_RECORD(address, type, field)
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
_In_ HFONT _Out_ PUINT Height
#define VFW_E_WRONG_STATE
#define VFW_E_RUNTIME_ERROR
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
int WINAPI StretchDIBits(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ const VOID *, _In_ const BITMAPINFO *, _In_ UINT, _In_ DWORD)
BOOL WINAPI CopyRect(_Out_ LPRECT, _In_ LPCRECT)
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
HWND WINAPI SetParent(_In_ HWND, _In_opt_ HWND)
LONG WINAPI SetWindowLongW(_In_ HWND, _In_ int, _In_ LONG)
LONG WINAPI GetWindowLongW(_In_ HWND, _In_ int)
BOOL WINAPI AdjustWindowRectEx(_Inout_ LPRECT, _In_ DWORD, _In_ BOOL, _In_ DWORD)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI PostThreadMessageW(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)
int WINAPI GetSystemMetrics(_In_ int)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)