72 lines
1.7 KiB
C++
72 lines
1.7 KiB
C++
#pragma once
|
|
#include "mp4.h"
|
|
|
|
namespace MP4{
|
|
struct sidxReference{
|
|
bool referenceType;
|
|
uint32_t referencedSize;
|
|
uint32_t subSegmentDuration;
|
|
bool sapStart;
|
|
uint8_t sapType;
|
|
uint32_t sapDeltaTime;
|
|
};
|
|
|
|
class SIDX : public fullBox{
|
|
public:
|
|
SIDX();
|
|
void setReferenceID(uint32_t newReferenceID);
|
|
uint32_t getReferenceID();
|
|
void setTimescale(uint32_t newTimescale);
|
|
uint32_t getTimescale();
|
|
|
|
void setEarliestPresentationTime(uint64_t newEarliestPresentationTime);
|
|
uint64_t getEarliestPresentationTime();
|
|
void setFirstOffset(uint64_t newFirstOffset);
|
|
uint64_t getFirstOffset();
|
|
|
|
uint16_t getReferenceCount();
|
|
void setReference(sidxReference &newRef, size_t index);
|
|
sidxReference getReference(size_t index);
|
|
|
|
std::string toPrettyString(uint32_t indent = 0);
|
|
};
|
|
|
|
class TFDT : public fullBox{
|
|
public:
|
|
TFDT();
|
|
void setBaseMediaDecodeTime(uint64_t newBaseMediaDecodeTime);
|
|
uint64_t getBaseMediaDecodeTime();
|
|
|
|
std::string toPrettyString(uint32_t indent = 0);
|
|
};
|
|
|
|
class IODS : public fullBox{
|
|
public:
|
|
IODS();
|
|
void setIODTypeTag(char value);
|
|
char getIODTypeTag();
|
|
|
|
void setDescriptorTypeLength(char length);
|
|
char getDescriptorTypeLength();
|
|
|
|
void setODID(short id);
|
|
short getODID();
|
|
|
|
void setODProfileLevel(char value);
|
|
char getODProfileLevel();
|
|
|
|
void setODSceneLevel(char value);
|
|
char getODSceneLevel();
|
|
|
|
void setODAudioLevel(char value);
|
|
char getODAudioLevel();
|
|
|
|
void setODVideoLevel(char value);
|
|
char getODVideoLevel();
|
|
|
|
void setODGraphicsLevel(char value);
|
|
char getODGraphicsLevel();
|
|
|
|
std::string toPrettyString(uint32_t indent = 0);
|
|
};
|
|
}// namespace MP4
|