41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include <avifile/frmhdr.hpp>
|
|
#include <common/gdata.hpp>
|
|
|
|
bool AVIFormatHeader::read(File &inFile)
|
|
{
|
|
String strfLiteral("strf");
|
|
String strfHeader;
|
|
|
|
strfHeader.reserve(strfLiteral.length()+1);
|
|
inFile.read(strfHeader,strfLiteral.length());
|
|
if(!(strfLiteral==strfHeader))
|
|
{
|
|
inFile-=strfLiteral.length();
|
|
return false;
|
|
}
|
|
if(StreamType::Video==streamType())
|
|
{
|
|
mAVIBitmap.read(inFile);
|
|
::OutputDebugString(mAVIBitmap.toString());
|
|
}
|
|
else if(StreamType::Audio==streamType())
|
|
{
|
|
mAVIWaveFormatEx.read(inFile);
|
|
::OutputDebugString(mAVIWaveFormatEx.toString());
|
|
}
|
|
// else if(StreamType::IAVS==streamType())mAVIDigitalVideo.read(inFile);
|
|
else if(StreamType::Text==streamType())return true;
|
|
return true;
|
|
}
|
|
|
|
bool AVIFormatHeader::write(File &outFile)
|
|
{
|
|
outFile.write("strf");
|
|
if(StreamType::Video==streamType())mAVIBitmap.write(outFile);
|
|
else if(StreamType::Audio==streamType())mAVIWaveFormatEx.write(outFile);
|
|
// else if(StreamType::IAVS==streamType())mAVIDigitalVideo.write(outFile);
|
|
else if(StreamType::Text==streamType())return true;
|
|
return true;
|
|
}
|
|
|