GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
mpegts.h File Reference
#include <gpac/list.h>
#include <gpac/network.h>
#include <gpac/thread.h>
#include <gpac/internal/odf_dev.h>
#include <time.h>
#include <gpac/esi.h>
+ Include dependency graph for mpegts.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_M2TS_Section
 
struct  GF_M2TS_Table
 
struct  GF_M2TS_SectionFilter
 
struct  GF_M2TS_Program
 
struct  GF_M2TS_ES
 
struct  GF_M2TS_PESHeader
 
struct  GF_M2TS_SECTION_ES
 
struct  GF_M2TS_DVB_Subtitling_Descriptor
 
struct  GF_M2TS_DVB_Teletext_Descriptor
 
struct  GF_M2TS_PES
 
struct  GF_M2TS_SDT
 
struct  GF_M2TS_NIT
 
struct  GF_M2TS_TDT_TOT
 
struct  GF_M2TS_DVB_Content_Descriptor
 
struct  GF_M2TS_DVB_Rating_Descriptor
 
struct  GF_M2TS_DVB_Short_Event_Descriptor
 
struct  GF_M2TS_DVB_Extended_Event_Item
 
struct  GF_M2TS_DVB_Extended_Event_Descriptor
 
struct  GF_M2TS_DateTime_Event
 
struct  GF_M2TS_Component
 
struct  GF_M2TS_EIT_Event
 
struct  GF_M2TS_EIT
 
struct  GF_M2TS_PES_PCK
 
struct  GF_M2TS_SL_PCK
 
struct  GF_M2TS_Demuxer
 
struct  GF_M2TS_Header
 
struct  GF_M2TS_AdaptationField
 
struct  GF_M2TS_Mux_Section
 
struct  GF_M2TS_Mux_Table
 
struct  GF_M2TS_Time
 
struct  GF_M2TS_Packet
 
struct  GF_M2TS_Mux_Stream
 
struct  GF_M2TSDescriptor
 
struct  GF_M2TS_Mux_Program
 
struct  GF_M2TS_Mux
 

Macros

#define SECTION_HEADER_LENGTH   3 /* header till the last bit of the section_length field */
 
#define SECTION_ADDITIONAL_HEADER_LENGTH   5 /* header from the last bit of the section_length field to the payload */
 
#define CRC_LENGTH   4
 
#define GF_M2TS_MAX_STREAMS   8192
 
#define GF_M2TS_MAX_SERVICES   65535
 
#define UDP_BUFFER_SIZE   0x40000
 
#define ABSTRACT_ES
 
#define GF_M2TS_BASE_DESCRIPTOR   u32 tag;
 
#define GF_M2TS_PSI_DEFAULT_REFRESH_RATE   200
 
#define UDP_BUFFER_SIZE   0x40000
 

Typedefs

typedef void(* gf_m2ts_section_callback )(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES *es, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8 last_section_number, u32 status)
 

Enumerations

enum  {
  GF_M2TS_VIDEO_STREAM_DESCRIPTOR = 0x02, GF_M2TS_AUDIO_STREAM_DESCRIPTOR = 0x03, GF_M2TS_HIERARCHY_DESCRIPTOR = 0x04, GF_M2TS_REGISTRATION_DESCRIPTOR = 0x05,
  GF_M2TS_DATA_STREAM_ALIGNEMENT_DESCRIPTOR = 0x06, GF_M2TS_TARGET_BACKGROUND_GRID_DESCRIPTOR = 0x07, GF_M2TS_VIEW_WINDOW_DESCRIPTOR = 0x08, GF_M2TS_CA_DESCRIPTOR = 0x09,
  GF_M2TS_ISO_639_LANGUAGE_DESCRIPTOR = 0x0A, GF_M2TS_DVB_IP_MAC_PLATFORM_NAME_DESCRIPTOR = 0x0C, GF_M2TS_DVB_IP_MAC_PLATFORM_PROVIDER_NAME_DESCRIPTOR = 0x0D, GF_M2TS_DVB_TARGET_IP_SLASH_DESCRIPTOR = 0x0F,
  GF_M2TS_DVB_STREAM_LOCATION_DESCRIPTOR =0x13, GF_M2TS_STD_DESCRIPTOR = 0x17, GF_M2TS_MPEG4_VIDEO_DESCRIPTOR = 0x1B, GF_M2TS_MPEG4_AUDIO_DESCRIPTOR = 0x1C,
  GF_M2TS_MPEG4_IOD_DESCRIPTOR = 0x1D, GF_M2TS_MPEG4_SL_DESCRIPTOR = 0x1E, GF_M2TS_MPEG4_FMC_DESCRIPTOR = 0x1F, GF_M2TS_AVC_VIDEO_DESCRIPTOR = 0x28,
  GF_M2TS_AVC_TIMING_HRD_DESCRIPTOR = 0x2A, GF_M2TS_SVC_EXTENSION_DESCRIPTOR = 0x30, GF_M2TS_MPEG4_ODUPDATE_DESCRIPTOR = 0x35, GF_M2TS_DVB_NETWORK_NAME_DESCRIPTOR = 0x40,
  GF_M2TS_DVB_SERVICE_LIST_DESCRIPTOR = 0x41, GF_M2TS_DVB_STUFFING_DESCRIPTOR = 0x42, GF_M2TS_DVB_SAT_DELIVERY_SYSTEM_DESCRIPTOR = 0x43, GF_M2TS_DVB_CABLE_DELIVERY_SYSTEM_DESCRIPTOR = 0x44,
  GF_M2TS_DVB_VBI_DATA_DESCRIPTOR = 0x45, GF_M2TS_DVB_VBI_TELETEXT_DESCRIPTOR = 0x46, GF_M2TS_DVB_BOUQUET_NAME_DESCRIPTOR = 0x47, GF_M2TS_DVB_SERVICE_DESCRIPTOR = 0x48,
  GF_M2TS_DVB_COUNTRY_AVAILABILITY_DESCRIPTOR = 0x49, GF_M2TS_DVB_LINKAGE_DESCRIPTOR = 0x4A, GF_M2TS_DVB_NVOD_REFERENCE_DESCRIPTOR = 0x4B, GF_M2TS_DVB_TIME_SHIFTED_SERVICE_DESCRIPTOR = 0x4C,
  GF_M2TS_DVB_SHORT_EVENT_DESCRIPTOR = 0x4D, GF_M2TS_DVB_EXTENDED_EVENT_DESCRIPTOR = 0x4E, GF_M2TS_DVB_TIME_SHIFTED_EVENT_DESCRIPTOR = 0x4F, GF_M2TS_DVB_COMPONENT_DESCRIPTOR = 0x50,
  GF_M2TS_DVB_MOSAIC_DESCRIPTOR = 0x51, GF_M2TS_DVB_STREAM_IDENTIFIER_DESCRIPTOR = 0x52, GF_M2TS_DVB_CA_IDENTIFIER_DESCRIPTOR = 0x53, GF_M2TS_DVB_CONTENT_DESCRIPTOR = 0x54,
  GF_M2TS_DVB_PARENTAL_RATING_DESCRIPTOR = 0x55, GF_M2TS_DVB_TELETEXT_DESCRIPTOR = 0x56, GF_M2TS_DVB_LOCAL_TIME_OFFSET_DESCRIPTOR = 0x58, GF_M2TS_DVB_SUBTITLING_DESCRIPTOR = 0x59,
  GF_M2TS_DVB_PRIVATE_DATA_SPECIFIER_DESCRIPTOR = 0x5F, GF_M2TS_DVB_DATA_BROADCAST_DESCRIPTOR = 0x64, GF_M2TS_DVB_DATA_BROADCAST_ID_DESCRIPTOR = 0x66, GF_M2TS_DVB_AC3_DESCRIPTOR = 0x6A,
  GF_M2TS_DVB_TIME_SLICE_FEC_DESCRIPTOR = 0x77, GF_M2TS_DVB_EAC3_DESCRIPTOR = 0x7A, GF_M2TS_DVB_LOGICAL_CHANNEL_DESCRIPTOR = 0x83
}
 
