From 02216db8ca82c5e370dcc788c70c652bbcd6add3 Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Mon, 2 Jul 2012 01:07:46 +0200 Subject: [PATCH] quartz: Move VideoRenderer_create() to avoid forward declarations. --- dlls/quartz/videorenderer.c | 124 ++++++++++++++++++++++---------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c index 69437a165a3..a045ba824ff 100644 --- a/dlls/quartz/videorenderer.c +++ b/dlls/quartz/videorenderer.c @@ -42,12 +42,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(quartz); -static const IBaseFilterVtbl VideoRenderer_Vtbl; -static const IUnknownVtbl IInner_VTable; -static const IBasicVideoVtbl IBasicVideo_VTable; -static const IVideoWindowVtbl IVideoWindow_VTable; -static const IAMFilterMiscFlagsVtbl IAMFilterMiscFlags_Vtbl; - typedef struct VideoRendererImpl { BaseRenderer renderer; @@ -640,62 +634,6 @@ static const BaseControlVideoFuncTable renderer_BaseControlVideoFuncTable = { VideoRenderer_SetTargetRect }; -HRESULT VideoRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv) -{ - HRESULT hr; - VideoRendererImpl * pVideoRenderer; - - TRACE("(%p, %p)\n", pUnkOuter, ppv); - - *ppv = NULL; - - pVideoRenderer = CoTaskMemAlloc(sizeof(VideoRendererImpl)); - pVideoRenderer->IUnknown_inner.lpVtbl = &IInner_VTable; - pVideoRenderer->IAMFilterMiscFlags_iface.lpVtbl = &IAMFilterMiscFlags_Vtbl; - - pVideoRenderer->init = 0; - ZeroMemory(&pVideoRenderer->SourceRect, sizeof(RECT)); - ZeroMemory(&pVideoRenderer->DestRect, sizeof(RECT)); - ZeroMemory(&pVideoRenderer->WindowPos, sizeof(RECT)); - - if (pUnkOuter) - pVideoRenderer->outer_unk = pUnkOuter; - else - pVideoRenderer->outer_unk = &pVideoRenderer->IUnknown_inner; - - hr = BaseRenderer_Init(&pVideoRenderer->renderer, &VideoRenderer_Vtbl, pUnkOuter, &CLSID_VideoRenderer, (DWORD_PTR)(__FILE__ ": VideoRendererImpl.csFilter"), &BaseFuncTable); - - if (FAILED(hr)) - goto fail; - - hr = BaseControlWindow_Init(&pVideoRenderer->baseControlWindow, &IVideoWindow_VTable, &pVideoRenderer->renderer.filter, &pVideoRenderer->renderer.filter.csFilter, &pVideoRenderer->renderer.pInputPin->pin, &renderer_BaseWindowFuncTable); - if (FAILED(hr)) - goto fail; - - hr = BaseControlVideo_Init(&pVideoRenderer->baseControlVideo, &IBasicVideo_VTable, &pVideoRenderer->renderer.filter, &pVideoRenderer->renderer.filter.csFilter, &pVideoRenderer->renderer.pInputPin->pin, &renderer_BaseControlVideoFuncTable); - if (FAILED(hr)) - goto fail; - - if (!CreateRenderingSubsystem(pVideoRenderer)) { - hr = E_FAIL; - goto fail; - } - - *ppv = &pVideoRenderer->IUnknown_inner; - return S_OK; - -fail: - BaseRendererImpl_Release(&pVideoRenderer->renderer.filter.IBaseFilter_iface); - CoTaskMemFree(pVideoRenderer); - return hr; -} - -HRESULT VideoRendererDefault_create(IUnknown * pUnkOuter, LPVOID * ppv) -{ - /* TODO: Attempt to use the VMR-7 renderer instead when possible */ - return VideoRenderer_create(pUnkOuter, ppv); -} - static inline VideoRendererImpl *impl_from_IUnknown(IUnknown *iface) { return CONTAINING_RECORD(iface, VideoRendererImpl, IUnknown_inner); @@ -1060,3 +998,65 @@ static const IAMFilterMiscFlagsVtbl IAMFilterMiscFlags_Vtbl = { AMFilterMiscFlags_Release, AMFilterMiscFlags_GetMiscFlags }; + +HRESULT VideoRenderer_create(IUnknown *pUnkOuter, void **ppv) +{ + HRESULT hr; + VideoRendererImpl * pVideoRenderer; + + TRACE("(%p, %p)\n", pUnkOuter, ppv); + + *ppv = NULL; + + pVideoRenderer = CoTaskMemAlloc(sizeof(VideoRendererImpl)); + pVideoRenderer->IUnknown_inner.lpVtbl = &IInner_VTable; + pVideoRenderer->IAMFilterMiscFlags_iface.lpVtbl = &IAMFilterMiscFlags_Vtbl; + + pVideoRenderer->init = 0; + ZeroMemory(&pVideoRenderer->SourceRect, sizeof(RECT)); + ZeroMemory(&pVideoRenderer->DestRect, sizeof(RECT)); + ZeroMemory(&pVideoRenderer->WindowPos, sizeof(RECT)); + + if (pUnkOuter) + pVideoRenderer->outer_unk = pUnkOuter; + else + pVideoRenderer->outer_unk = &pVideoRenderer->IUnknown_inner; + + hr = BaseRenderer_Init(&pVideoRenderer->renderer, &VideoRenderer_Vtbl, pUnkOuter, + &CLSID_VideoRenderer, (DWORD_PTR)(__FILE__ ": VideoRendererImpl.csFilter"), + &BaseFuncTable); + + if (FAILED(hr)) + goto fail; + + hr = BaseControlWindow_Init(&pVideoRenderer->baseControlWindow, &IVideoWindow_VTable, + &pVideoRenderer->renderer.filter, &pVideoRenderer->renderer.filter.csFilter, + &pVideoRenderer->renderer.pInputPin->pin, &renderer_BaseWindowFuncTable); + if (FAILED(hr)) + goto fail; + + hr = BaseControlVideo_Init(&pVideoRenderer->baseControlVideo, &IBasicVideo_VTable, + &pVideoRenderer->renderer.filter, &pVideoRenderer->renderer.filter.csFilter, + &pVideoRenderer->renderer.pInputPin->pin, &renderer_BaseControlVideoFuncTable); + if (FAILED(hr)) + goto fail; + + if (!CreateRenderingSubsystem(pVideoRenderer)) { + hr = E_FAIL; + goto fail; + } + + *ppv = &pVideoRenderer->IUnknown_inner; + return S_OK; + +fail: + BaseRendererImpl_Release(&pVideoRenderer->renderer.filter.IBaseFilter_iface); + CoTaskMemFree(pVideoRenderer); + return hr; +} + +HRESULT VideoRendererDefault_create(IUnknown * pUnkOuter, LPVOID * ppv) +{ + /* TODO: Attempt to use the VMR-7 renderer instead when possible */ + return VideoRenderer_create(pUnkOuter, ppv); +} -- 2.11.4.GIT