[PATCH 3/5] strmbase: Get rid of the "lpVtbl" parameter to BaseControlVideo_Init().

Zebediah Figura zfigura at codeweavers.com
Tue Jun 11 18:54:37 CDT 2019


From: Zebediah Figura <z.figura12 at gmail.com>

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/quartz/videorenderer.c |  46 +-----------
 dlls/quartz/vmr9.c          |  49 +-----------
 dlls/strmbase/video.c       | 146 +++++++++++++++++++++++-------------
 include/wine/strmbase.h     |  43 +----------
 4 files changed, 101 insertions(+), 183 deletions(-)

diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c
index f4d6e54f0ec..6b6806b4b2d 100644
--- a/dlls/quartz/videorenderer.c
+++ b/dlls/quartz/videorenderer.c
@@ -708,50 +708,6 @@ static const IBaseFilterVtbl VideoRenderer_Vtbl =
     BaseFilterImpl_QueryVendorInfo
 };
 
-static const IBasicVideoVtbl IBasicVideo_VTable =
-{
-    BaseControlVideoImpl_QueryInterface,
-    BaseControlVideoImpl_AddRef,
-    BaseControlVideoImpl_Release,
-    BaseControlVideoImpl_GetTypeInfoCount,
-    BaseControlVideoImpl_GetTypeInfo,
-    BaseControlVideoImpl_GetIDsOfNames,
-    BaseControlVideoImpl_Invoke,
-    BaseControlVideoImpl_get_AvgTimePerFrame,
-    BaseControlVideoImpl_get_BitRate,
-    BaseControlVideoImpl_get_BitErrorRate,
-    BaseControlVideoImpl_get_VideoWidth,
-    BaseControlVideoImpl_get_VideoHeight,
-    BaseControlVideoImpl_put_SourceLeft,
-    BaseControlVideoImpl_get_SourceLeft,
-    BaseControlVideoImpl_put_SourceWidth,
-    BaseControlVideoImpl_get_SourceWidth,
-    BaseControlVideoImpl_put_SourceTop,
-    BaseControlVideoImpl_get_SourceTop,
-    BaseControlVideoImpl_put_SourceHeight,
-    BaseControlVideoImpl_get_SourceHeight,
-    BaseControlVideoImpl_put_DestinationLeft,
-    BaseControlVideoImpl_get_DestinationLeft,
-    BaseControlVideoImpl_put_DestinationWidth,
-    BaseControlVideoImpl_get_DestinationWidth,
-    BaseControlVideoImpl_put_DestinationTop,
-    BaseControlVideoImpl_get_DestinationTop,
-    BaseControlVideoImpl_put_DestinationHeight,
-    BaseControlVideoImpl_get_DestinationHeight,
-    BaseControlVideoImpl_SetSourcePosition,
-    BaseControlVideoImpl_GetSourcePosition,
-    BaseControlVideoImpl_SetDefaultSourcePosition,
-    BaseControlVideoImpl_SetDestinationPosition,
-    BaseControlVideoImpl_GetDestinationPosition,
-    BaseControlVideoImpl_SetDefaultDestinationPosition,
-    BaseControlVideoImpl_GetVideoSize,
-    BaseControlVideoImpl_GetVideoPaletteEntries,
-    BaseControlVideoImpl_GetCurrentImage,
-    BaseControlVideoImpl_IsUsingDefaultSource,
-    BaseControlVideoImpl_IsUsingDefaultDestination
-};
-
-
 /*** IUnknown methods ***/
 static HRESULT WINAPI VideoWindow_QueryInterface(IVideoWindow *iface, REFIID riid, LPVOID *ppvObj)
 {
@@ -902,7 +858,7 @@ HRESULT VideoRenderer_create(IUnknown *outer, void **out)
     if (FAILED(hr))
         goto fail;
 
-    hr = BaseControlVideo_Init(&pVideoRenderer->baseControlVideo, &IBasicVideo_VTable,
+    hr = strmbase_video_init(&pVideoRenderer->baseControlVideo,
             &pVideoRenderer->renderer.filter, &pVideoRenderer->renderer.filter.csFilter,
             &pVideoRenderer->renderer.pInputPin->pin, &renderer_BaseControlVideoFuncTable);
     if (FAILED(hr))
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index 8f4aa8e4a16..3cb79843dbf 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -887,49 +887,6 @@ static const IVideoWindowVtbl IVideoWindow_VTable =
     BaseControlWindowImpl_IsCursorHidden
 };
 
-static const IBasicVideoVtbl IBasicVideo_VTable =
-{
-    BaseControlVideoImpl_QueryInterface,
-    BaseControlVideoImpl_AddRef,
-    BaseControlVideoImpl_Release,
-    BaseControlVideoImpl_GetTypeInfoCount,
-    BaseControlVideoImpl_GetTypeInfo,
-    BaseControlVideoImpl_GetIDsOfNames,
-    BaseControlVideoImpl_Invoke,
-    BaseControlVideoImpl_get_AvgTimePerFrame,
-    BaseControlVideoImpl_get_BitRate,
-    BaseControlVideoImpl_get_BitErrorRate,
-    BaseControlVideoImpl_get_VideoWidth,
-    BaseControlVideoImpl_get_VideoHeight,
-    BaseControlVideoImpl_put_SourceLeft,
-    BaseControlVideoImpl_get_SourceLeft,
-    BaseControlVideoImpl_put_SourceWidth,
-    BaseControlVideoImpl_get_SourceWidth,
-    BaseControlVideoImpl_put_SourceTop,
-    BaseControlVideoImpl_get_SourceTop,
-    BaseControlVideoImpl_put_SourceHeight,
-    BaseControlVideoImpl_get_SourceHeight,
-    BaseControlVideoImpl_put_DestinationLeft,
-    BaseControlVideoImpl_get_DestinationLeft,
-    BaseControlVideoImpl_put_DestinationWidth,
-    BaseControlVideoImpl_get_DestinationWidth,
-    BaseControlVideoImpl_put_DestinationTop,
-    BaseControlVideoImpl_get_DestinationTop,
-    BaseControlVideoImpl_put_DestinationHeight,
-    BaseControlVideoImpl_get_DestinationHeight,
-    BaseControlVideoImpl_SetSourcePosition,
-    BaseControlVideoImpl_GetSourcePosition,
-    BaseControlVideoImpl_SetDefaultSourcePosition,
-    BaseControlVideoImpl_SetDestinationPosition,
-    BaseControlVideoImpl_GetDestinationPosition,
-    BaseControlVideoImpl_SetDefaultDestinationPosition,
-    BaseControlVideoImpl_GetVideoSize,
-    BaseControlVideoImpl_GetVideoPaletteEntries,
-    BaseControlVideoImpl_GetCurrentImage,
-    BaseControlVideoImpl_IsUsingDefaultSource,
-    BaseControlVideoImpl_IsUsingDefaultDestination
-};
-
 static HRESULT WINAPI AMCertifiedOutputProtection_QueryInterface(IAMCertifiedOutputProtection *iface,
                                                                  REFIID riid, void **ppv)
 {
@@ -2263,9 +2220,9 @@ static HRESULT vmr_create(IUnknown *outer, void **out, const CLSID *clsid)
     if (FAILED(hr))
         goto fail;
 
-    hr = BaseControlVideo_Init(&pVMR->baseControlVideo, &IBasicVideo_VTable, &pVMR->renderer.filter,
-                               &pVMR->renderer.filter.csFilter, &pVMR->renderer.pInputPin->pin,
-                               &renderer_BaseControlVideoFuncTable);
+    hr = strmbase_video_init(&pVMR->baseControlVideo, &pVMR->renderer.filter,
+            &pVMR->renderer.filter.csFilter, &pVMR->renderer.pInputPin->pin,
+            &renderer_BaseControlVideoFuncTable);
     if (FAILED(hr))
         goto fail;
 
diff --git a/dlls/strmbase/video.c b/dlls/strmbase/video.c
index 8e26aaf20fe..81478d6443e 100644
--- a/dlls/strmbase/video.c
+++ b/dlls/strmbase/video.c
@@ -27,17 +27,6 @@ static inline BaseControlVideo *impl_from_IBasicVideo(IBasicVideo *iface)
     return CONTAINING_RECORD(iface, BaseControlVideo, IBasicVideo_iface);
 }
 
-HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBasicVideoVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin* pPin, const BaseControlVideoFuncTable* pFuncsTable)
-{
-    pControlVideo->IBasicVideo_iface.lpVtbl = lpVtbl;
-    pControlVideo->pFilter = owner;
-    pControlVideo->pInterfaceLock = lock;
-    pControlVideo->pPin = pPin;
-    pControlVideo->pFuncsTable = pFuncsTable;
-
-    return S_OK;
-}
-
 HRESULT WINAPI BaseControlVideo_Destroy(BaseControlVideo *pControlVideo)
 {
     return S_OK;
@@ -51,7 +40,7 @@ static HRESULT BaseControlVideoImpl_CheckSourceRect(BaseControlVideo *This, RECT
     if (IsRectEmpty(pSourceRect))
         return E_INVALIDARG;
 
-    hr = BaseControlVideoImpl_GetVideoSize((IBasicVideo *)This, &VideoWidth, &VideoHeight);
+    hr = IBasicVideo_GetVideoSize(&This->IBasicVideo_iface, &VideoWidth, &VideoHeight);
     if (FAILED(hr))
         return hr;
 
@@ -70,39 +59,39 @@ static HRESULT BaseControlVideoImpl_CheckTargetRect(BaseControlVideo *This, RECT
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_QueryInterface(IBasicVideo *iface, REFIID iid, void **out)
+static HRESULT WINAPI basic_video_QueryInterface(IBasicVideo *iface, REFIID iid, void **out)
 {
     BaseControlVideo *video = impl_from_IBasicVideo(iface);
     return IUnknown_QueryInterface(video->pFilter->outer_unk, iid, out);
 }
 
-ULONG WINAPI BaseControlVideoImpl_AddRef(IBasicVideo *iface)
+static ULONG WINAPI basic_video_AddRef(IBasicVideo *iface)
 {
     BaseControlVideo *video = impl_from_IBasicVideo(iface);
     return IUnknown_AddRef(video->pFilter->outer_unk);
 }
 
-ULONG WINAPI BaseControlVideoImpl_Release(IBasicVideo *iface)
+static ULONG WINAPI basic_video_Release(IBasicVideo *iface)
 {
     BaseControlVideo *video = impl_from_IBasicVideo(iface);
     return IUnknown_Release(video->pFilter->outer_unk);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetTypeInfoCount(IBasicVideo *iface, UINT *count)
+static HRESULT WINAPI basic_video_GetTypeInfoCount(IBasicVideo *iface, UINT *count)
 {
     TRACE("iface %p, count %p.\n", iface, count);
     *count = 1;
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetTypeInfo(IBasicVideo *iface, UINT index,
+static HRESULT WINAPI basic_video_GetTypeInfo(IBasicVideo *iface, UINT index,
         LCID lcid, ITypeInfo **typeinfo)
 {
     TRACE("iface %p, index %u, lcid %#x, typeinfo %p.\n", iface, index, lcid, typeinfo);
     return strmbase_get_typeinfo(IBasicVideo_tid, typeinfo);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID iid,
+static HRESULT WINAPI basic_video_GetIDsOfNames(IBasicVideo *iface, REFIID iid,
         LPOLESTR *names, UINT count, LCID lcid, DISPID *ids)
 {
     ITypeInfo *typeinfo;
@@ -119,7 +108,7 @@ HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID iid
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_Invoke(IBasicVideo *iface, DISPID id, REFIID iid, LCID lcid,
+static HRESULT WINAPI basic_video_Invoke(IBasicVideo *iface, DISPID id, REFIID iid, LCID lcid,
         WORD flags, DISPPARAMS *params, VARIANT *result, EXCEPINFO *excepinfo, UINT *error_arg)
 {
     ITypeInfo *typeinfo;
@@ -136,7 +125,7 @@ HRESULT WINAPI BaseControlVideoImpl_Invoke(IBasicVideo *iface, DISPID id, REFIID
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame)
+static HRESULT WINAPI basic_video_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame)
 {
     VIDEOINFOHEADER *vih;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -153,7 +142,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_AvgTimePerFrame(IBasicVideo *iface, REFT
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_BitRate(IBasicVideo *iface, LONG *pBitRate)
+static HRESULT WINAPI basic_video_get_BitRate(IBasicVideo *iface, LONG *pBitRate)
 {
     VIDEOINFOHEADER *vih;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -170,7 +159,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_BitRate(IBasicVideo *iface, LONG *pBitRa
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate)
+static HRESULT WINAPI basic_video_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate)
 {
     VIDEOINFOHEADER *vih;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -187,7 +176,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *p
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth)
+static HRESULT WINAPI basic_video_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth)
 {
     VIDEOINFOHEADER *vih;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -202,7 +191,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVi
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight)
+static HRESULT WINAPI basic_video_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight)
 {
     VIDEOINFOHEADER *vih;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -217,7 +206,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pV
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft)
+static HRESULT WINAPI basic_video_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -237,7 +226,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG Sour
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft)
+static HRESULT WINAPI basic_video_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -251,7 +240,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSo
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth)
+static HRESULT WINAPI basic_video_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -270,7 +259,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG Sou
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth)
+static HRESULT WINAPI basic_video_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -284,7 +273,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pS
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_SourceTop(IBasicVideo *iface, LONG SourceTop)
+static HRESULT WINAPI basic_video_put_SourceTop(IBasicVideo *iface, LONG SourceTop)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -304,7 +293,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_SourceTop(IBasicVideo *iface, LONG Sourc
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop)
+static HRESULT WINAPI basic_video_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -318,7 +307,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSou
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight)
+static HRESULT WINAPI basic_video_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -337,7 +326,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG So
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_SourceHeight(IBasicVideo *iface, LONG *pSourceHeight)
+static HRESULT WINAPI basic_video_get_SourceHeight(IBasicVideo *iface, LONG *pSourceHeight)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -352,7 +341,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_SourceHeight(IBasicVideo *iface, LONG *p
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft)
+static HRESULT WINAPI basic_video_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -372,7 +361,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft)
+static HRESULT WINAPI basic_video_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -386,7 +375,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth)
+static HRESULT WINAPI basic_video_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -405,7 +394,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LON
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth)
+static HRESULT WINAPI basic_video_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -419,7 +408,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LON
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationTop(IBasicVideo *iface, LONG DestinationTop)
+static HRESULT WINAPI basic_video_put_DestinationTop(IBasicVideo *iface, LONG DestinationTop)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -439,7 +428,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_DestinationTop(IBasicVideo *iface, LONG
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop)
+static HRESULT WINAPI basic_video_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -453,7 +442,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight)
+static HRESULT WINAPI basic_video_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -472,7 +461,7 @@ HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LO
     return hr;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight)
