Fixes and improvements to various MP4 library functions, by Oswald de Bruin.
This commit is contained in:
parent
17f3a37454
commit
97b8adf41e
2 changed files with 305 additions and 81 deletions
|
@ -182,9 +182,27 @@ namespace MP4 {
|
|||
std::string toPrettyString(uint32_t indent = 0);
|
||||
};
|
||||
|
||||
class DAC3: public Box {
|
||||
public:
|
||||
DAC3(unsigned int rate, unsigned int channels);
|
||||
char getSampleRateCode();//2bits
|
||||
void setSampleRateCode(char newVal);//2bits
|
||||
char getBitStreamIdentification();//5bits
|
||||
void setBitStreamIdentification(char newVal);//5bits
|
||||
char getBitStreamMode();//3 bits
|
||||
void setBitStreamMode(char newVal);//3 bits
|
||||
char getAudioConfigMode();//3 bits
|
||||
void setAudioConfigMode(char newVal);//3 bits
|
||||
bool getLowFrequencyEffectsChannelOn();//1bit
|
||||
void setLowFrequencyEffectsChannelOn(bool newVal);//1bit
|
||||
char getFrameSizeCode();//6bits
|
||||
void setFrameSizeCode(char newVal);//6bits
|
||||
std::string toPrettyString(uint32_t indent = 0);
|
||||
};
|
||||
|
||||
class FTYP: public Box {
|
||||
public:
|
||||
FTYP();
|
||||
FTYP(bool fillDefaults = true);
|
||||
void setMajorBrand(const char * newMajorBrand);
|
||||
std::string getMajorBrand();
|
||||
void setMinorVersion(const char * newMinorVersion);
|
||||
|
@ -195,6 +213,12 @@ namespace MP4 {
|
|||
std::string toPrettyString(uint32_t indent = 0);
|
||||
};
|
||||
|
||||
class STYP: public FTYP {
|
||||
public:
|
||||
STYP(bool fillDefaults = true);
|
||||
std::string toPrettyString(uint32_t indent = 0);
|
||||
};
|
||||
|
||||
class MOOV: public containerBox {
|
||||
public:
|
||||
MOOV();
|
||||
|
@ -205,9 +229,9 @@ namespace MP4 {
|
|||
MVEX();
|
||||
};
|
||||
|
||||
class TREX: public Box {
|
||||
class TREX: public fullBox {
|
||||
public:
|
||||
TREX();
|
||||
TREX(unsigned int trackId = 0);
|
||||
void setTrackID(uint32_t newTrackID);
|
||||
uint32_t getTrackID();
|
||||
void setDefaultSampleDescriptionIndex(uint32_t newDefaultSampleDescriptionIndex);
|
||||
|
@ -397,6 +421,8 @@ namespace MP4 {
|
|||
class TKHD: public fullBox {
|
||||
public:
|
||||
TKHD(uint32_t trackId, uint64_t duration, uint32_t width, uint32_t height);
|
||||
TKHD(DTSC::Track & track, bool fragmented);
|
||||
|
||||
void setCreationTime(uint64_t newCreationTime);
|
||||
uint64_t getCreationTime();
|
||||
void setModificationTime(uint64_t newModificationTime);
|
||||
|
@ -422,6 +448,8 @@ namespace MP4 {
|
|||
void setHeight(uint32_t newHeight);
|
||||
uint32_t getHeight();
|
||||
std::string toPrettyString(uint32_t indent = 0);
|
||||
protected:
|
||||
void initialize();
|
||||
};
|
||||
|
||||
class MDHD: public fullBox {
|
||||
|
@ -471,10 +499,12 @@ namespace MP4 {
|
|||
std::string toPrettyString(uint32_t indent = 0);
|
||||
};
|
||||
|
||||
struct STSCEntry {
|
||||
uint32_t firstChunk;
|
||||
uint32_t samplesPerChunk;
|
||||
uint32_t sampleDescriptionIndex;
|
||||
class STSCEntry {
|
||||
public:
|
||||
STSCEntry(unsigned int _first = 0, unsigned int _count = 0, unsigned int _index = 0);
|
||||
uint32_t firstChunk;
|
||||
uint32_t samplesPerChunk;
|
||||
uint32_t sampleDescriptionIndex;
|
||||
};
|
||||
|
||||
class STSC: public fullBox {
|
||||
|
@ -563,6 +593,8 @@ namespace MP4 {
|
|||
///\todo set default values
|
||||
public:
|
||||
VisualSampleEntry();
|
||||
VisualSampleEntry(DTSC::Track & track);
|
||||
void initialize();
|
||||
void setCodec(const char * newCodec);
|
||||
void setWidth(uint16_t newWidth);
|
||||
uint16_t getWidth();
|
||||
|
@ -581,6 +613,7 @@ namespace MP4 {
|
|||
Box & getCLAP();
|
||||
void setCLAP(Box & clap);
|
||||
Box & getPASP();
|
||||
void setPASP(Box & pasp);
|
||||
std::string toPrettyVisualString(uint32_t index = 0, std::string = "");
|
||||
};
|
||||
|
||||
|
@ -588,6 +621,8 @@ namespace MP4 {
|
|||
public:
|
||||
///\todo set default values
|
||||
AudioSampleEntry();
|
||||
AudioSampleEntry(DTSC::Track & track);
|
||||
void initialize();
|
||||
void setCodec(const char * newCodec);
|
||||
void setChannelCount(uint16_t newChannelCount);
|
||||
uint16_t getChannelCount();
|
||||
|
@ -666,6 +701,8 @@ namespace MP4 {
|
|||
class ELST: public fullBox {
|
||||
public:
|
||||
ELST();
|
||||
void setCount(uint32_t newVal);
|
||||
uint32_t getCount();
|
||||
void setSegmentDuration(uint64_t newVal);
|
||||
uint64_t getSegmentDuration();
|
||||
void setMediaTime(uint64_t newVal);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue