[PATCH 4/4] amstream: Free all used resources when releasing MultiMediaStream object.
Christian Costa
titan.costa at gmail.com
Mon Mar 12 13:55:04 CDT 2012
---
dlls/amstream/amstream.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c
index a731d5e..c771f77 100644
--- a/dlls/amstream/amstream.c
+++ b/dlls/amstream/amstream.c
@@ -106,11 +106,20 @@ static ULONG WINAPI IAMMultiMediaStreamImpl_Release(IAMMultiMediaStream* iface)
{
IAMMultiMediaStreamImpl *This = impl_from_IAMMultiMediaStream(iface);
ULONG ref = InterlockedDecrement(&This->ref);
+ ULONG i;
TRACE("(%p/%p)\n", iface, This);
if (!ref)
+ {
+ for(i = 0; i < This->nbStreams; i++)
+ IMediaStream_Release(This->pStreams[i]);
+ if (This->ipin)
+ IPin_Release(This->ipin);
+ if (This->pFilterGraph)
+ IGraphBuilder_Release(This->pFilterGraph);
HeapFree(GetProcessHeap(), 0, This);
+ }
return ref;
}
More information about the wine-patches
mailing list