libgpac
Documentation of the core library of GPAC
dvb_mpe_dev.h File Reference
#include <gpac/dvb_mpe.h>
#include <gpac/internal/reedsolomon.h>
+ Include dependency graph for dvb_mpe_dev.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_M2TS_INT
 
struct  GF_M2TS_LOC_DSCPTR_IP_STREAM
 
struct  GF_M2TS_DesTimeSliceFec
 
struct  GF_M2TS_DesLocation
 
struct  GF_M2TS_IP_Target
 
struct  GF_M2TS_IP_Stream
 
struct  GF_M2TS_IP_PLATFORM
 
struct  GF_M2TS_IP_Packet
 
struct  MPE_Error_Holes
 
struct  MPE_FEC_FRAME
 
struct  _sock_entry
 
struct  tag_m2ts_section_mpe
 

Macros

#define MPE_ADT_COLS   191
 
#define MPE_RS_COLS   NPAR
 

Enumerations

enum  DTAG_SCOPE {
  MPEG , DVB_SI , DSMCC_STREAM , DSMCC_CAROUSEL ,
  DSMCC_INT_UNT , MHP_AIT , TVA_RNT
}
 

Functions

void gf_m2ts_process_int (GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES *ip_table, u8 *data, u32 data_size, u32 table_id)
 
void section_DSMCC_INT (GF_M2TS_IP_PLATFORM *ip_platform, u8 *data, u32 data_size)
 
u32 platform_descriptorDSMCC_INT_UNT (GF_M2TS_IP_PLATFORM *ip_platform, u8 *data)
 
u32 dsmcc_pto_platform_descriptor_loop (GF_M2TS_IP_PLATFORM *ip_platform, u8 *data)
 
u32 descriptorDSMCC_INT_UNT (GF_M2TS_IP_Stream *ip_str, u8 *data)
 
void descriptorDSMCC_target_IP_address (GF_M2TS_IP_Stream *ip_str, u8 *data)
 
u32 dsmcc_pto_descriptor_loop (GF_M2TS_IP_Stream *ip_str, u8 *data)
 
void descriptorTime_slice_fec_identifier (GF_M2TS_IP_Stream *ip_str, u8 *data)
 
void gf_m2ts_target_ip (GF_M2TS_IP_Stream *ip_str, u8 *data)
 
void descriptorLocation (GF_M2TS_IP_Stream *ip_str, u8 *data)
 
void gf_ip_platform_descriptor (GF_M2TS_IP_PLATFORM *ip_platform, u8 *data)
 
void gf_ip_platform_provider_descriptor (GF_M2TS_IP_PLATFORM *ip_platform, u8 *data)
 
void gf_m2ts_ip_platform_init (GF_M2TS_IP_PLATFORM *ip_platform)
 
u32 gf_m2ts_ipdatagram_reader (u8 *datagram, GF_M2TS_IP_Packet *ip_packet, u32 offset)
 
void gf_m2ts_process_ipdatagram (MPE_FEC_FRAME *mff, GF_M2TS_Demuxer *ts)
 
Bool gf_m2ts_compare_ip (u8 rx_ip_address[4], u8 ip_address_bootstrap[4])
 
void gf_m2ts_process_mpe (GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_MPE *mpe, u8 *data, u32 data_size, u8 table_id)
 
void gf_m2ts_gather_ipdatagram_information (MPE_FEC_FRAME *mff, GF_M2TS_Demuxer *ts)
 
void socket_simu (GF_M2TS_IP_Packet *ip_packet, GF_M2TS_Demuxer *ts, Bool yield)
 
void gf_m2ts_mpe_send_datagram (GF_M2TS_Demuxer *ts, u32 pid, u8 *data, u32 data_size)
 
u32 init_frame (MPE_FEC_FRAME *mff, u32 rows)
 
void getRowFromADT (MPE_FEC_FRAME *mff, u32 index, u8 *adt_row)
 
void getRowFromRS (MPE_FEC_FRAME *mff, u32 index, u8 *rs_row)
 
void setRowRS (MPE_FEC_FRAME *mff, u32 index, u8 *p_rs)
 
void getErrorPositions (MPE_FEC_FRAME *mff, u32 row, u32 *errPositions)
 
void setColRS (MPE_FEC_FRAME *mff, u32 offset, u8 *pds, u32 length)
 
void getColRS (MPE_FEC_FRAME *mff, u32 offset, u8 *pds, u32 length)
 
void setIpDatagram (MPE_FEC_FRAME *mff, u32 offset, u8 *dgram, u32 length)
 
void setErrorIndicator (u32 *data, u32 offset1, u32 length)
 
void resetMFF (MPE_FEC_FRAME *mff)
 
u32 getErrasurePositions (MPE_FEC_FRAME *mff, u32 row, u32 *errasures)
 
