101 lines
2.1 KiB
C++
101 lines
2.1 KiB
C++
#ifndef _AVIFILE_MOVIEDATA_HPP_
|
|
#define _AVIFILE_MOVIEDATA_HPP_
|
|
#ifndef _COMMON_GLOBALDATA_HPP_
|
|
#include <common/gdata.hpp>
|
|
#endif
|
|
|
|
class MovieData : public GlobalData<BYTE>
|
|
{
|
|
public:
|
|
enum DataType{Audio,DIBCompressed,DIBUnCompressed,IV,Unknown};
|
|
MovieData(DataType dataType=Unknown);
|
|
MovieData(const MovieData &someMovieData);
|
|
MovieData(const GlobalData<BYTE> &movieData);
|
|
virtual ~MovieData();
|
|
MovieData &operator=(const MovieData &someMovieData);
|
|
MovieData &operator=(const GlobalData<BYTE> &movieData);
|
|
bool operator==(const MovieData &someMovieData)const;
|
|
DataType dataType(void)const;
|
|
void dataType(DataType dataType);
|
|
WORD streamNumber(void)const;
|
|
void streamNumber(WORD streamNumber);
|
|
private:
|
|
DataType mDataType;
|
|
WORD mStreamNumber;
|
|
};
|
|
|
|
inline
|
|
MovieData::MovieData(DataType dataType)
|
|
: mDataType(dataType), mStreamNumber(0)
|
|
{
|
|
}
|
|
|
|
inline
|
|
MovieData::MovieData(const MovieData &someMovieData)
|
|
{
|
|
*this=someMovieData;
|
|
}
|
|
|
|
inline
|
|
MovieData::MovieData(const GlobalData<BYTE> &movieData)
|
|
: mDataType(Unknown), mStreamNumber(0)
|
|
{
|
|
*this=movieData;
|
|
}
|
|
|
|
inline
|
|
MovieData::~MovieData()
|
|
{
|
|
}
|
|
|
|
inline
|
|
MovieData &MovieData::operator=(const GlobalData<BYTE> &movieData)
|
|
{
|
|
mDataType=Unknown;
|
|
mStreamNumber=0;
|
|
(GlobalData<BYTE>&)*this=movieData;
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
MovieData &MovieData::operator=(const MovieData &someMovieData)
|
|
{
|
|
dataType(someMovieData.dataType());
|
|
streamNumber(someMovieData.streamNumber());
|
|
(GlobalData<BYTE>&)*this=(GlobalData<BYTE>&)someMovieData;
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
bool MovieData::operator==(const MovieData &someMovieData)const
|
|
{
|
|
if(!(dataType()==someMovieData.dataType()))return FALSE;
|
|
if(!(streamNumber()==someMovieData.streamNumber()))return FALSE;
|
|
return (GlobalData<BYTE>&)*this==(GlobalData<BYTE>&)someMovieData;
|
|
}
|
|
|
|
inline
|
|
MovieData::DataType MovieData::dataType(void)const
|
|
{
|
|
return mDataType;
|
|
}
|
|
|
|
inline
|
|
void MovieData::dataType(DataType dataType)
|
|
{
|
|
mDataType=dataType;
|
|
}
|
|
|
|
inline
|
|
WORD MovieData::streamNumber(void)const
|
|
{
|
|
return mStreamNumber;
|
|
}
|
|
|
|
inline
|
|
void MovieData::streamNumber(WORD streamNumber)
|
|
{
|
|
mStreamNumber=streamNumber;
|
|
}
|
|
#endif
|