Zebediah Figura : qcap/avico: Use BaseFilterImpl_QueryInterface().
Alexandre Julliard
julliard at winehq.org
Tue Jun 4 16:28:13 CDT 2019
Module: wine
Branch: master
Commit: d6a44a9187715349fcc2eed21f48af784eb12a71
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d6a44a9187715349fcc2eed21f48af784eb12a71
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Tue Jun 4 10:01:16 2019 -0500
qcap/avico: Use BaseFilterImpl_QueryInterface().
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/qcap/avico.c | 46 +++++++++++++++-------------------------------
1 file changed, 15 insertions(+), 31 deletions(-)
diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c
index 67e7f50..cfb23e8 100644
--- a/dlls/qcap/avico.c
+++ b/dlls/qcap/avico.c
@@ -117,36 +117,6 @@ static HRESULT fill_format_info(AVICompressor *This, VIDEOINFOHEADER *src_videoi
return S_OK;
}
-static HRESULT WINAPI AVICompressor_QueryInterface(IBaseFilter *iface, REFIID riid, void **ppv)
-{
- AVICompressor *This = impl_from_IBaseFilter(iface);
-
- if(IsEqualIID(riid, &IID_IUnknown)) {
- TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
- *ppv = &This->filter.IBaseFilter_iface;
- }else if(IsEqualIID(riid, &IID_IPersist)) {
- TRACE("(%p)->(IID_IPersist %p)\n", This, ppv);
- *ppv = &This->filter.IBaseFilter_iface;
- }else if(IsEqualIID(riid, &IID_IMediaFilter)) {
- TRACE("(%p)->(IID_IMediaFilter %p)\n", This, ppv);
- *ppv = &This->filter.IBaseFilter_iface;
- }else if(IsEqualIID(riid, &IID_IBaseFilter)) {
- TRACE("(%p)->(IID_IBaseFilter %p)\n", This, ppv);
- *ppv = &This->filter.IBaseFilter_iface;
- }else if(IsEqualIID(riid, &IID_IPersistPropertyBag)) {
- TRACE("(%p)->(IID_IPersistPropertyBag %p)\n", This, ppv);
- *ppv = &This->IPersistPropertyBag_iface;
- }else {
- FIXME("no interface for %s\n", debugstr_guid(riid));
- *ppv = NULL;
- return E_NOINTERFACE;
- }
-
- IUnknown_AddRef((IUnknown*)*ppv);
- return S_OK;
-
-}
-
static HRESULT WINAPI AVICompressor_Stop(IBaseFilter *iface)
{
AVICompressor *This = impl_from_IBaseFilter(iface);
@@ -205,7 +175,7 @@ static HRESULT WINAPI AVICompressor_QueryVendorInfo(IBaseFilter *iface, LPWSTR *
}
static const IBaseFilterVtbl AVICompressorVtbl = {
- AVICompressor_QueryInterface,
+ BaseFilterImpl_QueryInterface,
BaseFilterImpl_AddRef,
BaseFilterImpl_Release,
BaseFilterImpl_GetClassID,
@@ -253,9 +223,23 @@ static void avi_compressor_destroy(BaseFilter *iface)
heap_free(filter);
}
+static HRESULT avi_compressor_query_interface(BaseFilter *iface, REFIID iid, void **out)
+{
+ AVICompressor *filter = impl_from_BaseFilter(iface);
+
+ if (IsEqualGUID(iid, &IID_IPersistPropertyBag))
+ *out = &filter->IPersistPropertyBag_iface;
+ else
+ return E_NOINTERFACE;
+
+ IUnknown_AddRef((IUnknown *)*out);
+ return S_OK;
+}
+
static const BaseFilterFuncTable filter_func_table = {
.filter_get_pin = avi_compressor_get_pin,
.filter_destroy = avi_compressor_destroy,
+ .filter_query_interface = avi_compressor_query_interface,
};
static AVICompressor *impl_from_IPersistPropertyBag(IPersistPropertyBag *iface)
More information about the wine-cvs
mailing list