|
RDK Documentation (Open Sourced RDK Components)
|
Go to the documentation of this file.
25 #ifndef __ISOBMFFBUFFER_H__
26 #define __ISOBMFFBUFFER_H__
42 std::vector<Box*> boxes;
93 bool parseBoxInternal(
const std::vector<Box*> *boxes,
const char *name, uint8_t *buf,
size_t &size);
103 bool getBoxSizeInternal(
const std::vector<Box*> *boxes,
const char *name,
size_t &size);
113 bool getBoxesInternal(
const std::vector<Box*> *boxes,
const char *name, std::vector<Box*> *pBoxes);
147 bool parseBuffer(
bool correctBoxSize =
false,
int newTrackId = -1);
158 void restampPTS(uint64_t offset, uint64_t basePts, uint8_t *segment, uint32_t bufSz);
239 bool getEMSGData(uint8_t* &message, uint32_t &messageLen, uint8_t* &schemeIdUri, uint8_t* &value, uint64_t &presTime, uint32_t &timeScale, uint32_t &eventDuration, uint32_t &
id);
256 bool getEMSGInfoInternal(
const std::vector<Box*> *boxes, uint8_t* &message, uint32_t &messageLen, uint8_t* &schemeIdUri, uint8_t* &value, uint64_t &presTime, uint32_t &timeScale, uint32_t &eventDuration, uint32_t &
id,
bool &foundEmsg);
278 bool getTypeOfBoxes(
const char *name, std::vector<Box*> &stBoxes);
300 Box*
getBox(
const char *name,
size_t &index);
bool getEMSGInfoInternal(const std::vector< Box * > *boxes, uint8_t *&message, uint32_t &messageLen, uint8_t *&schemeIdUri, uint8_t *&value, uint64_t &presTime, uint32_t &timeScale, uint32_t &eventDuration, uint32_t &id, bool &foundEmsg)
Get emsg informations.
std::vector< Box * > * getParsedBoxes()
Get list of box handles in a parsed buffer.
void PrintPTS(void)
Print PTS of buffer.
void getSampleDuration(Box *box, uint64_t &fduration)
Get ISOBMFF box Sample Duration.
~IsoBmffBuffer()
IsoBmffBuffer destructor.
void printBoxesInternal(const std::vector< Box * > *boxes)
Print ISOBMFF boxes.
IsoBmffBuffer(AampLogManager *logObj=NULL)
IsoBmffBuffer constructor.
void printPTSInternal(const std::vector< Box * > *boxes)
Print ISOBMFF box PTS.
Box * getBoxAtIndex(size_t index)
Get box handle in parsed bufferr using index.
bool parseMdatBox(uint8_t *buf, size_t &size)
Get mdat buffer handle and size from parsed buffer.
bool getTimeScale(uint32_t &timeScale)
Get TimeScale value of buffer.
Box * getChunkedfBox() const
Get list of box handles in a parsed buffer.
Base Class for ISO BMFF Box.
void destroyBoxes()
Release ISOBMFF boxes parsed.
uint64_t getSampleDurationInernal(const std::vector< Box * > *boxes)
Get ISOBMFF box Sample Duration.
void restampPTS(uint64_t offset, uint64_t basePts, uint8_t *segment, uint32_t bufSz)
Restamp PTS in a buffer.
bool parseBoxInternal(const std::vector< Box * > *boxes, const char *name, uint8_t *buf, size_t &size)
parse ISOBMFF boxes of a type in a parsed buffer
bool getMdatBoxCount(size_t &count)
Check mdat buffer count in parsed buffer.
bool getTypeOfBoxes(const char *name, std::vector< Box * > &stBoxes)
Get list of box handle in parsed bufferr using name.
Class for ISO BMFF Buffer.
void setBuffer(uint8_t *buf, size_t sz)
Set buffer.
void printMdatBoxes()
Print ISOBMFF mdat boxes in parsed buffer.
bool getTrack_id(uint32_t &track_id)
Get track_id from the trak box.
bool getFirstPTS(uint64_t &pts)
Get first PTS of buffer.
void getPts(Box *box, uint64_t &fpts)
Get ISOBMFF box PTS.
bool getTimeScaleInternal(const std::vector< Box * > *boxes, uint32_t &timeScale, bool &foundMdhd)
Get TimeScale value of buffer.
uint64_t getPtsInternal(const std::vector< Box * > *boxes)
Get ISOBMFF box PTS.
bool parseBuffer(bool correctBoxSize=false, int newTrackId=-1)
Parse ISOBMFF boxes from buffer.
Header file for ISO Base Media File Format Boxes.
bool getEMSGData(uint8_t *&message, uint32_t &messageLen, uint8_t *&schemeIdUri, uint8_t *&value, uint64_t &presTime, uint32_t &timeScale, uint32_t &eventDuration, uint32_t &id)
Get information from EMSG box.
Box * getBox(const char *name, size_t &index)
Get box handle in parsed bufferr using name.
bool isInitSegment()
Check if buffer is an initialization segment.
void printBoxes()
Print ISOBMFF boxes.
bool getFirstPTSInternal(const std::vector< Box * > *boxes, uint64_t &pts)
Get first PTS of buffer.
bool getBoxSizeInternal(const std::vector< Box * > *boxes, const char *name, size_t &size)
get ISOBMFF box size of a type
bool getMdatBoxSize(size_t &size)
Get mdat buffer size.
bool getTrackIdInternal(const std::vector< Box * > *boxes, uint32_t &track_id)
Get track id from trak box.
bool getBoxesInternal(const std::vector< Box * > *boxes, const char *name, std::vector< Box * > *pBoxes)
get ISOBMFF box list of a type in a parsed buffer