+static HRESULT WINAPI basic_video_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -486,7 +475,7 @@ HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LO
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
+static HRESULT WINAPI basic_video_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -499,7 +488,7 @@ HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG L
     return This->pFuncsTable->pfnSetSourceRect(This, &SourceRect);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
+static HRESULT WINAPI basic_video_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
 {
     RECT SourceRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -517,7 +506,7 @@ HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_SetDefaultSourcePosition(IBasicVideo *iface)
+static HRESULT WINAPI basic_video_SetDefaultSourcePosition(IBasicVideo *iface)
 {
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
 
@@ -525,7 +514,7 @@ HRESULT WINAPI BaseControlVideoImpl_SetDefaultSourcePosition(IBasicVideo *iface)
     return This->pFuncsTable->pfnSetDefaultSourceRect(This);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
+static HRESULT WINAPI basic_video_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -538,7 +527,7 @@ HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, L
     return This->pFuncsTable->pfnSetTargetRect(This, &DestRect);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
+static HRESULT WINAPI basic_video_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight)
 {
     RECT DestRect;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -556,7 +545,7 @@ HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, L
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_SetDefaultDestinationPosition(IBasicVideo *iface)
+static HRESULT WINAPI basic_video_SetDefaultDestinationPosition(IBasicVideo *iface)
 {
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
 
@@ -564,7 +553,7 @@ HRESULT WINAPI BaseControlVideoImpl_SetDefaultDestinationPosition(IBasicVideo *i
     return This->pFuncsTable->pfnSetDefaultTargetRect(This);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight)
+static HRESULT WINAPI basic_video_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight)
 {
     VIDEOINFOHEADER *vih;
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
@@ -580,7 +569,7 @@ HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidt
     return S_OK;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetVideoPaletteEntries(IBasicVideo *iface, LONG StartIndex, LONG Entries, LONG *pRetrieved, LONG *pPalette)
+static HRESULT WINAPI basic_video_GetVideoPaletteEntries(IBasicVideo *iface, LONG StartIndex, LONG Entries, LONG *pRetrieved, LONG *pPalette)
 {
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
 
@@ -592,7 +581,7 @@ HRESULT WINAPI BaseControlVideoImpl_GetVideoPaletteEntries(IBasicVideo *iface, L
     return VFW_E_NO_PALETTE_AVAILABLE;
 }
 
-HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage)
+static HRESULT WINAPI basic_video_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage)
 {
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
     if (!pBufferSize || !pDIBImage)
@@ -601,16 +590,71 @@ HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pB
     return This->pFuncsTable->pfnGetStaticImage(This, pBufferSize, pDIBImage);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultSource(IBasicVideo *iface)
+static HRESULT WINAPI basic_video_IsUsingDefaultSource(IBasicVideo *iface)
 {
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
 
     return This->pFuncsTable->pfnIsDefaultSourceRect(This);
 }
 
-HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultDestination(IBasicVideo *iface)
+static HRESULT WINAPI basic_video_IsUsingDefaultDestination(IBasicVideo *iface)
 {
     BaseControlVideo *This = impl_from_IBasicVideo(iface);
 
     return This->pFuncsTable->pfnIsDefaultTargetRect(This);
 }
+
+static const IBasicVideoVtbl basic_video_vtbl =
+{
+    basic_video_QueryInterface,
+    basic_video_AddRef,
+    basic_video_Release,
+    basic_video_GetTypeInfoCount,
+    basic_video_GetTypeInfo,
+    basic_video_GetIDsOfNames,
+    basic_video_Invoke,
+    basic_video_get_AvgTimePerFrame,
+    basic_video_get_BitRate,
+    basic_video_get_BitErrorRate,
+    basic_video_get_VideoWidth,
+    basic_video_get_VideoHeight,
+    basic_video_put_SourceLeft,
+    basic_video_get_SourceLeft,
+    basic_video_put_SourceWidth,
+    basic_video_get_SourceWidth,
+    basic_video_put_SourceTop,
+    basic_video_get_SourceTop,
+    basic_video_put_SourceHeight,
+    basic_video_get_SourceHeight,
+    basic_video_put_DestinationLeft,
+    basic_video_get_DestinationLeft,
+    basic_video_put_DestinationWidth,
+    basic_video_get_DestinationWidth,
+    basic_video_put_DestinationTop,
+    basic_video_get_DestinationTop,
+    basic_video_put_DestinationHeight,
+    basic_video_get_DestinationHeight,
+    basic_video_SetSourcePosition,
+    basic_video_GetSourcePosition,
+    basic_video_SetDefaultSourcePosition,
+    basic_video_SetDestinationPosition,
+    basic_video_GetDestinationPosition,
+    basic_video_SetDefaultDestinationPosition,
+    basic_video_GetVideoSize,
+    basic_video_GetVideoPaletteEntries,
+    basic_video_GetCurrentImage,
+    basic_video_IsUsingDefaultSource,
+    basic_video_IsUsingDefaultDestination
+};
+
+HRESULT WINAPI strmbase_video_init(BaseControlVideo *video, BaseFilter *filter,
+        CRITICAL_SECTION *cs, BasePin *pin, const BaseControlVideoFuncTable *func_table)
+{
+    video->IBasicVideo_iface.lpVtbl = &basic_video_vtbl;
+    video->pFilter = filter;
+    video->pInterfaceLock = cs;
+    video->pPin = pin;
+    video->pFuncsTable = func_table;
+
+    return S_OK;
+}
diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h
index 0b582b9d4de..a7dda2ed420 100644
--- a/include/wine/strmbase.h
+++ b/include/wine/strmbase.h
@@ -514,48 +514,9 @@ typedef struct BaseControlVideoFuncTable {
 	BaseControlVideo_SetTargetRect pfnSetTargetRect;
 } BaseControlVideoFuncTable;
 
-HRESULT WINAPI BaseControlVideo_Init(BaseControlVideo *pControlVideo, const IBasicVideoVtbl *lpVtbl, BaseFilter *owner, CRITICAL_SECTION *lock, BasePin* pPin, const BaseControlVideoFuncTable* pFuncsTable);
+HRESULT WINAPI strmbase_video_init(BaseControlVideo *video, BaseFilter *filter,
+        CRITICAL_SECTION *cs, BasePin *pin, const BaseControlVideoFuncTable *func_table);
 HRESULT WINAPI BaseControlVideo_Destroy(BaseControlVideo *pControlVideo);
-
-HRESULT WINAPI BaseControlVideoImpl_QueryInterface(IBasicVideo *iface, REFIID iid, void **out);
-ULONG WINAPI BaseControlVideoImpl_AddRef(IBasicVideo *iface);
-ULONG WINAPI BaseControlVideoImpl_Release(IBasicVideo *iface);
-HRESULT WINAPI BaseControlVideoImpl_GetTypeInfoCount(IBasicVideo *iface, UINT*pctinfo);
-HRESULT WINAPI BaseControlVideoImpl_GetTypeInfo(IBasicVideo *iface, UINT iTInfo, LCID lcid, ITypeInfo**ppTInfo);
-HRESULT WINAPI BaseControlVideoImpl_GetIDsOfNames(IBasicVideo *iface, REFIID riid, LPOLESTR*rgszNames, UINT cNames, LCID lcid, DISPID*rgDispId);
-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_get_AvgTimePerFrame(IBasicVideo *iface, REFTIME *pAvgTimePerFrame);
-HRESULT WINAPI BaseControlVideoImpl_get_BitRate(IBasicVideo *iface, LONG *pBitRate);
-HRESULT WINAPI BaseControlVideoImpl_get_BitErrorRate(IBasicVideo *iface, LONG *pBitErrorRate);
-HRESULT WINAPI BaseControlVideoImpl_get_VideoWidth(IBasicVideo *iface, LONG *pVideoWidth);
-HRESULT WINAPI BaseControlVideoImpl_get_VideoHeight(IBasicVideo *iface, LONG *pVideoHeight);
-HRESULT WINAPI BaseControlVideoImpl_put_SourceLeft(IBasicVideo *iface, LONG SourceLeft);
-HRESULT WINAPI BaseControlVideoImpl_get_SourceLeft(IBasicVideo *iface, LONG *pSourceLeft);
-HRESULT WINAPI BaseControlVideoImpl_put_SourceWidth(IBasicVideo *iface, LONG SourceWidth);
-HRESULT WINAPI BaseControlVideoImpl_get_SourceWidth(IBasicVideo *iface, LONG *pSourceWidth);
-HRESULT WINAPI BaseControlVideoImpl_put_SourceTop(IBasicVideo *iface, LONG SourceTop);
-HRESULT WINAPI BaseControlVideoImpl_get_SourceTop(IBasicVideo *iface, LONG *pSourceTop);
-HRESULT WINAPI BaseControlVideoImpl_put_SourceHeight(IBasicVideo *iface, LONG SourceHeight);
-HRESULT WINAPI BaseControlVideoImpl_get_SourceHeight(IBasicVideo *iface, LONG *pSourceHeight);
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationLeft(IBasicVideo *iface, LONG DestinationLeft);
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationLeft(IBasicVideo *iface, LONG *pDestinationLeft);
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationWidth(IBasicVideo *iface, LONG DestinationWidth);
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationWidth(IBasicVideo *iface, LONG *pDestinationWidth);
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationTop(IBasicVideo *iface, LONG DestinationTop);
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationTop(IBasicVideo *iface, LONG *pDestinationTop);
-HRESULT WINAPI BaseControlVideoImpl_put_DestinationHeight(IBasicVideo *iface, LONG DestinationHeight);
-HRESULT WINAPI BaseControlVideoImpl_get_DestinationHeight(IBasicVideo *iface, LONG *pDestinationHeight);
-HRESULT WINAPI BaseControlVideoImpl_SetSourcePosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height);
-HRESULT WINAPI BaseControlVideoImpl_GetSourcePosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight);
-HRESULT WINAPI BaseControlVideoImpl_SetDefaultSourcePosition(IBasicVideo *iface);
-HRESULT WINAPI BaseControlVideoImpl_SetDestinationPosition(IBasicVideo *iface, LONG Left, LONG Top, LONG Width, LONG Height);
-HRESULT WINAPI BaseControlVideoImpl_GetDestinationPosition(IBasicVideo *iface, LONG *pLeft, LONG *pTop, LONG *pWidth, LONG *pHeight);
-HRESULT WINAPI BaseControlVideoImpl_SetDefaultDestinationPosition(IBasicVideo *iface);
-HRESULT WINAPI BaseControlVideoImpl_GetVideoSize(IBasicVideo *iface, LONG *pWidth, LONG *pHeight);
-HRESULT WINAPI BaseControlVideoImpl_GetVideoPaletteEntries(IBasicVideo *iface, LONG StartIndex, LONG Entries, LONG *pRetrieved, LONG *pPalette);
-HRESULT WINAPI BaseControlVideoImpl_GetCurrentImage(IBasicVideo *iface, LONG *pBufferSize, LONG *pDIBImage);
-HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultSource(IBasicVideo *iface);
-HRESULT WINAPI BaseControlVideoImpl_IsUsingDefaultDestination(IBasicVideo *iface);
 #endif
 #endif
 
-- 
2.20.1




More information about the wine-devel mailing list