ATSC3  24.10.0
Public Member Functions | Public Attributes | List of all members
CIsoBmffParser Class Reference

#include <atsc_core_streamer_isobmff_parser.h>

Public Member Functions

 CIsoBmffParser ()
 Memset the Mp4 Header box. More...
 
 ~CIsoBmffParser ()
 NA. More...
 
void Init (void)
 Reset the Variables with zero. More...
 
int32_t PutMP4 (char *pData, int32_t iLen)
 Provide Data to parse the data based on header type. More...
 
int32_t get_duration (void)
 Get Duration. More...
 
uint32_t get_timescale (void)
 Get TimeScale. More...
 
int32_t get_sample_duration (void)
 Get Sample Duration. More...
 
int32_t get_mdat_size (char *pData, int32_t iDataLen)
 Get the Mdat Size. More...
 
int32_t set_mdat_size (char *pData, int32_t iDataLen, int32_t iMdatSize)
 Set the Mdat Size. More...
 
int32_t PutSidx (char *pData, int32_t iLen, Isobmff::sSidxH_t *sidx)
 Parses and processes the 'Sidx' box. More...
 
int32_t PutMdat (char *pData, int32_t iLen, int32_t remainLen, bool bHintTrackContainOffset, int32_t iId, int32_t iSeq)
 Parses and processes the 'Mdat' box. More...
 
int32_t GetDuration ()
 Get the Duration. More...
 
int32_t PutTraf (char *pData, int32_t iLen, Isobmff::sTrafH_t *traf)
 Parses and processes the 'Traf' box. More...
 
int32_t PutTfhd (char *pData, int32_t iLen, Isobmff::sTfhdH_t *tfhd)
 Parses and processes the 'Tfhd' box. More...
 
int32_t PutTrun (char *pData, int32_t iLen, Isobmff::sTrunH_t *trun)
 Parses and processes the 'Trun' box. More...
 
int32_t PutTfdt (char *pData, int32_t iLen, Isobmff::sTfdtH_t *tfdt)
 Parses and processes the 'Tfdt' box. More...
 
int32_t PutMdia (char *pData, int32_t iLen, Isobmff::sMdiaH_t *mdia)
 Parses and processes the 'Mdia' box. More...
 
int32_t PutFtyp (char *pData, int32_t iLen)
 Parses and processes the 'Ftyp' box. More...
 
int32_t PutStyp (char *pData, int32_t iLen)
 Parses and processes the 'Styp' box. More...
 
int32_t PutMehd (char *pData, int32_t iLen, Isobmff::sMehdH_t *mehd)
 Parses and processes the 'Mehd' box. More...
 
int32_t PutTrex (char *pData, int32_t iLen, Isobmff::sTrexH_t *trex)
 Parses and processes the 'Trex' box. More...
 
int32_t PutTkhd (char *pData, int32_t iLen, Isobmff::sTkhdH_t *tkhd)
 Parses and processes the 'Tkhd' box. More...
 
int32_t PutTrak (char *pData, int32_t iLen, Isobmff::sTrakH_t *trak)
 Parses and processes the 'Trak' box. More...
 
int32_t GetBoxTypeLen (char *pData, int32_t *pType, int32_t *pLen)
 Get Box Type of Mp4 Header. More...
 
int32_t PutMoov (char *pData, int32_t iLen, Isobmff::sMoovH_t *moov)
 Parses and processes the 'Moov' box. More...
 
int32_t PutMvhd (char *pData, int32_t iLen, Isobmff::sMvhdH_t *mvhd)
 Parses and processes the 'Mvhd' box. More...
 
int32_t PutMdhd (char *pData, int32_t iLen, Isobmff::sMdhdH_t *mdhd)
 Parses and processes the 'Mdhd' box. More...
 
int32_t PutHdlr (char *pData, int32_t iLen, Isobmff::sHdlrH_t *hdlr)
 Parses and processes the 'Hdlr' box. More...
 
int32_t PutMfhd (char *pData, int32_t iLen, Isobmff::sMfhdH_t *mfhd)
 
int32_t PutMoof (char *pData, int32_t iLen, Isobmff::sMoofH_t *moof)
 Parses and processes the 'Mfhd' box. More...
 