enum  {
  GF_M2TS_PID_PAT = 0x0000, GF_M2TS_PID_CAT = 0x0001, GF_M2TS_PID_TSDT = 0x0002, GF_M2TS_PID_NIT_ST = 0x0010,
  GF_M2TS_PID_SDT_BAT_ST = 0x0011, GF_M2TS_PID_EIT_ST_CIT = 0x0012, GF_M2TS_PID_RST_ST = 0x0013, GF_M2TS_PID_TDT_TOT_ST = 0x0014,
  GF_M2TS_PID_NET_SYNC = 0x0015, GF_M2TS_PID_RNT = 0x0016, GF_M2TS_PID_IN_SIG = 0x001C, GF_M2TS_PID_MEAS = 0x001D,
  GF_M2TS_PID_DIT = 0x001E, GF_M2TS_PID_SIT = 0x001F
}
 
enum  {
  GF_M2TS_TABLE_ID_PAT = 0x00, GF_M2TS_TABLE_ID_CAT = 0x01, GF_M2TS_TABLE_ID_PMT = 0x02, GF_M2TS_TABLE_ID_TSDT = 0x03,
  GF_M2TS_TABLE_ID_MPEG4_BIFS = 0x04, GF_M2TS_TABLE_ID_MPEG4_OD = 0x05, GF_M2TS_TABLE_ID_METADATA = 0x06, GF_M2TS_TABLE_ID_IPMP_CONTROL = 0x07,
  GF_M2TS_TABLE_ID_DSM_CC_ENCAPSULATED_DATA = 0x3A, GF_M2TS_TABLE_ID_DSM_CC_UN_MESSAGE = 0x3B, GF_M2TS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGE = 0x3C, GF_M2TS_TABLE_ID_DSM_CC_STREAM_DESCRIPTION = 0x3D,
  GF_M2TS_TABLE_ID_DSM_CC_PRIVATE = 0x3E, GF_M2TS_TABLE_ID_NIT_ACTUAL = 0x40, GF_M2TS_TABLE_ID_NIT_OTHER = 0x41, GF_M2TS_TABLE_ID_SDT_ACTUAL = 0x42,
  GF_M2TS_TABLE_ID_SDT_OTHER = 0x46, GF_M2TS_TABLE_ID_BAT = 0x4a, GF_M2TS_TABLE_ID_INT = 0x4c, GF_M2TS_TABLE_ID_EIT_ACTUAL_PF = 0x4E,
  GF_M2TS_TABLE_ID_EIT_OTHER_PF = 0x4F, GF_M2TS_TABLE_ID_EIT_SCHEDULE_MIN = 0x50, GF_M2TS_TABLE_ID_EIT_SCHEDULE_ACTUAL_MAX = 0x5F, GF_M2TS_TABLE_ID_EIT_SCHEDULE_MAX = 0x6F,
  GF_M2TS_TABLE_ID_TDT = 0x70, GF_M2TS_TABLE_ID_RST = 0x71, GF_M2TS_TABLE_ID_ST = 0x72, GF_M2TS_TABLE_ID_TOT = 0x73,
  GF_M2TS_TABLE_ID_AIT = 0x74, GF_M2TS_TABLE_ID_CONT = 0x75, GF_M2TS_TABLE_ID_RC = 0x76, GF_M2TS_TABLE_ID_CID = 0x77,
  GF_M2TS_TABLE_ID_MPE_FEC = 0x78, GF_M2TS_TABLE_ID_RES_NOT = 0x79, GF_M2TS_TABLE_ID_DIT = 0x7E, GF_M2TS_TABLE_ID_SIT = 0x7F
}
 
