37 lines
829 B
C++
37 lines
829 B
C++
#include <avifile/infohdr.hpp>
|
|
|
|
bool AVIInfoHeader::read(File &inFile)
|
|
{
|
|
String infoLiteral("xxxx");
|
|
String isbjLiteral("ISBJ");
|
|
String inamLiteral("INAM");
|
|
String icmtLiteral("ICMT");
|
|
String infoHeader;
|
|
WORD infoFiller;
|
|
|
|
infoHeader.reserve(infoLiteral.length()+1);
|
|
inFile.read(infoHeader,infoLiteral.length());
|
|
if(icmtLiteral==infoHeader)
|
|
{
|
|
DWORD byteCount;
|
|
inFile.read(byteCount);
|
|
String fillString;
|
|
fillString.reserve(byteCount+1);
|
|
inFile.read(fillString,byteCount);
|
|
}
|
|
else
|
|
{
|
|
if(!(isbjLiteral==infoHeader))return false;
|
|
inFile.read(infoFiller);
|
|
inFile.read(infoFiller);
|
|
inFile.read(infoFiller);
|
|
inFile.read(infoHeader,inamLiteral.length());
|
|
if(!(inamLiteral==infoHeader))return false;
|
|
inFile.read(infoFiller);
|
|
inFile.read(infoFiller);
|
|
inFile.read(infoFiller);
|
|
}
|
|
return true;
|
|
}
|
|
|