quartz: COM cleanup for PullPin.
diff --git a/dlls/quartz/mpegsplit.c b/dlls/quartz/mpegsplit.c
index f2e1138..008a0a5 100644
--- a/dlls/quartz/mpegsplit.c
+++ b/dlls/quartz/mpegsplit.c
@@ -483,7 +483,7 @@
static HRESULT MPEGSplitter_pre_connect(IPin *iface, IPin *pConnectPin, ALLOCATOR_PROPERTIES *props)
{
- PullPin *pPin = (PullPin *)iface;
+ PullPin *pPin = impl_PullPin_from_IPin(iface);
MPEGSplitterImpl *This = (MPEGSplitterImpl*)pPin->pin.pinInfo.pFilter;
HRESULT hr;
LONGLONG pos = 0; /* in bytes */
@@ -705,7 +705,7 @@
TRACE("Moving sound to %08u bytes!\n", (DWORD)bytepos);
EnterCriticalSection(&pin->thread_lock);
- IPin_BeginFlush((IPin *)pin);
+ IPin_BeginFlush(&pin->pin.IPin_iface);
/* Make sure this is done while stopped, BeginFlush takes care of this */
EnterCriticalSection(&This->Parser.filter.csFilter);
@@ -718,7 +718,7 @@
LeaveCriticalSection(&This->Parser.filter.csFilter);
TRACE("Done flushing\n");
- IPin_EndFlush((IPin *)pin);
+ IPin_EndFlush(&pin->pin.IPin_iface);
LeaveCriticalSection(&pin->thread_lock);
}
return hr;