enum  {
  GF_M2TS_VIDEO_MPEG1 = 0x01, GF_M2TS_VIDEO_MPEG2 = 0x02, GF_M2TS_AUDIO_MPEG1 = 0x03, GF_M2TS_AUDIO_MPEG2 = 0x04,
  GF_M2TS_PRIVATE_SECTION = 0x05, GF_M2TS_PRIVATE_DATA = 0x06, GF_M2TS_MHEG = 0x07, GF_M2TS_13818_1_DSMCC = 0x08,
  GF_M2TS_H222_1 = 0x09, GF_M2TS_13818_6_ANNEX_A = 0x0A, GF_M2TS_13818_6_ANNEX_B = 0x0B, GF_M2TS_13818_6_ANNEX_C = 0x0C,
  GF_M2TS_13818_6_ANNEX_D = 0x0D, GF_M2TS_13818_1_AUXILIARY = 0x0E, GF_M2TS_AUDIO_AAC = 0x0F, GF_M2TS_VIDEO_MPEG4 = 0x10,
  GF_M2TS_AUDIO_LATM_AAC = 0x11, GF_M2TS_SYSTEMS_MPEG4_PES = 0x12, GF_M2TS_SYSTEMS_MPEG4_SECTIONS = 0x13, GF_M2TS_VIDEO_H264 = 0x1B,
  GF_M2TS_VIDEO_SVC = 0x1F, GF_M2TS_VIDEO_HEVC = 0x24, GF_M2TS_VIDEO_SHVC = 0x27, GF_M2TS_VIDEO_DCII = 0x80,
  GF_M2TS_AUDIO_AC3 = 0x81, GF_M2TS_AUDIO_DTS = 0x8A, GF_M2TS_MPE_SECTIONS = 0x90, GF_M2TS_SUBTITLE_DVB = 0x100,
  GF_M2TS_AUDIO_EC3 = 0x150, GF_M2TS_VIDEO_VC1 = 0x151, GF_M2TS_DVB_TELETEXT = 0x152, GF_M2TS_DVB_VBI = 0x153,
  GF_M2TS_DVB_SUBTITLE = 0x154
}
 
enum  { GF_M2TS_PES_FRAMING_DEFAULT, GF_M2TS_PES_FRAMING_RAW, GF_M2TS_PES_FRAMING_SKIP, GF_M2TS_PES_FRAMING_SKIP_NO_RESET }
 
enum  {
  GF_M2TS_PES_PCK_RAP = 1, GF_M2TS_PES_PCK_AU_START = 1<<1, GF_M2TS_PES_PCK_I_FRAME = 1<<2, GF_M2TS_PES_PCK_P_FRAME = 1<<3,
  GF_M2TS_PES_PCK_B_FRAME = 1<<4, GF_M2TS_PES_PCK_DISCONTINUITY = 1<<5
}
 
enum  {
  GF_M2TS_EVT_PAT_FOUND = 0, GF_M2TS_EVT_PAT_UPDATE, GF_M2TS_EVT_PAT_REPEAT, GF_M2TS_EVT_PMT_FOUND,
  GF_M2TS_EVT_PMT_REPEAT, GF_M2TS_EVT_PMT_UPDATE, GF_M2TS_EVT_SDT_FOUND, GF_M2TS_EVT_SDT_REPEAT,
  GF_M2TS_EVT_SDT_UPDATE, GF_M2TS_EVT_INT_FOUND, GF_M2TS_EVT_INT_REPEAT, GF_M2TS_EVT_INT_UPDATE,
  GF_M2TS_EVT_PES_PCK, GF_M2TS_EVT_PES_PCR, GF_M2TS_EVT_PES_TIMING, GF_M2TS_EVT_SL_PCK,
  GF_M2TS_EVT_IP_DATAGRAM, GF_M2TS_EVT_AAC_CFG, GF_M2TS_EVT_TDT, GF_M2TS_EVT_TOT,
  GF_M2TS_EVT_DVB_GENERAL, GF_M2TS_EVT_DVB_MPE, GF_M2TS_EVT_CAT_FOUND, GF_M2TS_EVT_CAT_REPEAT,
  GF_M2TS_EVT_CAT_UPDATE, GF_M2TS_EVT_AIT_FOUND, GF_M2TS_EVT_DSMCC_FOUND, GF_M2TS_EVT_EOS
}
 
enum  {
  GF_M2TS_TABLE_START = 1, GF_M2TS_TABLE_END = 1<<1, GF_M2TS_TABLE_FOUND = 1<<2, GF_M2TS_TABLE_UPDATE = 1<<3,
  GF_M2TS_TABLE_REPEAT = 1<<4
}
 
enum  {
  GF_M2TS_ES_IS_PES = 1, GF_M2TS_ES_IS_SECTION = 1<<1, GF_M2TS_ES_IS_FMC = 1<<2, GF_M2TS_ES_IS_SL = 1<<3,
  GF_M2TS_ES_IS_MPEG4_OD = 1<<4, GF_M2TS_ES_IS_MPE = 1<<5, GF_M2TS_INHERIT_PCR = 1<<6, GF_M2TS_ES_STATIC_FLAGS_MASK = 0x0000FFFF,
  GF_M2TS_ES_SEND_REPEATED_SECTIONS = 1<<16, GF_M2TS_ES_FIRST_DTS = 1<<17, GF_M2TS_ES_IGNORE_NEXT_DISCONTINUITY = 1<<18
}
 
enum  { GF_M2TS_ADAPTATION_RESERVED = 0, GF_M2TS_ADAPTATION_NONE = 1, GF_M2TS_ADAPTATION_ONLY = 2, GF_M2TS_ADAPTATION_AND_PAYLOAD = 3 }
 
enum  { GF_M2TS_MPEG4_SIGNALING_NONE = 0, GF_M2TS_MPEG4_SIGNALING_FULL, GF_M2TS_MPEG4_SIGNALING_SCENE }
 
enum  {
  GF_SEG_BOUNDARY_NONE =0, GF_SEG_BOUNDARY_START, GF_SEG_BOUNDARY_FORCE_PAT, GF_SEG_BOUNDARY_FORCE_PMT,
  GF_SEG_BOUNDARY_FORCE_PCR
}
 
enum  { GF_M2TS_STATE_IDLE, GF_M2TS_STATE_DATA, GF_M2TS_STATE_PADDING, GF_M2TS_STATE_EOS }
 

Functions

const char * gf_m2ts_get_stream_name (u32 streamType)
 
Bool gf_m2ts_probe_file (const char *fileName)
 
GF_Err gf_m2ts_restamp (char *buffer, u32 size, s64 ts_shift, u8 *is_pes)
 
GF_M2TS_Demuxer * gf_m2ts_demux_new ()
 
void gf_m2ts_demux_del (GF_M2TS_Demuxer *ts)
 
void gf_m2ts_reset_parsers (GF_M2TS_Demuxer *ts)
 