int32_t PutMinf (char *pData, int32_t iLen, Isobmff::sMinfH_t *minf)
 
int32_t PutMvex (char *pData, int32_t iLen, Isobmff::sMvexH_t *mvex)
 Parses and processes the 'Minf' box. More...
 
int32_t PutVmhd (char *pData, int32_t iLen, Isobmff::sVmhdH_t *vmhd)
 NA. More...
 
int32_t PutStsd (char *pData, int32_t iLen, Isobmff::sStsdH_t *stsd)
 NA. More...
 
int32_t PutStsz (char *pData, int32_t iLen, Isobmff::sStszH_t *stsz)
 NA. More...
 
int32_t PutStsc (char *pData, int32_t iLen, Isobmff::sStscH_t *stsc)
 NA. More...
 
int32_t PutStco (char *pData, int32_t iLen, Isobmff::sStcoH_t *stco)
 NA. More...
 
int32_t PutStts (char *pData, int32_t iLen, Isobmff::sStsH_t *stts)
 NA. More...
 
int32_t PutStbl (char *pData, int32_t iLen, Isobmff::sStblH_t *stbl)
 NA. More...
 
sFindHdlrResult_t FindHdlrType (int32_t iHdlrType)
 Finds the handler type for the given track ID. More...
 

Public Attributes

int32_t iDuration
 
int32_t mSampleDuration
 
uint32_t iTimescale
 
Isobmff::sMp4_t mp4
 

Detailed Description

CIsoBmffParser

Constructor & Destructor Documentation

◆ CIsoBmffParser()

CIsoBmffParser::CIsoBmffParser ( )

Memset the Mp4 Header box.

Parameters
void
Return values
void

◆ ~CIsoBmffParser()

CIsoBmffParser::~CIsoBmffParser ( )

NA.

Parameters
void
Return values
void

Member Function Documentation

◆ FindHdlrType()

CIsoBmffParser::FindHdlrType ( int32_t  iHdlrType)

Finds the handler type for the given track ID.

Parameters
iHdlrType
Return values
sFindHdlrResult_t

◆ get_duration()

CIsoBmffParser::get_duration ( void  )
inline

Get Duration.

Parameters
NA
Return values
int32_t

◆ get_mdat_size()

CIsoBmffParser::get_mdat_size ( char *  pData,
int32_t  iDataLen 
)

Get the Mdat Size.

Parameters
char*pData, int32_t iDataLen
Return values
int32_t

◆ get_sample_duration()

CIsoBmffParser::get_sample_duration ( void  )
inline

Get Sample Duration.

Parameters
NA
Return values
int32_t

◆ get_timescale()

CIsoBmffParser::get_timescale ( void  )
inline

Get TimeScale.

Parameters
NA
Return values
int32_t

◆ GetBoxTypeLen()

CIsoBmffParser::GetBoxTypeLen ( char *  pData,
int32_t *  pType,
int32_t *  pLen 
)

Get Box Type of Mp4 Header.

Parameters
char*pData, int32_t *pType, int32_t *pLen
Return values
int32_t

◆ GetDuration()

CIsoBmffParser::GetDuration ( )

Get the Duration.

Parameters
NA
Return values
int32_t

◆ Init()

CIsoBmffParser::Init ( void  )

Reset the Variables with zero.

Parameters
void
Return values
void

◆ PutFtyp()

CIsoBmffParser::PutFtyp ( char *  pData,
int32_t  iLen 
)

Parses and processes the 'Ftyp' box.

Parameters
char*pData, int32_t iLen
Return values
int32_t

◆ PutHdlr()

CIsoBmffParser::PutHdlr ( char *  pData,
int32_t  iLen,
Isobmff::sHdlrH_t hdlr 
)

Parses and processes the 'Hdlr' box.

Parameters
char*pData, int32_t iLen, Isobmff::sHdlrH_t* hdlr
Return values
int32_t

◆ PutMdat()

CIsoBmffParser::PutMdat ( char *  pData,
int32_t  iLen,
int32_t  remainLen,
bool  bHintTrackContainOffset,
int32_t  iId,
int32_t  iSeq 
)

Parses and processes the 'Mdat' box.

