Christian Costa : amstream: Free all used resources when releasing MultiMediaStream object.
Alexandre Julliard
julliard at winehq.org
Wed Mar 14 13:56:11 CDT 2012
Module: wine
Branch: master
Commit: abc6d186ead35d2cad28c5a2a69183c6ed4f3a5f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=abc6d186ead35d2cad28c5a2a69183c6ed4f3a5f
Author: Christian Costa <titan.costa at gmail.com>
Date: Mon Mar 12 19:55:04 2012 +0100
amstream: Free all used resources when releasing MultiMediaStream object.
---
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-cvs
mailing list