GF_ESDgf_m2ts_get_esd (GF_M2TS_ES *es)
 
GF_Err gf_m2ts_set_pes_framing (GF_M2TS_PES *pes, u32 mode)
 
void gf_m2ts_es_del (GF_M2TS_ES *es, GF_M2TS_Demuxer *ts)
 
GF_Err gf_m2ts_process_data (GF_M2TS_Demuxer *ts, char *data, u32 data_size)
 
u32 gf_dvb_get_freq_from_url (const char *channels_config_path, const char *url)
 
void gf_m2ts_demux_dmscc_init (GF_M2TS_Demuxer *ts)
 
Bool gf_m2ts_crc32_check (char *data, u32 len)
 
void gf_m2ts_print_info (GF_M2TS_Demuxer *ts)
 
GF_Err gf_m2ts_demux_file (GF_M2TS_Demuxer *ts, const char *fileName, u64 start_byterange, u64 end_byterange, u32 refresh_type, Bool signal_end_of_stream)
 
GF_M2TS_Mux * gf_m2ts_mux_new (u32 mux_rate, u32 pat_refresh_rate, Bool real_time)
 
void gf_m2ts_mux_del (GF_M2TS_Mux *mux)
 
GF_M2TS_Mux_Program * gf_m2ts_mux_program_add (GF_M2TS_Mux *muxer, u32 program_number, u32 pmt_pid, u32 pmt_refresh_rate, u32 pcr_offset, Bool mpeg4_signaling)
 
GF_M2TS_Mux_Streamgf_m2ts_program_stream_add (GF_M2TS_Mux_Program *program, GF_ESInterface *ifce, u32 pid, Bool is_pcr, Bool force_pes_mode)
 
void gf_m2ts_mux_update_config (GF_M2TS_Mux *mux, Bool reset_time)
 
void gf_m2ts_mux_update_bitrate (GF_M2TS_Mux *mux)
 
const char * gf_m2ts_mux_process (GF_M2TS_Mux *muxer, u32 *status, u32 *usec_till_next)
 
u32 gf_m2ts_get_sys_clock (GF_M2TS_Mux *muxer)
 
u32 gf_m2ts_get_ts_clock (GF_M2TS_Mux *muxer)
 
GF_Err gf_m2ts_mux_use_single_au_pes_mode (GF_M2TS_Mux *muxer, Bool strict_au_pes_mode)
 
GF_Err gf_m2ts_mux_set_initial_pcr (GF_M2TS_Mux *muxer, u64 init_pcr_value)
 
GF_Err gf_m2ts_program_stream_update_ts_scale (GF_ESInterface *_self, u32 time_scale)
 
GF_Err gf_m2ts_demuxer_setup (GF_M2TS_Demuxer *ts, const char *url, Bool loop)
 
GF_Err gf_m2ts_demuxer_play (GF_M2TS_Demuxer *ts)
 
GF_Err gf_m2ts_demuxer_close (GF_M2TS_Demuxer *ts)
 
GF_Err gf_m2ts_get_socket (const char *url, const char *mcast_ifce_or_mobileip, u32 buf_size, GF_Socket **out_socket)
 

Data Structure Documentation

