strmbase: Don't cast IQualityControl to the COM object.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Stefaniuc 2016-07-18 11:19:17 +02:00 committed by Alexandre Julliard
parent fee64bed45
commit 4c224eaba1
1 changed files with 10 additions and 5 deletions

View File

@ -61,28 +61,33 @@ void QualityControlImpl_Destroy(QualityControlImpl *This)
HeapFree(GetProcessHeap(),0,This); HeapFree(GetProcessHeap(),0,This);
} }
static inline QualityControlImpl *impl_from_IQualityControl(IQualityControl *iface)
{
return CONTAINING_RECORD(iface, QualityControlImpl, IQualityControl_iface);
}
HRESULT WINAPI QualityControlImpl_QueryInterface(IQualityControl *iface, REFIID riid, void **ppv) HRESULT WINAPI QualityControlImpl_QueryInterface(IQualityControl *iface, REFIID riid, void **ppv)
{ {
QualityControlImpl *This = (QualityControlImpl*)iface; QualityControlImpl *This = impl_from_IQualityControl(iface);
return IBaseFilter_QueryInterface(This->self, riid, ppv); return IBaseFilter_QueryInterface(This->self, riid, ppv);
} }
ULONG WINAPI QualityControlImpl_AddRef(IQualityControl *iface) ULONG WINAPI QualityControlImpl_AddRef(IQualityControl *iface)
{ {
QualityControlImpl *This = (QualityControlImpl*)iface; QualityControlImpl *This = impl_from_IQualityControl(iface);
return IBaseFilter_AddRef(This->self); return IBaseFilter_AddRef(This->self);
} }
ULONG WINAPI QualityControlImpl_Release(IQualityControl *iface) ULONG WINAPI QualityControlImpl_Release(IQualityControl *iface)
{ {
QualityControlImpl *This = (QualityControlImpl*)iface; QualityControlImpl *This = impl_from_IQualityControl(iface);
return IBaseFilter_Release(This->self); return IBaseFilter_Release(This->self);
} }
HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm) HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm)
{ {
QualityControlImpl *This = impl_from_IQualityControl(iface);
HRESULT hr = S_FALSE; HRESULT hr = S_FALSE;
QualityControlImpl *This = (QualityControlImpl*)iface;
TRACE("%p %p { 0x%x %u " XTIME_FMT " " XTIME_FMT " }\n", TRACE("%p %p { 0x%x %u " XTIME_FMT " " XTIME_FMT " }\n",
This, sender, qm.Type, qm.Proportion, This, sender, qm.Type, qm.Proportion,
@ -110,7 +115,7 @@ HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *se
HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityControl *tonotify) HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityControl *tonotify)
{ {
QualityControlImpl *This = (QualityControlImpl*)iface; QualityControlImpl *This = impl_from_IQualityControl(iface);
TRACE("%p %p\n", This, tonotify); TRACE("%p %p\n", This, tonotify);
This->tonotify = tonotify; This->tonotify = tonotify;
return S_OK; return S_OK;