mistserver/lib/mp4_dash.h
2021-10-19 22:29:40 +02:00

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