struct GF_M2TS_Section
+ Collaboration diagram for GF_M2TS_Section:
Data Fields
unsigned char * data
u32 data_size
struct GF_M2TS_Table
+ Collaboration diagram for GF_M2TS_Table:
Data Fields
struct __m2ts_demux_table * next
u8 is_init
u8 is_repeat
u8 table_id
u16 ex_table_id
u8 version_number
u8 last_version_number
u8 current_next_indicator
u8 section_number
u8 last_section_number
GF_List * sections
struct GF_M2TS_SectionFilter
+ Collaboration diagram for GF_M2TS_SectionFilter:
Data Fields
s16 cc
char * section
u16 length
u16 received
GF_M2TS_Table * table
Bool process_individual
Bool direct_dispatch
u32 service_id
gf_m2ts_section_callback process_section
struct GF_M2TS_Program
+ Collaboration diagram for GF_M2TS_Program:
Data Fields
GF_List * streams
u32 pmt_pid
u32 pcr_pid
u32 number
GF_InitialObjectDescriptor * pmt_iod
GF_List * additional_ods
u64 first_dts
u64 last_pcr_value
u32 last_pcr_value_pck_number
u64 before_last_pcr_value
u32 before_last_pcr_value_pck_number
Bool tdt_found
u32 pid_playing
Bool is_scalable
struct tag_m2ts_es
+ Collaboration diagram for GF_M2TS_ES:
Data Fields
GF_M2TS_Program * program
u32 flags
u32 pid
u32 stream_type
u32 mpeg4_es_id
GF_SLConfig * slcfg
s16 component_tag
void * user
u64 first_dts
u32 service_id
struct GF_M2TS_PESHeader
+ Collaboration diagram for GF_M2TS_PESHeader:
Data Fields
u8 id
u16 pck_len
u8 data_alignment
u64 PTS
u64 DTS
u8 hdr_data_len
struct tag_m2ts_section_es
+ Collaboration diagram for GF_M2TS_SECTION_ES:
Data Fields
GF_M2TS_Program * program
u32 flags
u32 pid
u32 stream_type
u32 mpeg4_es_id
GF_SLConfig * slcfg
s16 component_tag
void * user
u64 first_dts
u32 service_id
GF_M2TS_SectionFilter * sec
struct GF_M2TS_DVB_Subtitling_Descriptor
+ Collaboration diagram for GF_M2TS_DVB_Subtitling_Descriptor:
Data Fields
char language[3]
u8 type
u16 composition_page_id
u16 ancillary_page_id
struct GF_M2TS_DVB_Teletext_Descriptor
+ Collaboration diagram for GF_M2TS_DVB_Teletext_Descriptor:
Data Fields
char language[3]
u8 type
u8 magazine_number
u8 page_number
struct GF_M2TS_SDT
+ Collaboration diagram for GF_M2TS_SDT:
Data Fields
u16 original_network_id
u16 transport_stream_id
u32 service_id
u32 EIT_schedule
u32 EIT_present_following
u32 running_status
u32 free_CA_mode
u8 service_type
char * provider
char * service
struct GF_M2TS_NIT
+ Collaboration diagram for GF_M2TS_NIT:
Data Fields
u16 network_id
unsigned char * network_name
u16 original_network_id
u16 transport_stream_id
u16 service_id
u32 service_type
u32 logical_channel_number
struct GF_M2TS_TDT_TOT
+ Collaboration diagram for GF_M2TS_TDT_TOT:
Data Fields
u16 year
u8 month
u8 day
u8 hour
u8 minute
u8 second
struct GF_M2TS_DVB_Content_Descriptor
+ Collaboration diagram for GF_M2TS_DVB_Content_Descriptor:
Data Fields
u8 content_nibble_level_1
u8 content_nibble_level_2
u8 user_nibble
struct GF_M2TS_DVB_Rating_Descriptor
+ Collaboration diagram for GF_M2TS_DVB_Rating_Descriptor:
Data Fields
char country_code[3]
u8 value
struct GF_M2TS_DVB_Short_Event_Descriptor
+ Collaboration diagram for GF_M2TS_DVB_Short_Event_Descriptor:
Data Fields
unsigned char lang[3]
unsigned char * event_name
unsigned char * event_text
struct GF_M2TS_DVB_Extended_Event_Item
+ Collaboration diagram for GF_M2TS_DVB_Extended_Event_Item:
Data Fields
unsigned char * item
unsigned char * description
struct GF_M2TS_DVB_Extended_Event_Descriptor
+ Collaboration diagram for GF_M2TS_DVB_Extended_Event_Descriptor:
Data Fields
unsigned char lang[3]
u32 last
GF_List * items
unsigned char * text
struct GF_M2TS_DateTime_Event
+ Collaboration diagram for GF_M2TS_DateTime_Event:
Data Fields
time_t unix_time
char country_code[3]
u8 country_region_id
s32 local_time_offset_seconds
time_t unix_next_toc
s32 next_time_offset_seconds
struct GF_M2TS_Component
+ Collaboration diagram for GF_M2TS_Component:
Data Fields
u8 stream_content
u8 component_type
u8 component_tag
char language_code[3]
unsigned char * text
struct GF_M2TS_EIT_Event
+ Collaboration diagram for GF_M2TS_EIT_Event:
Data Fields
u16 event_id
time_t unix_start
time_t unix_duration
u8 running_status
u8 free_CA_mode
GF_List * short_events
GF_List * extended_events
GF_List * components
GF_List * contents
GF_List * ratings
struct GF_M2TS_EIT
+ Collaboration diagram for GF_M2TS_EIT:
Data Fields
u32 original_network_id
u32 transport_stream_id
u16 service_id
GF_List * events
u8 table_id
struct GF_M2TS_PES_PCK
+ Collaboration diagram for GF_M2TS_PES_PCK:
Data Fields
char * data
u32 data_len
u32 flags
u64 PTS
u64 DTS
GF_M2TS_PES * stream
struct GF_M2TS_SL_PCK
+ Collaboration diagram for GF_M2TS_SL_PCK:
Data Fields
char * data
u32 data_len
u8 version_number
GF_M2TS_ES * stream
struct GF_M2TS_Header
+ Collaboration diagram for GF_M2TS_Header:
Data Fields
u8 sync
u8 error
u8 payload_start
u8 priority
u16 pid
u8 scrambling_ctrl
u8 adaptation_field
u8 continuity_counter
struct GF_M2TS_AdaptationField
+ Collaboration diagram for GF_M2TS_AdaptationField:
Data Fields
u32 discontinuity_indicator
u32 random_access_indicator
u32 priority_indicator
u32 PCR_flag
u64 PCR_base
u64 PCR_ext
u32 OPCR_flag
u64 OPCR_base
u64 OPCR_ext
u32 splicing_point_flag
u32 transport_private_data_flag
u32 adaptation_field_extension_flag
struct GF_M2TS_Mux_Section
+ Collaboration diagram for GF_M2TS_Mux_Section:
Data Fields
struct __m2ts_section * next
u8 * data
u32 length
struct GF_M2TS_Mux_Table
+ Collaboration diagram for GF_M2TS_Mux_Table:
Data Fields
struct __m2ts_table * next
u8 table_id
u8 version_number
struct __m2ts_section * section
struct GF_M2TS_Time
+ Collaboration diagram for GF_M2TS_Time:
Data Fields
u32 sec
u32 nanosec
struct GF_M2TS_Packet
+ Collaboration diagram for GF_M2TS_Packet:
Data Fields
struct __m2ts_mux_pck * next
char * data
u32 data_len
u32 flags
u64 cts
u64 dts
struct GF_M2TSDescriptor
+ Collaboration diagram for GF_M2TSDescriptor:
Data Fields
u8 tag
u8 data_len
char * data
struct __m2ts_mux_program
+ Collaboration diagram for GF_M2TS_Mux_Program:
Data Fields
struct __m2ts_mux_program * next
struct __m2ts_mux * mux
u16 number
GF_M2TS_Mux_Stream * streams
GF_M2TS_Mux_Stream * pmt
GF_M2TS_Mux_Stream * pcr
GF_M2TS_Time ts_time_at_pcr_init
u64 pcr_init_time
u64 num_pck_at_pcr_init
u64 last_pcr
u64 last_dts
u32 last_sys_clock
u64 initial_ts
Bool initial_ts_set
u32 pcr_offset
GF_Descriptor * iod
GF_List * loop_descriptors
u32 mpeg4_signaling
Bool mpeg4_signaling_for_scene_only
struct __m2ts_mux
+ Collaboration diagram for GF_M2TS_Mux:
Data Fields
GF_M2TS_Mux_Program * programs
GF_M2TS_Mux_Stream * pat
u16 ts_id
Bool needs_reconfig
Bool real_time
Bool fixed_rate
u32 bit_rate
u64 init_pcr_value
char dst_pck[188]
char null_pck[188]
GF_M2TS_Time time
GF_M2TS_Time init_ts_time
u32 init_sys_time
Bool force_pat
Bool one_au_per_pes
Bool eos_found
u32 pck_sent_over_br_window
u32 last_br_time
u64 tot_pck_sent
u64 tot_pad_sent
u64 tot_pes_pad_bytes
u32 average_birate_kbps
Bool flush_pes_at_rap
u32 force_pat_pmt_state