Parameters
*pData,iLen,remainLen,bHintTrackContainOffset,iId,iSeq
Return values
int32_t

◆ PutMdhd()

CIsoBmffParser::PutMdhd ( char *  pData,
int32_t  iLen,
Isobmff::sMdhdH_t mdhd 
)

Parses and processes the 'Mdhd' box.

Parameters
char*pData, int32_t iLen, Isobmff::sMdhdH_t* mdhd
Return values
int32_t

◆ PutMdia()

CIsoBmffParser::PutMdia ( char *  pData,
int32_t  iLen,
Isobmff::sMdiaH_t mdia 
)

Parses and processes the 'Mdia' box.

Parameters
char*pData, int32_t iLen, Isobmff::sMdiaH_t* mdia
Return values
int32_t

◆ PutMehd()

CIsoBmffParser::PutMehd ( char *  pData,
int32_t  iLen,
Isobmff::sMehdH_t mehd 
)

Parses and processes the 'Mehd' box.

Parameters
char*pData, int32_t iLen, Isobmff::sMehdH_t* mehd
Return values
int32_t

◆ PutMoof()

CIsoBmffParser::PutMoof ( char *  pData,
int32_t  iLen,
Isobmff::sMoofH_t moof 
)

Parses and processes the 'Mfhd' box.

Parses and processes the 'Moof' box.

Parameters
char*pData, int32_t iLen, Isobmff::sMfhdH_t* mfhd
Return values
int32_t
Parameters
char*pData, int32_t iLen, Isobmff::sMoofH_t* moof
Return values
int32_t

◆ PutMoov()

CIsoBmffParser::PutMoov ( char *  pData,
int32_t  iLen,
Isobmff::sMoovH_t moov 
)

Parses and processes the 'Moov' box.

Parameters
char*pData, int32_t iLen, Isobmff::sMoovH_t* moov
Return values
int32_t

◆ PutMP4()

CIsoBmffParser::PutMP4 ( char *  pData,
int32_t  iLen 
)

Provide Data to parse the data based on header type.

Parameters
char*pData, int32_t iLen
Return values
int32_t

◆ PutMvex()

CIsoBmffParser::PutMvex ( char *  pData,
int32_t  iLen,
Isobmff::sMvexH_t mvex 
)

Parses and processes the 'Minf' box.

Parses and processes the 'mvex' box.

Parameters
char*pData, int32_t iLen, Isobmff::sMinfH_t* minf
Return values
int32_t
Parameters
char*pData, int32_t iLen, Isobmff::sMvexH_t* sMvexH_t
Return values
int32_t

◆ PutMvhd()

CIsoBmffParser::PutMvhd ( char *  pData,
int32_t  iLen,
Isobmff::sMvhdH_t mvhd 
)

Parses and processes the 'Mvhd' box.

Parameters
char*pData, int32_t iLen, Isobmff::sMvhdH_t* Mvhd
Return values
int32_t

◆ PutSidx()

CIsoBmffParser::PutSidx ( char *  pData,
int32_t  iLen,
Isobmff::sSidxH_t sidx 
)

Parses and processes the 'Sidx' box.

Parameters
char*pData, int32_t iLen, Isobmff::sSidxH_t *sidx
Return values
int32_t

◆ PutStbl()

CIsoBmffParser::PutStbl ( char *  pData,
int32_t  iLen,
Isobmff::sStblH_t stbl 
)

NA.

Parameters
char*pData, int32_t iLen, Isobmff::sStblH_t* stbl
Return values
int32_t

◆ PutStco()

CIsoBmffParser::PutStco ( char *  pData,
int32_t  iLen,
Isobmff::sStcoH_t stco 
)

NA.

Parameters
char*pData, int32_t iLen, Isobmff::sStcoH_t* stco
Return values
int32_t

◆ PutStsc()

CIsoBmffParser::PutStsc ( char *  pData,
int32_t  iLen,
Isobmff::sStscH_t stsc 
)

NA.

Parameters
char*pData, int32_t iLen, Isobmff::sStscH_t* stsc
Return values
int32_t

◆ PutStsd()

CIsoBmffParser::PutStsd ( char *  pData,
int32_t  iLen,
Isobmff::sStsdH_t stsd 
)

