73 lines
1.8 KiB
C++
73 lines
1.8 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);
|
|
};
|
|
}
|
|
|