31 lines
981 B
C++
31 lines
981 B
C++
#include <common/string.hpp>
|
|
#include <avifile/avifile.hpp>
|
|
#include <avifile/riffhdr.hpp>
|
|
|
|
AVIFile::AVIFile(const String &pathFileName)
|
|
: mAVIFile(pathFileName,"rb")
|
|
{
|
|
RIFFHeader riffHeader;
|
|
AVIListChunk aviListChunk;
|
|
|
|
if(!isOkay())return;
|
|
if(!riffHeader.read(mAVIFile))return;
|
|
while(TRUE)
|
|
{
|
|
aviListChunk.read(mAVIFile);
|
|
::OutputDebugString(aviListChunk.toString()+String("\n"));
|
|
if(AVIListChunk::Header==aviListChunk.chunkType())
|
|
{
|
|
mAVIMainHeader.read(mAVIFile);
|
|
::OutputDebugString(mAVIMainHeader.toString());
|
|
}
|
|
else if(AVIListChunk::Stream==aviListChunk.chunkType())mAVIStreamData.read(mAVIFile);
|
|
else if(AVIListChunk::Movie==aviListChunk.chunkType())mAVIMovieHeader.read(mAVIFile);
|
|
else if(AVIListChunk::Info==aviListChunk.chunkType())mAVIInfoHeader.read(mAVIFile);
|
|
else if(AVIListChunk::OpenDML==aviListChunk.chunkType())mAVIOpenDMLHeader.read(mAVIFile);
|
|
else if(AVIListChunk::Unknown==aviListChunk.chunkType())break;
|
|
else break;
|
|
}
|
|
}
|
|
|