Macro Definition Documentation

#define SECTION_HEADER_LENGTH   3 /* header till the last bit of the section_length field */
#define SECTION_ADDITIONAL_HEADER_LENGTH   5 /* header from the last bit of the section_length field to the payload */
#define CRC_LENGTH   4
#define GF_M2TS_MAX_STREAMS   8192
#define GF_M2TS_MAX_SERVICES   65535
#define UDP_BUFFER_SIZE   0x40000
#define ABSTRACT_ES
Value:
GF_M2TS_Program *program; \
u32 flags; \
u32 pid; \
u32 stream_type; \
u32 mpeg4_es_id; \
GF_SLConfig *slcfg; \
s16 component_tag; \
void *user; \
u64 first_dts; \
u32 service_id;
int16_t s16
Definition: setup.h:251
Definition: mpegts.h:443
uint32_t u32
Definition: setup.h:246
uint64_t u64
Definition: setup.h:245
GF_User user
Definition: mp4client/main.c:80
#define GF_M2TS_BASE_DESCRIPTOR   u32 tag;
#define GF_M2TS_PSI_DEFAULT_REFRESH_RATE   200
#define UDP_BUFFER_SIZE   0x40000

Typedef Documentation

typedef void(* gf_m2ts_section_callback)(GF_M2TS_Demuxer *ts, GF_M2TS_SECTION_ES *es, GF_List *sections, u8 table_id, u16 ex_table_id, u8 version_number, u8 last_section_number, u32 status)

Enumeration Type Documentation