void decode_fec (MPE_FEC_FRAME *mff)
 
void descriptor_PRIVATE (u8 *b, DTAG_SCOPE tag_scope, GF_List *descriptors)
 

Data Structure Documentation

◆ GF_M2TS_INT

struct GF_M2TS_INT
Data Fields
u32 id
u32 processing_order
u32 number_of_descriptor
GF_List * descriptors

◆ GF_M2TS_LOC_DSCPTR_IP_STREAM

struct GF_M2TS_LOC_DSCPTR_IP_STREAM
Data Fields
u32 tag
u32 length
u32 network_id
u32 original_network_id
u32 ts_id
u32 service_id
u32 component_tag

◆ GF_M2TS_DesTimeSliceFec

struct GF_M2TS_DesTimeSliceFec
Data Fields
Bool time_slicing
u8 mpe_fec
u8 frame_size
u8 max_burst_duration
u8 max_average_rate
u8 time_slice_fec_id
u8 * id_selector

◆ GF_M2TS_DesLocation

struct GF_M2TS_DesLocation
Data Fields
u16 network_id
u16 original_network_id
u16 transport_stream_id
u16 service_id
u8 component_tag

◆ GF_M2TS_IP_Target

struct GF_M2TS_IP_Target
Data Fields
u8 type
u32 address_mask
u8 address[4]
u8 slash_mask
u32 rx_port[10]

◆ GF_M2TS_IP_Stream

struct GF_M2TS_IP_Stream
+ Collaboration diagram for GF_M2TS_IP_Stream:
Data Fields
GF_List * targets
u32 PID
Bool stream_info_gathered
GF_M2TS_DesLocation location
GF_M2TS_DesTimeSliceFec time_slice_fec

◆ GF_M2TS_IP_PLATFORM

struct GF_M2TS_IP_PLATFORM
+ Collaboration diagram for GF_M2TS_IP_PLATFORM:
Data Fields
u32 id
u32 processing_order
u32 number_of_descriptor
u8 * name
u8 * provider_name
GF_M2TS_DesLocation * location
GF_List * ip_streams
Bool all_info_gathered
GF_List * socket_struct

◆ GF_M2TS_IP_Packet

struct GF_M2TS_IP_Packet
Data Fields
u8 * data
u32 u32_version
u32 u32_hdr_length
u32 u32_total_length
u32 u32_payload_size
u32 u32_id_nb
u32 u32_flag
u32 u32_frag_offset
u32 u32_TTL
u32 u32_protocol
u32 u32_crc
u8 u8_tx_adr[4]
u8 u8_rx_adr[4]
u32 u32_size_option
u32 u32_padding
u32 u32_sum
u32 u32_tx_udp_port
u32 u32_rx_udp_port
u32 u32_udp_data_size
u32 u32_udp_chksm

◆ MPE_Error_Holes

struct MPE_Error_Holes
Data Fields
u32 offset
u32 length

◆ MPE_FEC_FRAME

struct MPE_FEC_FRAME
Data Fields
u32 rows
u32 col_adt
u32 col_rs
u8 * p_adt
u8 * p_rs
u32 * p_error_adt
u32 * p_error_rs
u32 capacity_total
u32 current_offset_adt
u32 current_offset_rs
u32 initialized
u8 ADT_done
u32 PID
GF_List * mpe_holes

◆ _sock_entry

struct _sock_entry
Data Fields
u32 ipv4_addr
u16 port
GF_Socket * sock
Bool bind_failure

◆ tag_m2ts_section_mpe

struct tag_m2ts_section_mpe
+ Collaboration diagram for tag_m2ts_section_mpe:
Data Fields
ABSTRACT_ES GF_M2TS_SectionFilter * sec
GF_M2TS_IP_Stream * ip_platform
MPE_FEC_FRAME * mff

Macro Definition Documentation

◆ MPE_ADT_COLS

#define MPE_ADT_COLS   191

◆ MPE_RS_COLS

#define MPE_RS_COLS   NPAR

Enumeration Type Documentation

◆ DTAG_SCOPE

enum DTAG_SCOPE
Enumerator
MPEG 
DVB_SI 
DSMCC_STREAM 
DSMCC_CAROUSEL 
DSMCC_INT_UNT 
MHP_AIT 
TVA_RNT 

Function Documentation

◆ gf_m2ts_process_int()

void gf_m2ts_process_int ( GF_M2TS_Demuxer ts,
GF_M2TS_SECTION_ES *  ip_table,
u8 data,
u32  data_size,
u32  table_id 
)

◆ section_DSMCC_INT()

void section_DSMCC_INT ( GF_M2TS_IP_PLATFORM ip_platform,
u8 data,
u32  data_size 
)

◆ platform_descriptorDSMCC_INT_UNT()

u32 platform_descriptorDSMCC_INT_UNT ( GF_M2TS_IP_PLATFORM ip_platform,
u8 data 
)

