using System; namespace Scurvy.Media.Avi { internal abstract class AviStream { protected int aviFile; protected IntPtr aviStream; protected IntPtr compressedStream; protected bool writeCompressed; /// Pointer to the unmanaged AVI file internal int FilePointer { get { return aviFile; } } /// Pointer to the unmanaged AVI Stream internal virtual IntPtr StreamPointer { get { return aviStream; } } /// Flag: The stream is compressed/uncompressed internal bool WriteCompressed { get { return writeCompressed; } } /// Close the stream public virtual void Close(){ if(writeCompressed){ Avi.AVIStreamRelease(compressedStream); } Avi.AVIStreamRelease(StreamPointer); } /// Export the stream into a new file /// public abstract void ExportStream(String fileName); } }