anonymous enum
Enumerator
GF_M2TS_VIDEO_STREAM_DESCRIPTOR 
GF_M2TS_AUDIO_STREAM_DESCRIPTOR 
GF_M2TS_HIERARCHY_DESCRIPTOR 
GF_M2TS_REGISTRATION_DESCRIPTOR 
GF_M2TS_DATA_STREAM_ALIGNEMENT_DESCRIPTOR 
GF_M2TS_TARGET_BACKGROUND_GRID_DESCRIPTOR 
GF_M2TS_VIEW_WINDOW_DESCRIPTOR 
GF_M2TS_CA_DESCRIPTOR 
GF_M2TS_ISO_639_LANGUAGE_DESCRIPTOR 
GF_M2TS_DVB_IP_MAC_PLATFORM_NAME_DESCRIPTOR 
GF_M2TS_DVB_IP_MAC_PLATFORM_PROVIDER_NAME_DESCRIPTOR 
GF_M2TS_DVB_TARGET_IP_SLASH_DESCRIPTOR 
GF_M2TS_DVB_STREAM_LOCATION_DESCRIPTOR 
GF_M2TS_STD_DESCRIPTOR 
GF_M2TS_MPEG4_VIDEO_DESCRIPTOR 
GF_M2TS_MPEG4_AUDIO_DESCRIPTOR 
GF_M2TS_MPEG4_IOD_DESCRIPTOR 
GF_M2TS_MPEG4_SL_DESCRIPTOR 
GF_M2TS_MPEG4_FMC_DESCRIPTOR 
GF_M2TS_AVC_VIDEO_DESCRIPTOR 
GF_M2TS_AVC_TIMING_HRD_DESCRIPTOR 
GF_M2TS_SVC_EXTENSION_DESCRIPTOR 
GF_M2TS_MPEG4_ODUPDATE_DESCRIPTOR 
GF_M2TS_DVB_NETWORK_NAME_DESCRIPTOR 
GF_M2TS_DVB_SERVICE_LIST_DESCRIPTOR 
GF_M2TS_DVB_STUFFING_DESCRIPTOR 
GF_M2TS_DVB_SAT_DELIVERY_SYSTEM_DESCRIPTOR 
GF_M2TS_DVB_CABLE_DELIVERY_SYSTEM_DESCRIPTOR 
GF_M2TS_DVB_VBI_DATA_DESCRIPTOR 
GF_M2TS_DVB_VBI_TELETEXT_DESCRIPTOR 
GF_M2TS_DVB_BOUQUET_NAME_DESCRIPTOR 
GF_M2TS_DVB_SERVICE_DESCRIPTOR 
GF_M2TS_DVB_COUNTRY_AVAILABILITY_DESCRIPTOR 
GF_M2TS_DVB_LINKAGE_DESCRIPTOR 
GF_M2TS_DVB_NVOD_REFERENCE_DESCRIPTOR 
GF_M2TS_DVB_TIME_SHIFTED_SERVICE_DESCRIPTOR 
GF_M2TS_DVB_SHORT_EVENT_DESCRIPTOR 
GF_M2TS_DVB_EXTENDED_EVENT_DESCRIPTOR 
GF_M2TS_DVB_TIME_SHIFTED_EVENT_DESCRIPTOR 
GF_M2TS_DVB_COMPONENT_DESCRIPTOR 
GF_M2TS_DVB_MOSAIC_DESCRIPTOR 
GF_M2TS_DVB_STREAM_IDENTIFIER_DESCRIPTOR 
GF_M2TS_DVB_CA_IDENTIFIER_DESCRIPTOR 
GF_M2TS_DVB_CONTENT_DESCRIPTOR 
GF_M2TS_DVB_PARENTAL_RATING_DESCRIPTOR 
GF_M2TS_DVB_TELETEXT_DESCRIPTOR 
GF_M2TS_DVB_LOCAL_TIME_OFFSET_DESCRIPTOR 
GF_M2TS_DVB_SUBTITLING_DESCRIPTOR 
GF_M2TS_DVB_PRIVATE_DATA_SPECIFIER_DESCRIPTOR 
GF_M2TS_DVB_DATA_BROADCAST_DESCRIPTOR 
GF_M2TS_DVB_DATA_BROADCAST_ID_DESCRIPTOR 
GF_M2TS_DVB_AC3_DESCRIPTOR 
GF_M2TS_DVB_TIME_SLICE_FEC_DESCRIPTOR 
GF_M2TS_DVB_EAC3_DESCRIPTOR 
GF_M2TS_DVB_LOGICAL_CHANNEL_DESCRIPTOR 
anonymous enum
Enumerator
GF_M2TS_PID_PAT 
GF_M2TS_PID_CAT 
GF_M2TS_PID_TSDT 
GF_M2TS_PID_NIT_ST 
GF_M2TS_PID_SDT_BAT_ST 
GF_M2TS_PID_EIT_ST_CIT 
GF_M2TS_PID_RST_ST 
GF_M2TS_PID_TDT_TOT_ST 
GF_M2TS_PID_NET_SYNC 
GF_M2TS_PID_RNT 
GF_M2TS_PID_IN_SIG 
GF_M2TS_PID_MEAS 
GF_M2TS_PID_DIT 
GF_M2TS_PID_SIT 
anonymous enum
Enumerator
GF_M2TS_TABLE_ID_PAT 
GF_M2TS_TABLE_ID_CAT 
GF_M2TS_TABLE_ID_PMT 
GF_M2TS_TABLE_ID_TSDT 
GF_M2TS_TABLE_ID_MPEG4_BIFS 
GF_M2TS_TABLE_ID_MPEG4_OD 
GF_M2TS_TABLE_ID_METADATA 
GF_M2TS_TABLE_ID_IPMP_CONTROL 
GF_M2TS_TABLE_ID_DSM_CC_ENCAPSULATED_DATA 
GF_M2TS_TABLE_ID_DSM_CC_UN_MESSAGE 
GF_M2TS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGE 
GF_M2TS_TABLE_ID_DSM_CC_STREAM_DESCRIPTION 
GF_M2TS_TABLE_ID_DSM_CC_PRIVATE 
GF_M2TS_TABLE_ID_NIT_ACTUAL 
GF_M2TS_TABLE_ID_NIT_OTHER 
GF_M2TS_TABLE_ID_SDT_ACTUAL 
GF_M2TS_TABLE_ID_SDT_OTHER 
GF_M2TS_TABLE_ID_BAT 
GF_M2TS_TABLE_ID_INT 
GF_M2TS_TABLE_ID_EIT_ACTUAL_PF 
GF_M2TS_TABLE_ID_EIT_OTHER_PF 
GF_M2TS_TABLE_ID_EIT_SCHEDULE_MIN 
GF_M2TS_TABLE_ID_EIT_SCHEDULE_ACTUAL_MAX 
GF_M2TS_TABLE_ID_EIT_SCHEDULE_MAX 
GF_M2TS_TABLE_ID_TDT 
GF_M2TS_TABLE_ID_RST 
GF_M2TS_TABLE_ID_ST 
GF_M2TS_TABLE_ID_TOT 
GF_M2TS_TABLE_ID_AIT 
GF_M2TS_TABLE_ID_CONT 
GF_M2TS_TABLE_ID_RC 
GF_M2TS_TABLE_ID_CID 
GF_M2TS_TABLE_ID_MPE_FEC 
GF_M2TS_TABLE_ID_RES_NOT 
GF_M2TS_TABLE_ID_DIT 
GF_M2TS_TABLE_ID_SIT 
anonymous enum
Enumerator
GF_M2TS_VIDEO_MPEG1 
GF_M2TS_VIDEO_MPEG2 
GF_M2TS_AUDIO_MPEG1 
GF_M2TS_AUDIO_MPEG2 
GF_M2TS_PRIVATE_SECTION 
GF_M2TS_PRIVATE_DATA 
GF_M2TS_MHEG 
GF_M2TS_13818_1_DSMCC 
GF_M2TS_H222_1 
GF_M2TS_13818_6_ANNEX_A 
GF_M2TS_13818_6_ANNEX_B 
GF_M2TS_13818_6_ANNEX_C 
GF_M2TS_13818_6_ANNEX_D 
GF_M2TS_13818_1_AUXILIARY 
GF_M2TS_AUDIO_AAC 
GF_M2TS_VIDEO_MPEG4 
GF_M2TS_AUDIO_LATM_AAC 
GF_M2TS_SYSTEMS_MPEG4_PES 
GF_M2TS_SYSTEMS_MPEG4_SECTIONS 
GF_M2TS_VIDEO_H264 
GF_M2TS_VIDEO_SVC 
GF_M2TS_VIDEO_HEVC 
GF_M2TS_VIDEO_SHVC 
GF_M2TS_VIDEO_DCII 
GF_M2TS_AUDIO_AC3 
GF_M2TS_AUDIO_DTS 
GF_M2TS_MPE_SECTIONS 
GF_M2TS_SUBTITLE_DVB 
GF_M2TS_AUDIO_EC3 
GF_M2TS_VIDEO_VC1 
GF_M2TS_DVB_TELETEXT 
GF_M2TS_DVB_VBI 
GF_M2TS_DVB_SUBTITLE 
anonymous enum
Enumerator
GF_M2TS_PES_FRAMING_DEFAULT 
GF_M2TS_PES_FRAMING_RAW 
GF_M2TS_PES_FRAMING_SKIP 
GF_M2TS_PES_FRAMING_SKIP_NO_RESET 
anonymous enum
Enumerator
GF_M2TS_PES_PCK_RAP 
GF_M2TS_PES_PCK_AU_START 
GF_M2TS_PES_PCK_I_FRAME 
GF_M2TS_PES_PCK_P_FRAME 
GF_M2TS_PES_PCK_B_FRAME 
GF_M2TS_PES_PCK_DISCONTINUITY 
anonymous enum
Enumerator
GF_M2TS_EVT_PAT_FOUND 
GF_M2TS_EVT_PAT_UPDATE 
GF_M2TS_EVT_PAT_REPEAT 
GF_M2TS_EVT_PMT_FOUND 
GF_M2TS_EVT_PMT_REPEAT 
GF_M2TS_EVT_PMT_UPDATE 
GF_M2TS_EVT_SDT_FOUND 
GF_M2TS_EVT_SDT_REPEAT 
GF_M2TS_EVT_SDT_UPDATE 
GF_M2TS_EVT_INT_FOUND 
GF_M2TS_EVT_INT_REPEAT 
GF_M2TS_EVT_INT_UPDATE 
GF_M2TS_EVT_PES_PCK 
GF_M2TS_EVT_PES_PCR 
GF_M2TS_EVT_PES_TIMING 
GF_M2TS_EVT_SL_PCK 
GF_M2TS_EVT_IP_DATAGRAM 
GF_M2TS_EVT_AAC_CFG 
GF_M2TS_EVT_TDT 
GF_M2TS_EVT_TOT 
GF_M2TS_EVT_DVB_GENERAL 
GF_M2TS_EVT_DVB_MPE 
GF_M2TS_EVT_CAT_FOUND 
GF_M2TS_EVT_CAT_REPEAT 
GF_M2TS_EVT_CAT_UPDATE 
GF_M2TS_EVT_AIT_FOUND 
GF_M2TS_EVT_DSMCC_FOUND 
GF_M2TS_EVT_EOS 
anonymous enum
Enumerator
GF_M2TS_TABLE_START 
GF_M2TS_TABLE_END 
GF_M2TS_TABLE_FOUND 
GF_M2TS_TABLE_UPDATE 
GF_M2TS_TABLE_REPEAT 
anonymous enum
Enumerator
GF_M2TS_ES_IS_PES 
GF_M2TS_ES_IS_SECTION 
GF_M2TS_ES_IS_FMC 
GF_M2TS_ES_IS_SL 
GF_M2TS_ES_IS_MPEG4_OD 
GF_M2TS_ES_IS_MPE 
GF_M2TS_INHERIT_PCR 
GF_M2TS_ES_STATIC_FLAGS_MASK 
GF_M2TS_ES_SEND_REPEATED_SECTIONS 
GF_M2TS_ES_FIRST_DTS 
GF_M2TS_ES_IGNORE_NEXT_DISCONTINUITY 
anonymous enum
Enumerator
GF_M2TS_ADAPTATION_RESERVED 
GF_M2TS_ADAPTATION_NONE 
GF_M2TS_ADAPTATION_ONLY 
GF_M2TS_ADAPTATION_AND_PAYLOAD 
anonymous enum
Enumerator
GF_M2TS_MPEG4_SIGNALING_NONE 
GF_M2TS_MPEG4_SIGNALING_FULL 
GF_M2TS_MPEG4_SIGNALING_SCENE 
anonymous enum
Enumerator
GF_SEG_BOUNDARY_NONE 
GF_SEG_BOUNDARY_START 
GF_SEG_BOUNDARY_FORCE_PAT 
GF_SEG_BOUNDARY_FORCE_PMT 
GF_SEG_BOUNDARY_FORCE_PCR 
anonymous enum
Enumerator
GF_M2TS_STATE_IDLE 
GF_M2TS_STATE_DATA 
GF_M2TS_STATE_PADDING 
GF_M2TS_STATE_EOS 

