libgpac
Documentation of the core library of GPAC
|
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/mpegts.h>
#include <gpac/iso639.h>
#include <gpac/webvtt.h>
Data Structures | |
struct | TS_SIDX |
struct | GF_TSMuxCtx |
struct | TEMIDesc |
struct | M2Pid |
Macros | |
#define | M2TS_FILE_EXTS "ts|m2t|mts|dmb|trp" |
#define | M2TS_MIMES "video/mpeg-2|video/mp2t|video/mpeg|audio/mp2t" |
#define | OFFS(_n) #_n, offsetof(GF_TSMuxCtx, _n) |
Enumerations | |
enum | { TEMI_TC64_AUTO =0 , TEMI_TC64_OFF , TEMI_TC64_ALWAYS } |
enum | { IN_TEMI_DROP =0 , IN_TEMI_FWD , IN_TEMI_NTP } |
enum | { M2TS_EODS_NO =0 , M2TS_EODS_FOUND , M2TS_EODS_FORCED , M2TS_EODS_LLHAS } |
Functions | |
void | mux_assign_mime_file_ext (GF_FilterPid *ipid, GF_FilterPid *opid, const char *file_exts, const char *mime_types, const char *def_ext) |
static GF_Err | tsmux_format_af_descriptor (GF_BitStream *bs, Bool is_realtime, u32 timeline_id, u64 timecode, u32 timescale, u32 mode_64bits, u64 ntp, const char *temi_url, u32 temi_delay, u32 *last_url_time, Bool is_reload, Bool is_splicing, GF_Fraction *announce, Bool is_paused, Bool is_discontinuity) |
GF_SLConfig * | tsmux_get_sl_config (GF_TSMuxCtx *ctx, u32 timescale, GF_SLConfig *slc) |
static void | tsmux_rewrite_odf (GF_TSMuxCtx *ctx, GF_ESIPacket *es_pck) |
static void | tsmux_check_mpd_start_time (GF_TSMuxCtx *ctx, GF_FilterPacket *pck) |
static u32 | tsmux_stream_process_scte35 (GF_M2TS_Mux *muxer, GF_M2TS_Mux_Stream *stream) |
static GF_Err | tsmux_esi_ctrl (GF_ESInterface *ifce, u32 act_type, void *param) |
void | update_m4sys_info (GF_TSMuxCtx *ctx, GF_M2TS_Mux_Program *prog) |
static Bool | tsmux_setup_esi (GF_TSMuxCtx *ctx, GF_M2TS_Mux_Program *prog, M2Pid *tspid, u32 stream_type) |
static void | tsmux_setup_temi (GF_TSMuxCtx *ctx, M2Pid *tspid) |
static void | tsmux_del_stream (M2Pid *tspid) |
static GF_Err | tsmux_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove) |
static void | tsmux_assign_pcr (GF_TSMuxCtx *ctx) |
static Bool | tsmux_init_buffering (GF_Filter *filter, GF_TSMuxCtx *ctx) |
static void | tsmux_send_seg_event (GF_Filter *filter, GF_TSMuxCtx *ctx) |
static void | tsmux_insert_sidx (GF_TSMuxCtx *ctx, Bool final_flush) |
static void | tsmux_flush_frag_llhas (GF_TSMuxCtx *ctx, Bool is_last) |
static void | ts_mux_on_packet_del (GF_Filter *filter, GF_FilterPid *pid, GF_FilterPacket *pck) |
static GF_Err | tsmux_process (GF_Filter *filter) |
static GF_Err | tsmux_initialize (GF_Filter *filter) |
static void | tsmux_finalize (GF_Filter *filter) |
static Bool | tsmux_process_event (GF_Filter *filter, const GF_FilterEvent *evt) |
const GF_FilterRegister * | m2tsmx_register (GF_FilterSession *session) |
Variables | |
static const GF_FilterCapability | TSMuxCaps [] |
static const GF_FilterArgs | TSMuxArgs [] |
GF_FilterRegister | TSMuxRegister |
struct TS_SIDX |
struct GF_TSMuxCtx |
Data Fields | ||
---|---|---|
u32 | pmt_id | |
u32 | pmt_rate | |
u32 | pmt_version | |
u32 | sdt_rate | |
u32 | breq | |
u32 | mpeg4 | |
u64 | pcr_offset | |
u64 | first_pts | |
u32 | rate | |
u32 | pat_rate | |
u32 | repeat_rate | |
u32 | repeat_img | |
u32 | max_pcr | |
u32 | nb_pack | |
u32 | sid | |
u32 | bifs_pes | |
u32 | pes_pack | |
Bool | flush_rap | |
Bool | realtime | |
Bool | pcr_only | |
Bool | disc | |
Bool | latm | |
s64 | pcr_init | |
char * | name | |
char * | provider | |
char * | temi | |
u32 | log_freq | |
s32 | subs_sidx | |
Bool | keepts | |
GF_Fraction | cdur | |
u32 | temi_fwd | |
GF_FilterPid * | opid | |
GF_FilterPid * | idx_opid | |
GF_Filter * | idx_filter | |
GF_M2TS_Mux * | mux | |
GF_List * | pids | |
Bool | check_pcr | |
Bool | update_mux | |
char * | pack_buffer | |
u64 | nb_pck | |
Bool | init_buffering | |
u32 | last_log_time | |
Bool | pmt_update_pending | |
Bool | cdur_overwrite | |
GF_M2TS_Mux_Stream * | scte35_stream | |
u8 * | scte35_payload | |
u32 | scte35_size | |
u32 | dash_mode | |
Bool | init_dash | |
u32 | dash_seg_num | |
Bool | wait_dash_flush | |
Bool | last_is_eods_flush | |
Bool | dash_file_switch | |
Bool | next_is_start | |
u32 | nb_pck_in_seg | |
u64 | pck_start_idx | |
char | dash_file_name[GF_MAX_PATH] | |
char | idx_file_name[GF_MAX_PATH] | |
char | llhas_template[GF_MAX_PATH] | |
u32 | nb_sidx_entries | |
u32 | nb_sidx_alloc | |
TS_SIDX * | sidx_entries | |
GF_BitStream * | idx_bs | |
u32 | nb_pck_in_file | |
u32 | nb_pck_first_sidx | |
u64 | total_bytes_in | |
u32 | nb_suspended | |
u32 | cur_file_idx_plus_one | |
char * | cur_file_suffix | |
Bool | notify_filename | |
Bool | is_playing | |
Double | start_range | |
struct __tsmx_pid * | ref_pid | |
Bool | wait_llhas_flush | |
u32 | llhas_mode | |
Bool | next_is_llhas_start | |
u32 | frag_num | |
u32 | frag_offset | |
u32 | frag_size | |
u32 | frag_duration | |
Bool | frag_has_intra | |
Bool | force_seg_sync | |
u32 | pending_packets | |
u32 | sync_init_time | |
GF_Fraction64 | dash_seg_start |
struct TEMIDesc |
struct M2Pid |
Data Fields | ||
---|---|---|
GF_ESInterface | esi | |
GF_FilterPid * | ipid | |
GF_M2TS_Mux_Stream * | mstream | |
GF_M2TS_Mux_Program * | prog | |
u32 | sid | |
u32 | codec_id | |
u32 | pmt_pid | |
u32 | nb_pck | |
Bool | is_repeat | |
u32 | nb_repeat_last | |
GF_TSMuxCtx * | ctx | |
u32 | last_cv | |
s64 | media_delay | |
s64 | max_media_skip | |
Bool | done | |
GF_List * | temi_descs | |
u32 | last_temi_url | |
u8 * | af_data | |
u32 | af_data_alloc | |
GF_BitStream * | temi_af_bs | |
Bool | rewrite_odf | |
u32 | has_seen_eods | |
u32 | pck_duration | |
u64 | loop_ts_offset | |
u64 | last_dts | |
u32 | last_dur | |
u8 * | pck_data_buf | |
u32 | suspended | |
u64 | llhas_dts_init | |
Bool | is_sparse |
#define M2TS_FILE_EXTS "ts|m2t|mts|dmb|trp" |
#define M2TS_MIMES "video/mpeg-2|video/mp2t|video/mpeg|audio/mp2t" |
#define OFFS | ( | _n | ) | #_n, offsetof(GF_TSMuxCtx, _n) |
void mux_assign_mime_file_ext | ( | GF_FilterPid * | ipid, |
GF_FilterPid * | opid, | ||
const char * | file_exts, | ||
const char * | mime_types, | ||
const char * | def_ext | ||
) |
|
static |
GF_SLConfig* tsmux_get_sl_config | ( | GF_TSMuxCtx * | ctx, |
u32 | timescale, | ||
GF_SLConfig * | slc | ||
) |
|
static |
|
static |
|
static |
|
static |
void update_m4sys_info | ( | GF_TSMuxCtx * | ctx, |
GF_M2TS_Mux_Program * | prog | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const GF_FilterRegister* m2tsmx_register | ( | GF_FilterSession * | session | ) |
|
static |
|
static |
GF_FilterRegister TSMuxRegister |