libdvbpsi  2.0.0-git
MPEG Transport Stream PSI table parser
Data Structures | Typedefs | Functions
pat.h File Reference

Application interface for the PAT decoder and the PAT generator. More...

Go to the source code of this file.

Data Structures

struct  dvbpsi_pat_program_s
 PAT program structure. More...
 
struct  dvbpsi_pat_s
 PAT structure. More...
 

Typedefs

typedef struct dvbpsi_pat_program_s dvbpsi_pat_program_t
 dvbpsi_pat_program_t type definition.
 
typedef struct dvbpsi_pat_s dvbpsi_pat_t
 dvbpsi_pat_t type definition.
 
typedef void(* dvbpsi_pat_callback) (void *p_priv, dvbpsi_pat_t *p_new_pat)
 Callback type definition.
 

Functions

bool dvbpsi_pat_attach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_pat_callback pf_callback, void *p_priv)
 
void dvbpsi_pat_detach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
 Destroy a PAT decoder. More...
 
void dvbpsi_pat_init (dvbpsi_pat_t *p_pat, uint16_t i_ts_id, uint8_t i_version, bool b_current_next)
 Initialize a user-allocated dvbpsi_pat_t structure. More...
 
dvbpsi_pat_tdvbpsi_pat_new (uint16_t i_ts_id, uint8_t i_version, bool b_current_next)
 Allocate and initialize a new dvbpsi_pat_t structure. More...
 
void dvbpsi_pat_empty (dvbpsi_pat_t *p_pat)
 Clean a dvbpsi_pat_t structure. More...
 
void dvbpsi_pat_delete (dvbpsi_pat_t *p_pat)
 Clean and free a dvbpsi_pat_t structure. More...
 
dvbpsi_pat_program_tdvbpsi_pat_program_add (dvbpsi_pat_t *p_pat, uint16_t i_number, uint16_t i_pid)
 Add a program at the end of the PAT. More...
 
dvbpsi_psi_section_tdvbpsi_pat_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_pat_t *p_pat, int i_max_pps)
 

Detailed Description

Application interface for the PAT decoder and the PAT generator.

>

Author
Arnaud de Bossoreille de Ribou bozo@.nosp@m.via..nosp@m.ecp.f.nosp@m.r

Application interface for the PAT decoder and the PAT generator. New decoded PAT tables are sent by callback to the application.

Function Documentation

◆ dvbpsi_pat_delete()

void dvbpsi_pat_delete ( dvbpsi_pat_t p_pat)

Clean and free a dvbpsi_pat_t structure.

Parameters
p_patpointer to the PAT structure
Returns
nothing.

◆ dvbpsi_pat_detach()

void dvbpsi_pat_detach ( dvbpsi_t p_dvbpsi,
uint8_t  i_table_id,
uint16_t  i_extension 
)

Destroy a PAT decoder.

Parameters
p_dvbpsipointer to dvbpsi_t handle
i_table_idTable ID
i_extensionTable ID extension
Returns
nothing.

The handle isn't valid any more.

◆ dvbpsi_pat_empty()

void dvbpsi_pat_empty ( dvbpsi_pat_t p_pat)

Clean a dvbpsi_pat_t structure.

Parameters
p_patpointer to the PAT structure
Returns
nothing.

◆ dvbpsi_pat_init()

void dvbpsi_pat_init ( dvbpsi_pat_t p_pat,
uint16_t  i_ts_id,
uint8_t  i_version,
bool  b_current_next 
)

Initialize a user-allocated dvbpsi_pat_t structure.

Parameters
p_patpointer to the PAT structure
i_ts_idtransport stream ID
i_versionPAT version
b_current_nextcurrent next indicator
Returns
nothing.

◆ dvbpsi_pat_new()

dvbpsi_pat_t * dvbpsi_pat_new ( uint16_t  i_ts_id,
uint8_t  i_version,
bool  b_current_next 
)

Allocate and initialize a new dvbpsi_pat_t structure.

Parameters
i_ts_idtransport stream ID
i_versionPAT version
b_current_nextcurrent next indicator
Returns
p_pat pointer to the PAT structure

◆ dvbpsi_pat_program_add()

dvbpsi_pat_program_t * dvbpsi_pat_program_add ( dvbpsi_pat_t p_pat,
uint16_t  i_number,
uint16_t  i_pid 
)

Add a program at the end of the PAT.

Parameters
p_patpointer to the PAT structure
i_numberprogram number
i_pidPID of the NIT/PMT
Returns
a pointer to the added program.