NA.

Parameters
char*pData, int32_t iLen, Isobmff::sStsdH_t* stsd
Return values
int32_t

◆ PutStsz()

CIsoBmffParser::PutStsz ( char *  pData,
int32_t  iLen,
Isobmff::sStszH_t stsz 
)

NA.

Parameters
char*pData, int32_t iLen, Isobmff::sStszH_t* stsz
Return values
int32_t

◆ PutStts()

CIsoBmffParser::PutStts ( char *  pData,
int32_t  iLen,
Isobmff::sStsH_t stts 
)

NA.

Parameters
char*pData, int32_t iLen, Isobmff::sStsH_t* stts
Return values
int32_t

◆ PutStyp()

CIsoBmffParser::PutStyp ( char *  pData,
int32_t  iLen 
)

Parses and processes the 'Styp' box.

Parameters
char*pData, int32_t iLen
Return values
int32_t

◆ PutTfdt()

CIsoBmffParser::PutTfdt ( char *  pData,
int32_t  iLen,
Isobmff::sTfdtH_t tfdt 
)

Parses and processes the 'Tfdt' box.

Parameters
char*pData, int32_t iLen, Isobmff::sTfdtH_t* tfdt
Return values
int32_t

◆ PutTfhd()

CIsoBmffParser::PutTfhd ( char *  pData,
int32_t  iLen,
Isobmff::sTfhdH_t tfhd 
)

Parses and processes the 'Tfhd' box.

Parameters
char*pData, int32_t iLen, Isobmff::sTfhdH_t* tfhd
Return values
int32_t

◆ PutTkhd()

CIsoBmffParser::PutTkhd ( char *  pData,
int32_t  iLen,
Isobmff::sTkhdH_t tkhd 
)

Parses and processes the 'Tkhd' box.

Parameters
char*pData, int32_t iLen, sTkhdH_t::sTrexH_t* tkhd
Return values
int32_t

◆ PutTraf()

CIsoBmffParser::PutTraf ( char *  pData,
int32_t  iLen,
Isobmff::sTrafH_t traf 
)

Parses and processes the 'Traf' box.

Parameters
char*pData, int32_t iLen, Isobmff::sTrafH_t* traf
Return values
int32_t

◆ PutTrak()

CIsoBmffParser::PutTrak ( char *  pData,
int32_t  iLen,
Isobmff::sTrakH_t trak 
)

Parses and processes the 'Trak' box.

Parameters
char*pData, int32_t iLen, sTkhdH_t::sTrakH_t* trak
Return values
int32_t

◆ PutTrex()

CIsoBmffParser::PutTrex ( char *  pData,
int32_t  iLen,
Isobmff::sTrexH_t trex 
)

Parses and processes the 'Trex' box.

Parameters
char*pData, int32_t iLen, Isobmff::sTrexH_t* trex
Return values
int32_t

◆ PutTrun()

CIsoBmffParser::PutTrun ( char *  pData,
int32_t  iLen,
Isobmff::sTrunH_t trun 
)

Parses and processes the 'Trun' box.

Parameters
char*pData, int32_t iLen, Isobmff::sTrunH_t* trun
Return values
int32_t

◆ PutVmhd()

CIsoBmffParser::PutVmhd ( char *  pData,
int32_t  iLen,
Isobmff::sVmhdH_t vmhd 
)

NA.

Parameters
char*pData, int32_t iLen, Isobmff::sVmhdH_t* vmhd
Return values
int32_t

◆ set_mdat_size()

CIsoBmffParser::set_mdat_size ( char *  pData,
int32_t  iDataLen,
int32_t  iMdatSize 
)

Set the Mdat Size.

Parameters
char*pData, int32_t iDataLen, int32_t iMdatSize
Return values
int32_t

Member Data Documentation

◆ iDuration

int32_t CIsoBmffParser::iDuration

Duration

◆ iTimescale

uint32_t CIsoBmffParser::iTimescale

TimeScale from mvhd

◆ mp4

Isobmff::sMp4_t CIsoBmffParser::mp4

mp4 - Headers

◆ mSampleDuration

int32_t CIsoBmffParser::mSampleDuration

mSampleDuration


The documentation for this class was generated from the following files: