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);
}
}