◆ dsmcc_pto_platform_descriptor_loop()

u32 dsmcc_pto_platform_descriptor_loop ( GF_M2TS_IP_PLATFORM ip_platform,
u8 data 
)

◆ descriptorDSMCC_INT_UNT()

u32 descriptorDSMCC_INT_UNT ( GF_M2TS_IP_Stream ip_str,
u8 data 
)

◆ descriptorDSMCC_target_IP_address()

void descriptorDSMCC_target_IP_address ( GF_M2TS_IP_Stream ip_str,
u8 data 
)

◆ dsmcc_pto_descriptor_loop()

u32 dsmcc_pto_descriptor_loop ( GF_M2TS_IP_Stream ip_str,
u8 data 
)

◆ descriptorTime_slice_fec_identifier()

void descriptorTime_slice_fec_identifier ( GF_M2TS_IP_Stream ip_str,
u8 data 
)

◆ gf_m2ts_target_ip()

void gf_m2ts_target_ip ( GF_M2TS_IP_Stream ip_str,
u8 data 
)

◆ descriptorLocation()

void descriptorLocation ( GF_M2TS_IP_Stream ip_str,
u8 data 
)

◆ gf_ip_platform_descriptor()

void gf_ip_platform_descriptor ( GF_M2TS_IP_PLATFORM ip_platform,
u8 data 
)

◆ gf_ip_platform_provider_descriptor()

void gf_ip_platform_provider_descriptor ( GF_M2TS_IP_PLATFORM ip_platform,
u8 data 
)

◆ gf_m2ts_ip_platform_init()

void gf_m2ts_ip_platform_init ( GF_M2TS_IP_PLATFORM ip_platform)

◆ gf_m2ts_ipdatagram_reader()

u32 gf_m2ts_ipdatagram_reader ( u8 datagram,
GF_M2TS_IP_Packet ip_packet,
u32  offset 
)

◆ gf_m2ts_process_ipdatagram()

void gf_m2ts_process_ipdatagram ( MPE_FEC_FRAME mff,
GF_M2TS_Demuxer ts 
)

◆ gf_m2ts_compare_ip()

Bool gf_m2ts_compare_ip ( u8  rx_ip_address[4],
u8  ip_address_bootstrap[4] 
)

◆ gf_m2ts_process_mpe()

void gf_m2ts_process_mpe ( GF_M2TS_Demuxer ts,
GF_M2TS_SECTION_MPE *  mpe,
u8 data,
u32  data_size,
u8  table_id 
)

◆ gf_m2ts_gather_ipdatagram_information()

void gf_m2ts_gather_ipdatagram_information ( MPE_FEC_FRAME mff,
GF_M2TS_Demuxer ts 
)

◆ socket_simu()

void socket_simu ( GF_M2TS_IP_Packet ip_packet,
GF_M2TS_Demuxer ts,
Bool  yield 
)

◆ gf_m2ts_mpe_send_datagram()

void gf_m2ts_mpe_send_datagram ( GF_M2TS_Demuxer ts,
u32  pid,
u8 data,
u32  data_size 
)

◆ init_frame()

u32 init_frame ( MPE_FEC_FRAME mff,
u32  rows 
)

◆ getRowFromADT()

void getRowFromADT ( MPE_FEC_FRAME mff,
u32  index,
u8 adt_row 
)

◆ getRowFromRS()

void getRowFromRS ( MPE_FEC_FRAME mff,
u32  index,
u8 rs_row 
)

◆ setRowRS()

void setRowRS ( MPE_FEC_FRAME mff,
u32  index,
u8 p_rs 
)

◆ getErrorPositions()

void getErrorPositions ( MPE_FEC_FRAME mff,
u32  row,
u32 errPositions 
)

◆ setColRS()

void setColRS ( MPE_FEC_FRAME mff,
u32  offset,
u8 pds,
u32  length 
)

◆ getColRS()

void getColRS ( MPE_FEC_FRAME mff,
u32  offset,
u8 pds,
u32  length 
)

◆ setIpDatagram()

void setIpDatagram ( MPE_FEC_FRAME mff,
u32  offset,
u8 dgram,
u32  length 
)

◆ setErrorIndicator()

void setErrorIndicator ( u32 data,
u32  offset1,
u32  length 
)

◆ resetMFF()

void resetMFF ( MPE_FEC_FRAME mff)

◆ getErrasurePositions()

u32 getErrasurePositions ( MPE_FEC_FRAME mff,
u32  row,
u32 errasures 
)

◆ decode_fec()

void decode_fec ( MPE_FEC_FRAME mff)

◆ descriptor_PRIVATE()

void descriptor_PRIVATE ( u8 b,
DTAG_SCOPE  tag_scope,
GF_List *  descriptors 
)