[PATCH 5/5] strmbase: Get rid of the "vtbl" parameter to strmbase_renderer_init().

Zebediah Figura z.figura12 at gmail.com
Tue Oct 22 18:30:07 CDT 2019


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/evr/evr.c              | 21 +--------------------
 dlls/qedit/nullrenderer.c   | 21 +--------------------
 dlls/quartz/dsoundrender.c  | 22 +---------------------
 dlls/quartz/videorenderer.c | 23 ++---------------------
 dlls/quartz/vmr9.c          | 21 +--------------------
 dlls/strmbase/renderer.c    | 37 ++++++++++++++++++++++++++++---------
 include/wine/strmbase.h     | 10 ++--------
 7 files changed, 36 insertions(+), 119 deletions(-)

diff --git a/dlls/evr/evr.c b/dlls/evr/evr.c
index 94f88ffeca..8bd38c243d 100644
--- a/dlls/evr/evr.c
+++ b/dlls/evr/evr.c
@@ -36,25 +36,6 @@ typedef struct
     BaseRenderer renderer;
 } evr_filter;
 
-static const IBaseFilterVtbl basefilter_vtbl =
-{
-    BaseFilterImpl_QueryInterface,
-    BaseFilterImpl_AddRef,
-    BaseFilterImpl_Release,
-    BaseFilterImpl_GetClassID,
-    BaseRendererImpl_Stop,
-    BaseRendererImpl_Pause,
-    BaseRendererImpl_Run,
-    BaseRendererImpl_GetState,
-    BaseRendererImpl_SetSyncSource,
-    BaseFilterImpl_GetSyncSource,
-    BaseFilterImpl_EnumPins,
-    BaseFilterImpl_FindPin,
-    BaseFilterImpl_QueryFilterInfo,
-    BaseFilterImpl_JoinFilterGraph,
-    BaseFilterImpl_QueryVendorInfo
-};
-
 static inline evr_filter *impl_from_BaseRenderer(BaseRenderer *iface)
 {
     return CONTAINING_RECORD(iface, evr_filter, renderer);
@@ -98,7 +79,7 @@ HRESULT evr_filter_create(IUnknown *outer, void **out)
     if (!object)
         return E_OUTOFMEMORY;
 
-    strmbase_renderer_init(&object->renderer, &basefilter_vtbl, outer,
+    strmbase_renderer_init(&object->renderer, outer,
             &CLSID_EnhancedVideoRenderer, sink_name, &renderer_ops);
 
     *out = &object->renderer.filter.IUnknown_inner;
diff --git a/dlls/qedit/nullrenderer.c b/dlls/qedit/nullrenderer.c
index 2c9aff8bc0..ee68e6244c 100644
--- a/dlls/qedit/nullrenderer.c
+++ b/dlls/qedit/nullrenderer.c
@@ -62,25 +62,6 @@ static const BaseRendererFuncTable RendererFuncTable =
     .renderer_destroy = null_renderer_destroy,
 };
 
-static const IBaseFilterVtbl NullRenderer_Vtbl =
-{
-    BaseFilterImpl_QueryInterface,
-    BaseFilterImpl_AddRef,
-    BaseFilterImpl_Release,
-    BaseFilterImpl_GetClassID,
-    BaseRendererImpl_Stop,
-    BaseRendererImpl_Pause,
-    BaseRendererImpl_Run,
-    BaseRendererImpl_GetState,
-    BaseRendererImpl_SetSyncSource,
-    BaseFilterImpl_GetSyncSource,
-    BaseFilterImpl_EnumPins,
-    BaseFilterImpl_FindPin,
-    BaseFilterImpl_QueryFilterInfo,
-    BaseFilterImpl_JoinFilterGraph,
-    BaseFilterImpl_QueryVendorInfo
-};
-
 HRESULT NullRenderer_create(IUnknown *outer, void **out)
 {
     static const WCHAR sink_name[] = {'I','n',0};
@@ -92,7 +73,7 @@ HRESULT NullRenderer_create(IUnknown *outer, void **out)
 
     pNullRenderer = CoTaskMemAlloc(sizeof(NullRendererImpl));
 
-    hr = strmbase_renderer_init(&pNullRenderer->renderer, &NullRenderer_Vtbl, outer,
+    hr = strmbase_renderer_init(&pNullRenderer->renderer, outer,
             &CLSID_NullRenderer, sink_name, &RendererFuncTable);
 
     if (FAILED(hr))
diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c
index 6ba6e4c7ae..c0ff8ca5af 100644
--- a/dlls/quartz/dsoundrender.c
+++ b/dlls/quartz/dsoundrender.c
@@ -39,7 +39,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(quartz);
  */
 static const REFERENCE_TIME DSoundRenderer_Max_Fill = 150 * 10000;
 
-static const IBaseFilterVtbl DSoundRender_Vtbl;
 static const IBasicAudioVtbl IBasicAudio_Vtbl;
 static const IReferenceClockVtbl IReferenceClock_Vtbl;
 static const IAMDirectSoundVtbl IAMDirectSound_Vtbl;
@@ -610,7 +609,7 @@ HRESULT DSoundRender_create(IUnknown *outer, void **out)
         return E_OUTOFMEMORY;
     ZeroMemory(pDSoundRender, sizeof(DSoundRenderImpl));
 
-    hr = strmbase_renderer_init(&pDSoundRender->renderer, &DSoundRender_Vtbl,
+    hr = strmbase_renderer_init(&pDSoundRender->renderer,
             outer, &CLSID_DSoundRender, sink_name, &BaseFuncTable);
 
     pDSoundRender->IBasicAudio_iface.lpVtbl = &IBasicAudio_Vtbl;
@@ -652,25 +651,6 @@ HRESULT DSoundRender_create(IUnknown *outer, void **out)
     return hr;
 }
 
-static const IBaseFilterVtbl DSoundRender_Vtbl =
-{
-    BaseFilterImpl_QueryInterface,
-    BaseFilterImpl_AddRef,
-    BaseFilterImpl_Release,
-    BaseFilterImpl_GetClassID,
-    BaseRendererImpl_Stop,
-    BaseRendererImpl_Pause,
-    BaseRendererImpl_Run,
-    BaseRendererImpl_GetState,
-    BaseRendererImpl_SetSyncSource,
-    BaseFilterImpl_GetSyncSource,
-    BaseFilterImpl_EnumPins,
-    BaseFilterImpl_FindPin,
-    BaseFilterImpl_QueryFilterInfo,
-    BaseFilterImpl_JoinFilterGraph,
-    BaseFilterImpl_QueryVendorInfo
-};
-
 /*** IUnknown methods ***/
 static HRESULT WINAPI Basicaudio_QueryInterface(IBasicAudio *iface,
 						REFIID riid,
diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c
index 24b76e6e47..48b845a14b 100644
--- a/dlls/quartz/videorenderer.c
+++ b/dlls/quartz/videorenderer.c
@@ -543,25 +543,6 @@ static const BaseControlVideoFuncTable renderer_BaseControlVideoFuncTable = {
     VideoRenderer_SetTargetRect
 };
 
-static const IBaseFilterVtbl VideoRenderer_Vtbl =
-{
-    BaseFilterImpl_QueryInterface,
-    BaseFilterImpl_AddRef,
-    BaseFilterImpl_Release,
-    BaseFilterImpl_GetClassID,
-    BaseRendererImpl_Stop,
-    BaseRendererImpl_Pause,
-    BaseRendererImpl_Run,
-    BaseRendererImpl_GetState,
-    BaseRendererImpl_SetSyncSource,
-    BaseFilterImpl_GetSyncSource,
-    BaseFilterImpl_EnumPins,
-    BaseFilterImpl_FindPin,
-    BaseFilterImpl_QueryFilterInfo,
-    BaseFilterImpl_JoinFilterGraph,
-    BaseFilterImpl_QueryVendorInfo
-};
-
 static HRESULT WINAPI VideoWindow_get_FullScreenMode(IVideoWindow *iface,
                                                      LONG *FullScreenMode)
 {
@@ -777,8 +758,8 @@ HRESULT VideoRenderer_create(IUnknown *outer, void **out)
 
     pVideoRenderer->IOverlay_iface.lpVtbl = &overlay_vtbl;
 
-    hr = strmbase_renderer_init(&pVideoRenderer->renderer, &VideoRenderer_Vtbl,
-            outer, &CLSID_VideoRenderer, sink_name, &BaseFuncTable);
+    hr = strmbase_renderer_init(&pVideoRenderer->renderer, outer,
+            &CLSID_VideoRenderer, sink_name, &BaseFuncTable);
 
     if (FAILED(hr))
         goto fail;
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index c3b948f599..d631165d1b 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -758,25 +758,6 @@ static const BaseControlVideoFuncTable renderer_BaseControlVideoFuncTable = {
     VMR9_SetTargetRect
 };
 
-static const IBaseFilterVtbl VMR_Vtbl =
-{
-    BaseFilterImpl_QueryInterface,
-    BaseFilterImpl_AddRef,
-    BaseFilterImpl_Release,
-    BaseFilterImpl_GetClassID,
-    BaseRendererImpl_Stop,
-    BaseRendererImpl_Pause,
-    BaseRendererImpl_Run,
-    BaseRendererImpl_GetState,
-    BaseRendererImpl_SetSyncSource,
-    BaseFilterImpl_GetSyncSource,
-    BaseFilterImpl_EnumPins,
-    BaseFilterImpl_FindPin,
-    BaseFilterImpl_QueryFilterInfo,
-    BaseFilterImpl_JoinFilterGraph,
-    BaseFilterImpl_QueryVendorInfo
-};
-
 static const IVideoWindowVtbl IVideoWindow_VTable =
 {
     BaseControlWindowImpl_QueryInterface,
@@ -2247,7 +2228,7 @@ static HRESULT vmr_create(IUnknown *outer, void **out, const CLSID *clsid)
     pVMR->IVMRWindowlessControl9_iface.lpVtbl = &VMR9_WindowlessControl_Vtbl;
     pVMR->IOverlay_iface.lpVtbl = &overlay_vtbl;
 
-    hr = strmbase_renderer_init(&pVMR->renderer, &VMR_Vtbl, outer, clsid, sink_name, &BaseFuncTable);
+    hr = strmbase_renderer_init(&pVMR->renderer, outer, clsid, sink_name, &BaseFuncTable);
     if (FAILED(hr))
         goto fail;
 
diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c
index 0f714c2a88..86c4f7d1d7 100644
--- a/dlls/strmbase/renderer.c
+++ b/dlls/strmbase/renderer.c
@@ -250,15 +250,15 @@ static const BaseInputPinFuncTable input_BaseInputFuncTable =
     .pfnReceive = BaseRenderer_Receive,
 };
 
+static const IBaseFilterVtbl strmbase_renderer_vtbl;
 
-HRESULT WINAPI strmbase_renderer_init(BaseRenderer *filter, const IBaseFilterVtbl *vtbl,
-        IUnknown *outer, const CLSID *clsid, const WCHAR *sink_name,
-        const BaseRendererFuncTable *pBaseFuncsTable)
+HRESULT WINAPI strmbase_renderer_init(BaseRenderer *filter, IUnknown *outer,
+        const CLSID *clsid, const WCHAR *sink_name, const BaseRendererFuncTable *pBaseFuncsTable)
 {
     HRESULT hr;
 
     memset(filter, 0, sizeof(*filter));
-    strmbase_filter_init(&filter->filter, vtbl, outer, clsid, &filter_ops);
+    strmbase_filter_init(&filter->filter, &strmbase_renderer_vtbl, outer, clsid, &filter_ops);
 
     filter->pFuncsTable = pBaseFuncsTable;
 
@@ -407,7 +407,7 @@ HRESULT WINAPI BaseRendererImpl_Receive(BaseRenderer *This, IMediaSample * pSamp
     return hr;
 }
 
-HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter * iface)
+static HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter *iface)
 {
     BaseRenderer *This = impl_from_IBaseFilter(iface);
 
@@ -427,7 +427,7 @@ HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter * iface)
     return S_OK;
 }
 
-HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
+static HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter *iface, REFERENCE_TIME tStart)
 {
     BaseRenderer *This = impl_from_IBaseFilter(iface);
 
@@ -461,7 +461,7 @@ out:
     return S_OK;
 }
 
-HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter * iface)
+static HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter *iface)
 {
     BaseRenderer *This = impl_from_IBaseFilter(iface);
     HRESULT hr = S_OK;
@@ -497,7 +497,7 @@ HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter * iface)
     return hr;
 }
 
-HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock)
+static HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock)
 {
     BaseRenderer *This = impl_from_IBaseFilter(iface);
     HRESULT hr;
@@ -510,7 +510,7 @@ HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceCloc
 }
 
 
-HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
+static HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState)
 {
     HRESULT hr;
     BaseRenderer *This = impl_from_IBaseFilter(iface);
@@ -527,6 +527,25 @@ HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsT
     return hr;
 }
 
+static const IBaseFilterVtbl strmbase_renderer_vtbl =
+{
+    BaseFilterImpl_QueryInterface,
+    BaseFilterImpl_AddRef,
+    BaseFilterImpl_Release,
+    BaseFilterImpl_GetClassID,
+    BaseRendererImpl_Stop,
+    BaseRendererImpl_Pause,
+    BaseRendererImpl_Run,
+    BaseRendererImpl_GetState,
+    BaseRendererImpl_SetSyncSource,
+    BaseFilterImpl_GetSyncSource,
+    BaseFilterImpl_EnumPins,
+    BaseFilterImpl_FindPin,
+    BaseFilterImpl_QueryFilterInfo,
+    BaseFilterImpl_JoinFilterGraph,
+    BaseFilterImpl_QueryVendorInfo
+};
+
 HRESULT WINAPI BaseRendererImpl_EndOfStream(BaseRenderer* iface)
 {
     IMediaEventSink* pEventSink;
diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h
index f9136fadff..acfe6d8ab4 100644
--- a/include/wine/strmbase.h
+++ b/include/wine/strmbase.h
@@ -565,19 +565,13 @@ typedef struct BaseRendererFuncTable {
 } BaseRendererFuncTable;
 
 HRESULT WINAPI BaseRendererImpl_Receive(BaseRenderer *This, IMediaSample * pSample);
-HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter * iface);
-HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter * iface, REFERENCE_TIME tStart);
-HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter * iface);
-HRESULT WINAPI BaseRendererImpl_SetSyncSource(IBaseFilter *iface, IReferenceClock *clock);
-HRESULT WINAPI BaseRendererImpl_GetState(IBaseFilter * iface, DWORD dwMilliSecsTimeout, FILTER_STATE *pState);
 HRESULT WINAPI BaseRendererImpl_EndOfStream(BaseRenderer* iface);
 HRESULT WINAPI BaseRendererImpl_BeginFlush(BaseRenderer* iface);
 HRESULT WINAPI BaseRendererImpl_EndFlush(BaseRenderer* iface);
 HRESULT WINAPI BaseRendererImpl_ClearPendingSample(BaseRenderer *iface);
 
-HRESULT WINAPI strmbase_renderer_init(BaseRenderer *filter, const IBaseFilterVtbl *vtbl,
-        IUnknown *outer, const CLSID *clsid, const WCHAR *sink_name,
-        const BaseRendererFuncTable *func_table);
+HRESULT WINAPI strmbase_renderer_init(BaseRenderer *filter, IUnknown *outer,
+        const CLSID *clsid, const WCHAR *sink_name, const BaseRendererFuncTable *func_table);
 void strmbase_renderer_cleanup(BaseRenderer *filter);
 
 /* Dll Functions */
-- 
2.20.1




More information about the wine-devel mailing list