public void Close( )
{
lock ( sync )
{
// free unmanaged memory
if ( buffer != IntPtr.Zero )
{
Marshal.FreeHGlobal( buffer );
buffer = IntPtr.Zero;
}
// release compressed stream
if ( streamCompressed != IntPtr.Zero )
{
Win32.AVIStreamRelease( streamCompressed );
streamCompressed = IntPtr.Zero;
}
// release stream
if ( stream != IntPtr.Zero )
{
Win32.AVIStreamRelease( stream );
stream = IntPtr.Zero;
}
// release file
if ( file != IntPtr.Zero )
{
Win32.AVIFileRelease( file );
file = IntPtr.Zero;
}
}
}