Function Documentation

const char* gf_m2ts_get_stream_name ( u32  streamType)

+ Here is the caller graph for this function:

Bool gf_m2ts_probe_file ( const char *  fileName)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m2ts_restamp ( char *  buffer,
u32  size,
s64  ts_shift,
u8 is_pes 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_M2TS_Demuxer* gf_m2ts_demux_new ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_m2ts_demux_del ( GF_M2TS_Demuxer *  ts)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_m2ts_reset_parsers ( GF_M2TS_Demuxer *  ts)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_ESD* gf_m2ts_get_esd ( GF_M2TS_ES *  es)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m2ts_set_pes_framing ( GF_M2TS_PES pes,
u32  mode 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_m2ts_es_del ( GF_M2TS_ES *  es,
GF_M2TS_Demuxer *  ts 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m2ts_process_data ( GF_M2TS_Demuxer *  ts,
char *  data,
u32  data_size 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_dvb_get_freq_from_url ( const char *  channels_config_path,
const char *  url 
)

+ Here is the caller graph for this function:

void gf_m2ts_demux_dmscc_init ( GF_M2TS_Demuxer *  ts)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_m2ts_crc32_check ( char *  data,
u32  len 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_m2ts_print_info ( GF_M2TS_Demuxer *  ts)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m2ts_demux_file ( GF_M2TS_Demuxer *  ts,
const char *  fileName,
u64  start_byterange,
u64  end_byterange,
u32  refresh_type,
Bool  signal_end_of_stream 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_M2TS_Mux* gf_m2ts_mux_new ( u32  mux_rate,
u32  pat_refresh_rate,
Bool  real_time 
)

mux_rate en kbps

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_m2ts_mux_del ( GF_M2TS_Mux *  mux)

+ Here is the call graph for this function:

GF_M2TS_Mux_Program* gf_m2ts_mux_program_add ( GF_M2TS_Mux *  muxer,
u32  program_number,
u32  pmt_pid,
u32  pmt_refresh_rate,
u32  pcr_offset,
Bool  mpeg4_signaling 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_M2TS_Mux_Stream* gf_m2ts_program_stream_add ( GF_M2TS_Mux_Program *  program,
GF_ESInterface ifce,
u32  pid,
Bool  is_pcr,
Bool  force_pes_mode 
)

+ Here is the caller graph for this function:

void gf_m2ts_mux_update_config ( GF_M2TS_Mux *  mux,
Bool  reset_time 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_m2ts_mux_update_bitrate ( GF_M2TS_Mux *  mux)

+ Here is the call graph for this function:

const char* gf_m2ts_mux_process ( GF_M2TS_Mux *  muxer,
u32 status,
u32 usec_till_next 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_m2ts_get_sys_clock ( GF_M2TS_Mux *  muxer)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_m2ts_get_ts_clock ( GF_M2TS_Mux *  muxer)
GF_Err gf_m2ts_mux_use_single_au_pes_mode ( GF_M2TS_Mux *  muxer,
Bool  strict_au_pes_mode 
)
GF_Err gf_m2ts_mux_set_initial_pcr ( GF_M2TS_Mux *  muxer,
u64  init_pcr_value 
)
GF_Err gf_m2ts_program_stream_update_ts_scale ( GF_ESInterface _self,
u32  time_scale 
)
GF_Err gf_m2ts_demuxer_setup ( GF_M2TS_Demuxer *  ts,
const char *  url,
Bool  loop 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m2ts_demuxer_play ( GF_M2TS_Demuxer *  ts)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m2ts_demuxer_close ( GF_M2TS_Demuxer *  ts)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m2ts_get_socket ( const char *  url,
const char *  mcast_ifce_or_mobileip,
u32  buf_size,
GF_Socket **  out_socket 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: