Unit VFW

Classes

IAVIFile - IAVIFile interface
IAVIStream - IAVIStream interface

Functions

AVIFileCreateStream -
AVIFileExit -
AVIFileInit -
AVIFileOpen -
AVIFileRelease -
AVIStreamRelease -
AVIStreamSetFormat -
AVIStreamWrite -

Types

LONG
PAVIFile
PAVIFileInfoW
PAVIStream
PVOID
TAVIFileInfoW
TAVIStreamInfo
TAVIStreamInfoA
TAVIStreamInfoW

Constants

AVIERR_OK
AVIIF_KEYFRAME
AVIIF_LIST
AVIIF_TWOCC
CLSID_AVIFile
CLSID_AVISimpleUnMarshal
IID_IAVIEditStream
IID_IAVIFile
IID_IAVIStream
IID_IAVIStreaming
IID_IGetFrame
streamtypeVIDEO

Variables


Functions


function AVIFileCreateStream(pfile: PAVIFile; var ppavi: PAVISTREAM; var psi: TAVIStreamInfoA): HResult;


procedure AVIFileExit;


procedure AVIFileInit;


function AVIFileOpen(var ppfile: PAVIFile; szFile: LPCSTR; uMode: UINT; lpHandler: PCLSID): HResult;


function AVIFileRelease(pfile: PAVIFile): ULONG;


function AVIStreamRelease(pavi: PAVISTREAM): ULONG;


function AVIStreamSetFormat(pavi: PAVIStream; lPos: LONG; lpFormat: PVOID; cbFormat: LONG): HResult;


function AVIStreamWrite(pavi: PAVIStream; lStart, lSamples: LONG; lpBuffer: PVOID; cbBuffer: LONG; dwFlags: DWORD; var plSampWritten: LONG; var plBytesWritten: LONG): HResult;


Types


LONG = Longint
TAVIFileInfoW record
PAVIFile = ^IAVIFile

PAVIFileInfoW = ^TAVIFileInfoW
descriptive string for file type?
PAVIStream = ^IAVIStream

PVOID = Pointer

TAVIFileInfoW = record
dwMaxBytesPerSec : DWORD;
dwFlags : DWORD;
dwCaps : DWORD;
dwStreams : DWORD;
dwSuggestedBufferSize : DWORD;
dwWidth : DWORD;
dwHeight : DWORD;
dwScale : DWORD;
dwRate : DWORD;
dwLength : DWORD;
dwEditCount : DWORD;
szFileType : array[0..63] of WideChar;
end;

TAVIStreamInfo = TAVIStreamInfoA

TAVIStreamInfoA = record
fccType : DWORD;
fccHandler : DWORD;
dwFlags : DWORD;
dwCaps : DWORD;
wPriority : WORD;
wLanguage : WORD;
dwScale : DWORD;
dwRate : DWORD;
dwStart : DWORD;
dwLength : DWORD;
dwInitialFrames : DWORD;
dwSuggestedBufferSize : DWORD;
dwQuality : DWORD;
dwSampleSize : DWORD;
rcFrame : TRect;
dwEditCount : array[0..63] of AnsiChar;
dwFormatChangeCount : array[0..63] of AnsiChar;
szName : array[0..63] of AnsiChar;
end;
TAVIStreamInfoA record
TAVIStreamInfoW = record
fccType : DWORD;
fccHandler : DWORD;
dwFlags : DWORD;
dwCaps : DWORD;
wPriority : WORD;
wLanguage : WORD;
dwScale : DWORD;
dwRate : DWORD;
dwStart : DWORD;
dwLength : DWORD;
dwInitialFrames : DWORD;
dwSuggestedBufferSize : DWORD;
dwQuality : DWORD;
dwSampleSize : DWORD;
rcFrame : TRect;
dwEditCount : array[0..63] of WideChar;
dwFormatChangeCount : array[0..63] of WideChar;
szName : array[0..63] of WideChar;
end;
TAVIStreamInfoW record

Constants

AVIERR_OK = 0

AVIIF_KEYFRAME = $10

AVIIF_LIST = $01

AVIIF_TWOCC = $02

CLSID_AVIFile = ( D1:$00020000;D2:$0;D3:$0;D4:($C0,$0,$0,$0,$0,$0,$0,$46))

CLSID_AVISimpleUnMarshal = ( D1:$00020009;D2:$0;D3:$0;D4:($C0,$0,$0,$0,$0,$0,$0,$46))

AVI class IDs

IID_IAVIEditStream = ( D1:$00020024;D2:$0;D3:$0;D4:($C0,$0,$0,$0,$0,$0,$0,$46))

IID_IAVIFile = ( D1:$00020020;D2:$0;D3:$0;D4:($C0,$0,$0,$0,$0,$0,$0,$46))

DWORD( 'v', 'i', 'd', 's' ) { AVI interface IDs

IID_IAVIStream = ( D1:$00020021;D2:$0;D3:$0;D4:($C0,$0,$0,$0,$0,$0,$0,$46))

IID_IAVIStreaming = ( D1:$00020022;D2:$0;D3:$0;D4:($C0,$0,$0,$0,$0,$0,$0,$46))

IID_IGetFrame = ( D1:$00020023;D2:$0;D3:$0;D4:($C0,$0,$0,$0,$0,$0,$0,$46))

streamtypeVIDEO = $73646976


Variables