Module: wine Branch: master Commit: 02216db8ca82c5e370dcc788c70c652bbcd6add3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=02216db8ca82c5e370dcc788c7...
Author: Michael Stefaniuc mstefani@redhat.de Date: Mon Jul 2 01:07:46 2012 +0200
quartz: Move VideoRenderer_create() to avoid forward declarations.
---
dlls/quartz/videorenderer.c | 124 +++++++++++++++++++++--------------------- 1 files changed, 62 insertions(+), 62 deletions(-)
diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c index 69437a1..a045ba8 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); +}