AVI/RIFF file format - File 1 of 2 - TimAvi.pas (0/1)

Well the point is that the RIFF format is not static. Only the header is
always the same but what follows depends on the programm who wrote the
file. AVI (and all the other RIFF-Files) are devided up into chunks, always
beginning with an id like "LIST" or "INFO" followed by a DWord giving the
size of that part (excluding the 8 Bytes header). That might be the reason
why your other examples didn't work with some of your example files.

I have written a AVI-Info reader that works with 99% of my avi files. maybe
this helps you.

<see attached files>

How to use:

var AVI : TAVIInfo;

AVI := TAVIInfo.Create;
AVI.Datei := 'TestAvi.avi';

If Avi.GetAviInfo Then
 Begin
  // use the info gathered by AVIInfo
 End;

AVI.Free;

The unit "DeviceLst.pas" reads all installed video and audio codecs from
the registry and compares them with the ones found in the avi-file to show
there "real name" instead of the FourCC like "div3".