From: Zebediah Figura z.figura12@gmail.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/strmbase/renderer.c | 16 ---------------- include/wine/strmbase.h | 1 - 2 files changed, 17 deletions(-)
diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c index 6f0bc2dfcd..1017c8c574 100644 --- a/dlls/strmbase/renderer.c +++ b/dlls/strmbase/renderer.c @@ -289,22 +289,6 @@ HRESULT WINAPI strmbase_renderer_init(BaseRenderer *This, const IBaseFilterVtbl return hr; }
-HRESULT WINAPI BaseRendererImpl_QueryInterface(IBaseFilter* iface, REFIID riid, LPVOID * ppv) -{ - BaseRenderer *This = impl_from_IBaseFilter(iface); - - if (IsEqualIID(riid, &IID_IMediaSeeking) || IsEqualIID(riid, &IID_IMediaPosition)) - return IUnknown_QueryInterface(This->pPosition, riid, ppv); - else if (IsEqualIID(riid, &IID_IQualityControl)) - { - *ppv = &This->qcimpl->IQualityControl_iface; - IUnknown_AddRef((IUnknown *)(*ppv)); - return S_OK; - } - else - return BaseFilterImpl_QueryInterface(iface, riid, ppv); -} - void strmbase_renderer_cleanup(BaseRenderer *filter) { IPin *peer; diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h index 87396fdf58..7ee8be668c 100644 --- a/include/wine/strmbase.h +++ b/include/wine/strmbase.h @@ -611,7 +611,6 @@ typedef struct BaseRendererFuncTable { HRESULT (*renderer_query_interface)(BaseRenderer *iface, REFIID iid, void **out); } BaseRendererFuncTable;
-HRESULT WINAPI BaseRendererImpl_QueryInterface(IBaseFilter * iface, REFIID riid, LPVOID * ppv); HRESULT WINAPI BaseRendererImpl_Receive(BaseRenderer *This, IMediaSample * pSample); HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter * iface); HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter * iface, REFERENCE_TIME tStart);
From: Zebediah Figura z.figura12@gmail.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/quartz/acmwrapper.c | 13 ++++--------- dlls/quartz/avidec.c | 13 ++++--------- dlls/quartz/tests/acmwrapper.c | 3 +-- dlls/quartz/tests/avidec.c | 3 +-- dlls/strmbase/transform.c | 8 ++++---- dlls/winegstreamer/gsttffilter.c | 9 ++++----- dlls/wineqtdecoder/qtvdecoder.c | 14 +++----------- include/wine/strmbase.h | 2 +- 8 files changed, 22 insertions(+), 43 deletions(-)
diff --git a/dlls/quartz/acmwrapper.c b/dlls/quartz/acmwrapper.c index b38f435931..adfb0227d3 100644 --- a/dlls/quartz/acmwrapper.c +++ b/dlls/quartz/acmwrapper.c @@ -375,25 +375,20 @@ static const TransformFilterFuncTable ACMWrapper_FuncsTable = { NULL };
-HRESULT ACMWrapper_create(IUnknown * pUnkOuter, LPVOID * ppv) +HRESULT ACMWrapper_create(IUnknown *outer, void **out) { HRESULT hr; ACMWrapperImpl* This;
- TRACE("(%p, %p)\n", pUnkOuter, ppv); + *out = NULL;
- *ppv = NULL; - - if (pUnkOuter) - return CLASS_E_NOAGGREGATION; - - hr = strmbase_transform_create(sizeof(ACMWrapperImpl), &CLSID_ACMWrapper, + hr = strmbase_transform_create(sizeof(ACMWrapperImpl), outer, &CLSID_ACMWrapper, &ACMWrapper_FuncsTable, (IBaseFilter **)&This);
if (FAILED(hr)) return hr;
- *ppv = &This->tf.filter.IBaseFilter_iface; + *out = &This->tf.filter.IUnknown_inner; This->lasttime_real = This->lasttime_sent = -1;
return hr; diff --git a/dlls/quartz/avidec.c b/dlls/quartz/avidec.c index a12cad12b5..4aefd353d3 100644 --- a/dlls/quartz/avidec.c +++ b/dlls/quartz/avidec.c @@ -390,19 +390,14 @@ static const TransformFilterFuncTable AVIDec_FuncsTable = { AVIDec_NotifyDrop };
-HRESULT AVIDec_create(IUnknown * pUnkOuter, LPVOID * ppv) +HRESULT AVIDec_create(IUnknown *outer, void **out) { HRESULT hr; AVIDecImpl * This;
- TRACE("(%p, %p)\n", pUnkOuter, ppv); + *out = NULL;
- *ppv = NULL; - - if (pUnkOuter) - return CLASS_E_NOAGGREGATION; - - hr = strmbase_transform_create(sizeof(AVIDecImpl), &CLSID_AVIDec, + hr = strmbase_transform_create(sizeof(AVIDecImpl), outer, &CLSID_AVIDec, &AVIDec_FuncsTable, (IBaseFilter **)&This);
if (FAILED(hr)) @@ -412,7 +407,7 @@ HRESULT AVIDec_create(IUnknown * pUnkOuter, LPVOID * ppv) This->pBihIn = NULL; This->pBihOut = NULL;
- *ppv = &This->tf.filter.IBaseFilter_iface; + *out = &This->tf.filter.IUnknown_inner;
return hr; } diff --git a/dlls/quartz/tests/acmwrapper.c b/dlls/quartz/tests/acmwrapper.c index 48451f8053..1c418723df 100644 --- a/dlls/quartz/tests/acmwrapper.c +++ b/dlls/quartz/tests/acmwrapper.c @@ -158,8 +158,7 @@ static void test_aggregation(void)
hr = CoCreateInstance(&CLSID_ACMWrapper, &test_outer, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk); - todo_wine ok(hr == S_OK, "Got hr %#x.\n", hr); - if (FAILED(hr)) return; + ok(hr == S_OK, "Got hr %#x.\n", hr); ok(outer_ref == 1, "Got unexpected refcount %d.\n", outer_ref); ok(unk != &test_outer, "Returned IUnknown should not be outer IUnknown.\n"); ref = get_refcount(unk); diff --git a/dlls/quartz/tests/avidec.c b/dlls/quartz/tests/avidec.c index fe86d3350d..0183e0bea8 100644 --- a/dlls/quartz/tests/avidec.c +++ b/dlls/quartz/tests/avidec.c @@ -183,8 +183,7 @@ static void test_aggregation(void)
hr = CoCreateInstance(&CLSID_AVIDec, &test_outer, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk); - todo_wine ok(hr == S_OK, "Got hr %#x.\n", hr); - if (FAILED(hr)) return; + ok(hr == S_OK, "Got hr %#x.\n", hr); ok(outer_ref == 1, "Got unexpected refcount %d.\n", outer_ref); ok(unk != &test_outer, "Returned IUnknown should not be outer IUnknown.\n"); ref = get_refcount(unk); diff --git a/dlls/strmbase/transform.c b/dlls/strmbase/transform.c index bfe87a142f..a7c47b509f 100644 --- a/dlls/strmbase/transform.c +++ b/dlls/strmbase/transform.c @@ -281,14 +281,14 @@ static const IBaseFilterVtbl transform_vtbl = BaseFilterImpl_QueryVendorInfo };
-static HRESULT strmbase_transform_init(const CLSID *clsid, +static HRESULT strmbase_transform_init(IUnknown *outer, const CLSID *clsid, const TransformFilterFuncTable *func_table, TransformFilter *filter) { HRESULT hr; PIN_INFO piInput; PIN_INFO piOutput;
- strmbase_filter_init(&filter->filter, &transform_vtbl, NULL, clsid, + strmbase_filter_init(&filter->filter, &transform_vtbl, outer, clsid, (DWORD_PTR)(__FILE__ ": TransformFilter.csFilter"), &tfBaseFuncTable);
InitializeCriticalSection(&filter->csReceive); @@ -349,7 +349,7 @@ static HRESULT strmbase_transform_init(const CLSID *clsid, return hr; }
-HRESULT strmbase_transform_create(LONG filter_size, const CLSID *pClsid, +HRESULT strmbase_transform_create(LONG filter_size, IUnknown *outer, const CLSID *pClsid, const TransformFilterFuncTable *pFuncsTable, IBaseFilter **ppTransformFilter) { TransformFilter* pTf; @@ -365,7 +365,7 @@ HRESULT strmbase_transform_create(LONG filter_size, const CLSID *pClsid,
ZeroMemory(pTf, filter_size);
- if (SUCCEEDED(strmbase_transform_init(pClsid, pFuncsTable, pTf))) + if (SUCCEEDED(strmbase_transform_init(outer, pClsid, pFuncsTable, pTf))) { *ppTransformFilter = &pTf->filter.IBaseFilter_iface; return S_OK; diff --git a/dlls/winegstreamer/gsttffilter.c b/dlls/winegstreamer/gsttffilter.c index b45d844877..60697e51c8 100644 --- a/dlls/winegstreamer/gsttffilter.c +++ b/dlls/winegstreamer/gsttffilter.c @@ -489,17 +489,16 @@ static HRESULT WINAPI Gstreamer_transform_QOS(TransformFilter *iface, IBaseFilte return TransformFilterImpl_Notify(iface, sender, qm); }
-static HRESULT Gstreamer_transform_create(IUnknown *punkouter, const CLSID *clsid, const char *name, const TransformFilterFuncTable *vtbl, void **obj) +static HRESULT Gstreamer_transform_create(IUnknown *outer, const CLSID *clsid, + const char *name, const TransformFilterFuncTable *vtbl, void **obj) { GstTfImpl *This;
- TRACE("%p, %p, %p, %p, %p\n", punkouter, clsid, name, vtbl, obj); - - if (FAILED(strmbase_transform_create(sizeof(GstTfImpl), clsid, vtbl, (IBaseFilter **)&This))) + if (FAILED(strmbase_transform_create(sizeof(GstTfImpl), outer, clsid, vtbl, (IBaseFilter **)&This))) return E_OUTOFMEMORY;
This->gstreamer_name = name; - *obj = This; + *obj = &This->tf.filter.IUnknown_inner;
TRACE("returning %p\n", This);
diff --git a/dlls/wineqtdecoder/qtvdecoder.c b/dlls/wineqtdecoder/qtvdecoder.c index 4ad73d8d11..57101d4ec4 100644 --- a/dlls/wineqtdecoder/qtvdecoder.c +++ b/dlls/wineqtdecoder/qtvdecoder.c @@ -518,22 +518,14 @@ static const TransformFilterFuncTable QTVDecoder_FuncsTable = { NULL };
-IUnknown * CALLBACK QTVDecoder_create(IUnknown * pUnkOuter, HRESULT* phr) +IUnknown * CALLBACK QTVDecoder_create(IUnknown *outer, HRESULT* phr) { HRESULT hr; QTVDecoderImpl * This;
- TRACE("(%p, %p)\n", pUnkOuter, phr); - *phr = S_OK;
- if (pUnkOuter) - { - *phr = CLASS_E_NOAGGREGATION; - return NULL; - } - - hr = strmbase_transform_create(sizeof(QTVDecoderImpl), &CLSID_QTVDecoder, + hr = strmbase_transform_create(sizeof(QTVDecoderImpl), outer, &CLSID_QTVDecoder, &QTVDecoder_FuncsTable, (IBaseFilter **)&This);
if (FAILED(hr)) @@ -543,5 +535,5 @@ IUnknown * CALLBACK QTVDecoder_create(IUnknown * pUnkOuter, HRESULT* phr) }
*phr = hr; - return (IUnknown*)This; + return &This->tf.filter.IUnknown_inner; } diff --git a/include/wine/strmbase.h b/include/wine/strmbase.h index 7ee8be668c..56560ed02b 100644 --- a/include/wine/strmbase.h +++ b/include/wine/strmbase.h @@ -249,7 +249,7 @@ typedef struct TransformFilterFuncTable {
HRESULT WINAPI TransformFilterImpl_Notify(TransformFilter *iface, IBaseFilter *sender, Quality qm);
-HRESULT strmbase_transform_create(LONG filter_size, const CLSID *clsid, +HRESULT strmbase_transform_create(LONG filter_size, IUnknown *outer, const CLSID *clsid, const TransformFilterFuncTable *func_table, IBaseFilter **filter);
/* Source Seeking */
From: Zebediah Figura z.figura12@gmail.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/qedit/samplegrabber.c | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-)
diff --git a/dlls/qedit/samplegrabber.c b/dlls/qedit/samplegrabber.c index 0385ebbc6f..517c7fe77b 100644 --- a/dlls/qedit/samplegrabber.c +++ b/dlls/qedit/samplegrabber.c @@ -406,30 +406,6 @@ SampleGrabber_IBaseFilter_Run(IBaseFilter *iface, REFERENCE_TIME tStart) return S_OK; }
-/* IBaseFilter */ -static HRESULT WINAPI -SampleGrabber_IBaseFilter_FindPin(IBaseFilter *iface, LPCWSTR id, IPin **pin) -{ - SG_Impl *This = impl_from_IBaseFilter(iface); - TRACE("(%p)->(%s, %p)\n", This, debugstr_w(id), pin); - if (!id || !pin) - return E_POINTER; - if (!lstrcmpiW(id,pin_in_name)) - { - *pin = &This->pin_in.IPin_iface; - IPin_AddRef(*pin); - return S_OK; - } - else if (!lstrcmpiW(id,pin_out_name)) - { - *pin = &This->pin_out.IPin_iface; - IPin_AddRef(*pin); - return S_OK; - } - *pin = NULL; - return VFW_E_NOT_FOUND; -} - /* IBaseFilter */ static HRESULT WINAPI SampleGrabber_IBaseFilter_JoinFilterGraph(IBaseFilter *iface, IFilterGraph *graph, LPCWSTR name) @@ -1082,7 +1058,7 @@ static const IBaseFilterVtbl IBaseFilter_VTable = BaseFilterImpl_SetSyncSource, BaseFilterImpl_GetSyncSource, BaseFilterImpl_EnumPins, - SampleGrabber_IBaseFilter_FindPin, + BaseFilterImpl_FindPin, BaseFilterImpl_QueryFilterInfo, SampleGrabber_IBaseFilter_JoinFilterGraph, SampleGrabber_IBaseFilter_QueryVendorInfo,
From: Zebediah Figura z.figura12@gmail.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/qcap/avico.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c index 40bc82be5b..6ebe0fd0a5 100644 --- a/dlls/qcap/avico.c +++ b/dlls/qcap/avico.c @@ -160,13 +160,6 @@ static HRESULT WINAPI AVICompressor_Run(IBaseFilter *iface, REFERENCE_TIME tStar return S_OK; }
-static HRESULT WINAPI AVICompressor_QueryFilterInfo(IBaseFilter *iface, FILTER_INFO *pInfo) -{ - AVICompressor *This = impl_from_IBaseFilter(iface); - FIXME("(%p)->(%p)\n", This, pInfo); - return E_NOTIMPL; -} - static HRESULT WINAPI AVICompressor_QueryVendorInfo(IBaseFilter *iface, LPWSTR *pVendorInfo) { AVICompressor *This = impl_from_IBaseFilter(iface); @@ -187,7 +180,7 @@ static const IBaseFilterVtbl AVICompressorVtbl = { BaseFilterImpl_GetSyncSource, BaseFilterImpl_EnumPins, BaseFilterImpl_FindPin, - AVICompressor_QueryFilterInfo, + BaseFilterImpl_QueryFilterInfo, BaseFilterImpl_JoinFilterGraph, AVICompressor_QueryVendorInfo };
From: Zebediah Figura z.figura12@gmail.com
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/qcap/avico.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c index 6ebe0fd0a5..684a332492 100644 --- a/dlls/qcap/avico.c +++ b/dlls/qcap/avico.c @@ -160,13 +160,6 @@ static HRESULT WINAPI AVICompressor_Run(IBaseFilter *iface, REFERENCE_TIME tStar return S_OK; }
-static HRESULT WINAPI AVICompressor_QueryVendorInfo(IBaseFilter *iface, LPWSTR *pVendorInfo) -{ - AVICompressor *This = impl_from_IBaseFilter(iface); - FIXME("(%p)->(%p)\n", This, pVendorInfo); - return E_NOTIMPL; -} - static const IBaseFilterVtbl AVICompressorVtbl = { BaseFilterImpl_QueryInterface, BaseFilterImpl_AddRef, @@ -182,7 +175,7 @@ static const IBaseFilterVtbl AVICompressorVtbl = { BaseFilterImpl_FindPin, BaseFilterImpl_QueryFilterInfo, BaseFilterImpl_JoinFilterGraph, - AVICompressor_QueryVendorInfo + BaseFilterImpl_QueryVendorInfo, };
static IPin *avi_compressor_get_pin(BaseFilter *iface, unsigned int index)
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=53369
Your paranoid android.
=== debian9 (32 bit WoW report) ===
quartz: systemclock: Timeout