libgpac
Documentation of the core library of GPAC
sync_layer.h File Reference

MPEG-4 Object Descriptor Framework Sync Layer. More...

+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_SLConfig
 MPEG-4 Object Descriptor Framework Sync Layer. More...
 
struct  GF_SLHeader
 
enum  { SLPredef_Null = 0x01 , SLPredef_MP4 = 0x02 }
 
GF_Err gf_odf_slc_set_pref (GF_SLConfig *sl)
 
void gf_sl_packetize (GF_SLConfig *slConfig, GF_SLHeader *Header, u8 *PDU, u32 size, u8 **outPacket, u32 *OutSize)
 
u32 gf_sl_get_header_size (GF_SLConfig *slConfig, GF_SLHeader *Header)
 
void gf_sl_depacketize (GF_SLConfig *slConfig, GF_SLHeader *Header, const u8 *PDU, u32 PDULength, u32 *HeaderLen)
 

Detailed Description

>


Data Structure Documentation

◆ GF_SLHeader

struct GF_SLHeader

MPEG-4 sync layer header information

Data Fields
u8 accessUnitStartFlag
u8 accessUnitEndFlag
u8 paddingFlag
u8 randomAccessPointFlag
u8 OCRflag
u8 idleFlag
u8 decodingTimeStampFlag
u8 compositionTimeStampFlag
u8 instantBitrateFlag
u8 degradationPriorityFlag
u8 paddingBits
u16 packetSequenceNumber
u64 objectClockReference
u16 AU_sequenceNumber
u64 decodingTimeStamp
u64 compositionTimeStamp
u16 accessUnitLength
u32 instantBitrate
u16 degradationPriority
u32 au_duration
u8 isma_encrypted
u64 isma_BSO
u8 cenc_encrypted
u8 IV_size
u32 crypt_byte_block
u32 skip_byte_block
u8 constant_IV_size
bin128 constant_IV
u8 m2ts_version_number_plus_one
u8 m2ts_pcr
s64 timeStampOffset
u64 sender_ntp
u8 seekFlag
u32 samplerate
u32 channels

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

SL config predefined values

Function Documentation

◆ gf_odf_slc_set_pref()

GF_Err gf_odf_slc_set_pref ( GF_SLConfig sl)

sets SL predefined (assign all fields according to sl->predefined value)

Parameters
slthe target SL config descriptor
Returns
error if any

◆ gf_sl_packetize()

void gf_sl_packetize ( GF_SLConfig slConfig,
GF_SLHeader Header,
u8 PDU,
u32  size,
u8 **  outPacket,
u32 OutSize 
)

packetizes SL-PDU. If PDU is NULL or size 0, only writes the SL header

Parameters
slConfigthe target SL config descriptor
Headerthe SL header for this data block
PDUthe payload to packetize
sizethe payload size
outPacketset to an allocated buffer containing the serialized SL packet - to be destroyed by caller
OutSizeset to the size of the serialized SL packer

◆ gf_sl_get_header_size()

u32 gf_sl_get_header_size ( GF_SLConfig slConfig,
GF_SLHeader Header 
)

gets SL header size

Parameters
slConfigthe target SL config descriptor
Headerthe SL header for this data block
Returns
the size of the SL header in bytes

◆ gf_sl_depacketize()

void gf_sl_depacketize ( GF_SLConfig slConfig,
GF_SLHeader Header,
const u8 PDU,
u32  PDULength,
u32 HeaderLen 
)

depacketizes SL-PDU

Parameters
slConfigthe target SL config descriptor
Headerfilled with the decoded SL header
PDUthe SL packet to parse
PDULengththe size of the SL packet
HeaderLenset to size of the SL header - payload will start at PDU + *HeaderLen