![]() |
libgpac
Documentation of the core library of GPAC
|
Basic stream interface API used by MPEG-2 TS muxer. More...
Collaboration diagram for ES Interface:Data Structures | |
| struct | GF_ESIPacket |
| struct | __esi_video_info |
| struct | __esi_audio_info |
| struct | GF_ESInterface |
Enumerations | |
| enum | { GF_ESI_INPUT_DATA_FLUSH , GF_ESI_INPUT_DATA_PULL , GF_ESI_INPUT_DATA_RELEASE , GF_ESI_INPUT_DESTROY } |
| enum | { GF_ESI_OUTPUT_DATA_DISPATCH } |
| enum | { GF_ESI_DATA_AU_START = 1 , GF_ESI_DATA_AU_END = 1<<1 , GF_ESI_DATA_HAS_CTS = 1<<2 , GF_ESI_DATA_HAS_DTS = 1<<3 , GF_ESI_DATA_REPEAT = 1<<4 } |
| enum | { GF_ESI_AU_PULL_CAP = 1 , GF_ESI_STREAM_IS_OVER = 1<<2 , GF_ESI_STREAM_WITHOUT_MPEG4_SYSTEMS = 1<<3 , GF_ESI_AAC_USE_LATM = 1<<4 , GF_ESI_STREAM_FLUSH = 1<<5 , GF_ESI_STREAM_HLS_SAES = 1<<6 , GF_ESI_FORCE_DOLBY_VISION = 1<<7 , GF_ESI_STREAM_SPARSE = 1<<8 } |
Basic stream interface API used by MPEG-2 TS muxer.
This section documents the ES interface used by the MPEG-2 TS muxer. This interface is used to describe streams and packets consumed by the TS muxer independently from the rest of GPAC (filter packets)
| struct GF_ESIPacket |
stream interface for MPEG-2 TS muxer
| Data Fields | ||
|---|---|---|
| u16 | flags |
packet flags |
| u8 | sap_type |
SAP type |
| u8 * | data |
payload |
| u32 | data_len |
payload size |
| u64 | dts |
DTS expressed in media timescale |
| u64 | cts |
CTS/PTS expressed in media timescale |
| u32 | duration |
duration expressed in media timescale |
| u32 | pck_sn |
packet sequence number |
| u32 | au_sn |
MPEG-4 Access Unit sequence number (use for carousel of BIFS/OD AU) |
| u32 | isma_bso |
ISM BSO for for packets using ISMACrypt/OMA/3GPP based crypto |
| u8 * | mpeg2_af_descriptors |
serialized list of AF descriptors |
| u32 | mpeg2_af_descriptors_size |
size of serialized list of AF descriptors |
| struct __esi_video_info |
| struct __esi_audio_info |
| anonymous enum |
ESI input control commands
| Enumerator | |
|---|---|
| GF_ESI_INPUT_DATA_FLUSH | forces a data flush from interface to dest (caller) - used for non-threaded interfaces corresponding parameter: unused |
| GF_ESI_INPUT_DATA_PULL | pulls a COMPLETE AU from the stream corresponding parameter: pointer to a GF_ESIPacket to fill. The input data_len in the packet is used to indicate any padding in bytes |
| GF_ESI_INPUT_DATA_RELEASE | releases the currently pulled AU from the stream - AU cannot be pulled after that, unless seek happens corresponding parameter: unused |
| GF_ESI_INPUT_DESTROY | destroys any allocated resource by the stream interface |
| anonymous enum |
ESI output control commands
| Enumerator | |
|---|---|
| GF_ESI_OUTPUT_DATA_DISPATCH | forces a data flush from interface to dest (caller) - used for non-threaded interfaces corresponding parameter: GF_ESIPacket |
| anonymous enum |
| anonymous enum |
ES interface capabilities