[PATCH 3/6] quartz: Pass an IUnknown pointer to the object creation functions.
Zebediah Figura
z.figura12 at gmail.com
Wed Mar 11 21:10:10 CDT 2020
From: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/quartz/acmwrapper.c | 2 +-
dlls/quartz/avidec.c | 2 +-
dlls/quartz/dsoundrender.c | 5 ++---
dlls/quartz/filesource.c | 2 +-
dlls/quartz/filtergraph.c | 10 +++------
dlls/quartz/filtermapper.c | 26 +++-------------------
dlls/quartz/main.c | 42 ++++++++++++++++++------------------
dlls/quartz/memallocator.c | 6 ++----
dlls/quartz/quartz_private.h | 27 +++++++++++------------
dlls/quartz/systemclock.c | 2 +-
dlls/quartz/videorenderer.c | 6 +++---
dlls/quartz/vmr9.c | 10 ++++-----
12 files changed, 56 insertions(+), 84 deletions(-)
diff --git a/dlls/quartz/acmwrapper.c b/dlls/quartz/acmwrapper.c
index df55f094d57..b354ae4009a 100644
--- a/dlls/quartz/acmwrapper.c
+++ b/dlls/quartz/acmwrapper.c
@@ -519,7 +519,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_cleanup_stream = acm_wrapper_cleanup_stream,
};
-HRESULT ACMWrapper_create(IUnknown *outer, void **out)
+HRESULT acm_wrapper_create(IUnknown *outer, IUnknown **out)
{
ISeekingPassThru *passthrough;
ACMWrapperImpl *object;
diff --git a/dlls/quartz/avidec.c b/dlls/quartz/avidec.c
index 4abc715be12..7b6838e466d 100644
--- a/dlls/quartz/avidec.c
+++ b/dlls/quartz/avidec.c
@@ -531,7 +531,7 @@ static const struct strmbase_filter_ops filter_ops =
.filter_cleanup_stream = avi_decompressor_cleanup_stream,
};
-HRESULT AVIDec_create(IUnknown *outer, void **out)
+HRESULT avi_dec_create(IUnknown *outer, IUnknown **out)
{
AVIDecImpl *object;
ISeekingPassThru *passthrough;
diff --git a/dlls/quartz/dsoundrender.c b/dlls/quartz/dsoundrender.c
index 2aa9d7ca249..8dc93abd628 100644
--- a/dlls/quartz/dsoundrender.c
+++ b/dlls/quartz/dsoundrender.c
@@ -805,7 +805,7 @@ static const IAMDirectSoundVtbl IAMDirectSound_Vtbl =
AMDirectSound_GetFocusWindow
};
-HRESULT dsound_render_create(IUnknown *outer, void **out)
+HRESULT dsound_render_create(IUnknown *outer, IUnknown **out)
{
static const DSBUFFERDESC buffer_desc = {
.dwSize = sizeof(DSBUFFERDESC),
@@ -827,8 +827,7 @@ HRESULT dsound_render_create(IUnknown *outer, void **out)
return hr;
}
- if (FAILED(hr = QUARTZ_CreateSystemClock(&object->renderer.filter.IUnknown_inner,
- (void **)&object->system_clock)))
+ if (FAILED(hr = system_clock_create(&object->renderer.filter.IUnknown_inner, &object->system_clock)))
{
strmbase_renderer_cleanup(&object->renderer);
CoTaskMemFree(object);
diff --git a/dlls/quartz/filesource.c b/dlls/quartz/filesource.c
index 53d9528d26a..09ab5e51fea 100644
--- a/dlls/quartz/filesource.c
+++ b/dlls/quartz/filesource.c
@@ -412,7 +412,7 @@ static DWORD CALLBACK io_thread(void *arg)
return 0;
}
-HRESULT AsyncReader_create(IUnknown *outer, void **out)
+HRESULT async_reader_create(IUnknown *outer, IUnknown **out)
{
AsyncReader *object;
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index 5acd0729527..dfda734d8a9 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -5675,7 +5675,7 @@ static const IUnknownVtbl IInner_VTable =
FilterGraphInner_Release
};
-static HRESULT filter_graph_common_create(IUnknown *outer, void **out, BOOL threaded)
+static HRESULT filter_graph_common_create(IUnknown *outer, IUnknown **out, BOOL threaded)
{
IFilterGraphImpl *fimpl;
HRESULT hr;
@@ -5755,16 +5755,12 @@ static HRESULT filter_graph_common_create(IUnknown *outer, void **out, BOOL thre
return S_OK;
}
-HRESULT filter_graph_create(IUnknown *outer, void **out)
+HRESULT filter_graph_create(IUnknown *outer, IUnknown **out)
{
- TRACE("outer %p, out %p.\n", outer, out);
-
return filter_graph_common_create(outer, out, TRUE);
}
-HRESULT filter_graph_no_thread_create(IUnknown *outer, void **out)
+HRESULT filter_graph_no_thread_create(IUnknown *outer, IUnknown **out)
{
- TRACE("outer %p, out %p.\n", outer, out);
-
return filter_graph_common_create(outer, out, FALSE);
}
diff --git a/dlls/quartz/filtermapper.c b/dlls/quartz/filtermapper.c
index 67576268070..0d1403b5168 100644
--- a/dlls/quartz/filtermapper.c
+++ b/dlls/quartz/filtermapper.c
@@ -1386,12 +1386,10 @@ static const IAMFilterDataVtbl AMFilterDataVtbl = {
AMFilterData_CreateFilterData
};
-HRESULT FilterMapper2_create(IUnknown *pUnkOuter, LPVOID *ppObj)
+HRESULT filter_mapper_create(IUnknown *pUnkOuter, IUnknown **out)
{
FilterMapper3Impl * pFM2impl;
- TRACE("(%p, %p)\n", pUnkOuter, ppObj);
-
pFM2impl = CoTaskMemAlloc(sizeof(*pFM2impl));
if (!pFM2impl)
return E_OUTOFMEMORY;
@@ -1407,25 +1405,7 @@ HRESULT FilterMapper2_create(IUnknown *pUnkOuter, LPVOID *ppObj)
else
pFM2impl->outer_unk = &pFM2impl->IUnknown_inner;
- *ppObj = &pFM2impl->IUnknown_inner;
-
- TRACE("-- created at %p\n", pFM2impl);
-
+ TRACE("Created filter mapper %p.\n", pFM2impl);
+ *out = &pFM2impl->IUnknown_inner;
return S_OK;
}
-
-HRESULT FilterMapper_create(IUnknown *pUnkOuter, LPVOID *ppObj)
-{
- FilterMapper3Impl *pFM2impl;
- HRESULT hr;
-
- TRACE("(%p, %p)\n", pUnkOuter, ppObj);
-
- hr = FilterMapper2_create(pUnkOuter, (LPVOID*)&pFM2impl);
- if (FAILED(hr))
- return hr;
-
- *ppObj = &pFM2impl->IFilterMapper_iface;
-
- return hr;
-}
diff --git a/dlls/quartz/main.c b/dlls/quartz/main.c
index 678bc0f9633..9c61dd50d76 100644
--- a/dlls/quartz/main.c
+++ b/dlls/quartz/main.c
@@ -35,9 +35,9 @@ BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
return QUARTZ_DllMain( hInstDLL, fdwReason, lpv );
}
-static HRESULT SeekingPassThru_create(IUnknown *pUnkOuter, LPVOID *ppObj)
+static HRESULT seeking_passthrough_create(IUnknown *outer, IUnknown **out)
{
- return PosPassThru_Construct(pUnkOuter,ppObj); /* from strmbase */
+ return PosPassThru_Construct(outer, (void **)out);
}
/******************************************************************************
@@ -46,7 +46,7 @@ static HRESULT SeekingPassThru_create(IUnknown *pUnkOuter, LPVOID *ppObj)
typedef struct {
IClassFactory IClassFactory_iface;
LONG ref;
- HRESULT (*pfnCreateInstance)(IUnknown *pUnkOuter, LPVOID *ppObj);
+ HRESULT (*create_instance)(IUnknown *outer, IUnknown **out);
} IClassFactoryImpl;
static inline IClassFactoryImpl *impl_from_IClassFactory(IClassFactory *iface)
@@ -57,27 +57,27 @@ static inline IClassFactoryImpl *impl_from_IClassFactory(IClassFactory *iface)
struct object_creation_info
{
const CLSID *clsid;
- HRESULT (*pfnCreateInstance)(IUnknown *pUnkOuter, LPVOID *ppObj);
+ HRESULT (*create_instance)(IUnknown *outer, IUnknown **out);
};
static const struct object_creation_info object_creation[] =
{
- { &CLSID_SeekingPassThru, SeekingPassThru_create },
+ { &CLSID_ACMWrapper, acm_wrapper_create },
+ { &CLSID_AsyncReader, async_reader_create },
+ { &CLSID_AudioRender, dsound_render_create },
+ { &CLSID_AVIDec, avi_dec_create },
+ { &CLSID_DSoundRender, dsound_render_create },
{ &CLSID_FilterGraph, filter_graph_create },
{ &CLSID_FilterGraphNoThread, filter_graph_no_thread_create },
- { &CLSID_FilterMapper, FilterMapper_create },
- { &CLSID_FilterMapper2, FilterMapper2_create },
- { &CLSID_AsyncReader, AsyncReader_create },
- { &CLSID_MemoryAllocator, StdMemAllocator_create },
- { &CLSID_VideoRenderer, VideoRenderer_create },
- { &CLSID_VideoMixingRenderer, VMR7Impl_create },
- { &CLSID_VideoMixingRenderer9, VMR9Impl_create },
- { &CLSID_VideoRendererDefault, VideoRendererDefault_create },
- { &CLSID_DSoundRender, dsound_render_create },
- { &CLSID_AudioRender, dsound_render_create },
- { &CLSID_AVIDec, AVIDec_create },
- { &CLSID_SystemClock, QUARTZ_CreateSystemClock },
- { &CLSID_ACMWrapper, ACMWrapper_create },
+ { &CLSID_FilterMapper, filter_mapper_create },
+ { &CLSID_FilterMapper2, filter_mapper_create },
+ { &CLSID_MemoryAllocator, mem_allocator_create },
+ { &CLSID_SeekingPassThru, seeking_passthrough_create },
+ { &CLSID_SystemClock, system_clock_create },
+ { &CLSID_VideoRenderer, video_renderer_create },
+ { &CLSID_VideoMixingRenderer, vmr7_create },
+ { &CLSID_VideoMixingRenderer9, vmr9_create },
+ { &CLSID_VideoRendererDefault, video_renderer_default_create },
};
static HRESULT WINAPI DSCF_QueryInterface(IClassFactory *iface, REFIID riid, void **ppobj)
@@ -126,8 +126,8 @@ static HRESULT WINAPI DSCF_CreateInstance(IClassFactory *iface, IUnknown *pOuter
if(pOuter && !IsEqualGUID(&IID_IUnknown, riid))
return E_NOINTERFACE;
- hres = This->pfnCreateInstance(pOuter, (LPVOID *) &punk);
- if (SUCCEEDED(hres)) {
+ if (SUCCEEDED(hres = This->create_instance(pOuter, &punk)))
+ {
hres = IUnknown_QueryInterface(punk, riid, ppobj);
IUnknown_Release(punk);
}
@@ -189,7 +189,7 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
factory->IClassFactory_iface.lpVtbl = &DSCF_Vtbl;
factory->ref = 1;
- factory->pfnCreateInstance = object_creation[i].pfnCreateInstance;
+ factory->create_instance = object_creation[i].create_instance;
*ppv = &factory->IClassFactory_iface;
return S_OK;
diff --git a/dlls/quartz/memallocator.c b/dlls/quartz/memallocator.c
index fab0f2d1c44..531fbe874cf 100644
--- a/dlls/quartz/memallocator.c
+++ b/dlls/quartz/memallocator.c
@@ -913,13 +913,11 @@ static void StdMemAllocator_Destroy(IMemAllocator *iface)
CoTaskMemFree(This);
}
-HRESULT StdMemAllocator_create(LPUNKNOWN lpUnkOuter, LPVOID * ppv)
+HRESULT mem_allocator_create(IUnknown *lpUnkOuter, IUnknown **out)
{
StdMemAllocator * pMemAlloc;
HRESULT hr;
- *ppv = NULL;
-
if (lpUnkOuter)
return CLASS_E_NOAGGREGATION;
@@ -932,7 +930,7 @@ HRESULT StdMemAllocator_create(LPUNKNOWN lpUnkOuter, LPVOID * ppv)
pMemAlloc->pMemory = NULL;
if (SUCCEEDED(hr = BaseMemAllocator_Init(StdMemAllocator_Alloc, StdMemAllocator_Free, NULL, NULL, NULL, StdMemAllocator_Destroy, &pMemAlloc->csState, &pMemAlloc->base)))
- *ppv = pMemAlloc;
+ *out = (IUnknown *)&pMemAlloc->base.IMemAllocator_iface;
else
CoTaskMemFree(pMemAlloc);
diff --git a/dlls/quartz/quartz_private.h b/dlls/quartz/quartz_private.h
index 3431a5836ff..98ca63d858e 100644
--- a/dlls/quartz/quartz_private.h
+++ b/dlls/quartz/quartz_private.h
@@ -60,20 +60,19 @@ static inline const char *debugstr_time(REFERENCE_TIME time)
#define MEDIATIME_FROM_BYTES(x) ((LONGLONG)(x) * 10000000)
#define BYTES_FROM_MEDIATIME(time) ((time) / 10000000)
-HRESULT dsound_render_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
-HRESULT filter_graph_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
-HRESULT filter_graph_no_thread_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
-HRESULT FilterMapper2_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
-HRESULT FilterMapper_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
-HRESULT AsyncReader_create(IUnknown * pUnkOuter, LPVOID * ppv) DECLSPEC_HIDDEN;
-HRESULT StdMemAllocator_create(IUnknown * pUnkOuter, LPVOID * ppv) DECLSPEC_HIDDEN;
-HRESULT AVIDec_create(IUnknown * pUnkOuter, LPVOID * ppv) DECLSPEC_HIDDEN;
-HRESULT VideoRenderer_create(IUnknown * pUnkOuter, LPVOID * ppv) DECLSPEC_HIDDEN;
-HRESULT VideoRendererDefault_create(IUnknown * pUnkOuter, LPVOID * ppv) DECLSPEC_HIDDEN;
-HRESULT QUARTZ_CreateSystemClock(IUnknown * pUnkOuter, LPVOID * ppv) DECLSPEC_HIDDEN;
-HRESULT ACMWrapper_create(IUnknown * pUnkOuter, LPVOID * ppv) DECLSPEC_HIDDEN;
-HRESULT VMR7Impl_create(IUnknown *pUnkOuter, LPVOID *ppv) DECLSPEC_HIDDEN;
-HRESULT VMR9Impl_create(IUnknown *pUnkOuter, LPVOID *ppv) DECLSPEC_HIDDEN;
+HRESULT acm_wrapper_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT avi_dec_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT async_reader_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT dsound_render_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT filter_graph_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT filter_graph_no_thread_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT filter_mapper_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT mem_allocator_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT system_clock_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT video_renderer_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT video_renderer_default_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT vmr7_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
+HRESULT vmr9_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
HRESULT EnumMonikerImpl_Create(IMoniker ** ppMoniker, ULONG nMonikerCount, IEnumMoniker ** ppEnum) DECLSPEC_HIDDEN;
diff --git a/dlls/quartz/systemclock.c b/dlls/quartz/systemclock.c
index 51e96c82e68..8ccd6df47ce 100644
--- a/dlls/quartz/systemclock.c
+++ b/dlls/quartz/systemclock.c
@@ -327,7 +327,7 @@ static const IReferenceClockVtbl SystemClock_vtbl =
SystemClockImpl_Unadvise
};
-HRESULT QUARTZ_CreateSystemClock(IUnknown *outer, void **out)
+HRESULT system_clock_create(IUnknown *outer, IUnknown **out)
{
struct system_clock *object;
diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c
index 4383f66e443..3bd93dbb864 100644
--- a/dlls/quartz/videorenderer.c
+++ b/dlls/quartz/videorenderer.c
@@ -697,7 +697,7 @@ static const IOverlayVtbl overlay_vtbl =
overlay_Unadvise,
};
-HRESULT VideoRenderer_create(IUnknown *outer, void **out)
+HRESULT video_renderer_create(IUnknown *outer, IUnknown **out)
{
HRESULT hr;
VideoRendererImpl * pVideoRenderer;
@@ -745,8 +745,8 @@ fail:
return hr;
}
-HRESULT VideoRendererDefault_create(IUnknown * pUnkOuter, LPVOID * ppv)
+HRESULT video_renderer_default_create(IUnknown *outer, IUnknown **out)
{
/* TODO: Attempt to use the VMR-7 renderer instead when possible */
- return VideoRenderer_create(pUnkOuter, ppv);
+ return video_renderer_create(outer, out);
}
diff --git a/dlls/quartz/vmr9.c b/dlls/quartz/vmr9.c
index bc2a905650c..8503a7b2806 100644
--- a/dlls/quartz/vmr9.c
+++ b/dlls/quartz/vmr9.c
@@ -2208,7 +2208,7 @@ static const IOverlayVtbl overlay_vtbl =
overlay_Unadvise,
};
-static HRESULT vmr_create(IUnknown *outer, void **out, const CLSID *clsid)
+static HRESULT vmr_create(IUnknown *outer, IUnknown **out, const CLSID *clsid)
{
HRESULT hr;
struct quartz_vmr* pVMR;
@@ -2278,14 +2278,14 @@ fail:
return hr;
}
-HRESULT VMR7Impl_create(IUnknown *outer_unk, LPVOID *ppv)
+HRESULT vmr7_create(IUnknown *outer, IUnknown **out)
{
- return vmr_create(outer_unk, ppv, &CLSID_VideoMixingRenderer);
+ return vmr_create(outer, out, &CLSID_VideoMixingRenderer);
}
-HRESULT VMR9Impl_create(IUnknown *outer_unk, LPVOID *ppv)
+HRESULT vmr9_create(IUnknown *outer, IUnknown **out)
{
- return vmr_create(outer_unk, ppv, &CLSID_VideoMixingRenderer9);
+ return vmr_create(outer, out, &CLSID_VideoMixingRenderer9);
}
--
2.25.1
More information about the wine-devel
mailing list