libdvbpsi  0.2.2
Data Structures | Macros | 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...
 

Macros

#define dvbpsi_NewPAT(p_pat, i_ts_id, i_version, b_current_next)
 Allocate and initialize a new dvbpsi_pat_t structure. More...
 
#define dvbpsi_DeletePAT(p_pat)
 Clean and free a dvbpsi_pat_t 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_cb_data, dvbpsi_pat_t *p_new_pat)
 Callback type definition.
 

Functions

dvbpsi_handle dvbpsi_AttachPAT (dvbpsi_pat_callback pf_callback, void *p_cb_data)
 Creation and initialization of a PAT decoder. More...
 
void dvbpsi_DetachPAT (dvbpsi_handle h_dvbpsi)
 Destroy a PAT decoder. More...
 
void dvbpsi_InitPAT (dvbpsi_pat_t *p_pat, uint16_t i_ts_id, uint8_t i_version, int b_current_next)
 Initialize a user-allocated dvbpsi_pat_t structure. More...
 
void dvbpsi_EmptyPAT (dvbpsi_pat_t *p_pat)
 Clean a dvbpsi_pat_t structure. More...
 
dvbpsi_pat_program_tdvbpsi_PATAddProgram (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_GenPATSections (dvbpsi_pat_t *p_pat, int i_max_pps)
 PAT generator. More...
 

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.

Macro Definition Documentation

#define dvbpsi_DeletePAT (   p_pat)
Value:
do { \
free(p_pat); \
} while(0);
void dvbpsi_EmptyPAT(dvbpsi_pat_t *p_pat)
Clean a dvbpsi_pat_t structure.

Clean and free a dvbpsi_pat_t structure.

Parameters
p_patpointer to the PAT structure
Returns
nothing.
#define dvbpsi_NewPAT (   p_pat,
  i_ts_id,
  i_version,
  b_current_next 
)
Value:
do { \
p_pat = (dvbpsi_pat_t*)malloc(sizeof(dvbpsi_pat_t)); \
if(p_pat != NULL) \
dvbpsi_InitPAT(p_pat, i_ts_id, i_version, b_current_next); \
} while(0);
PAT structure.
Definition: pat.h:80
void dvbpsi_InitPAT(dvbpsi_pat_t *p_pat, uint16_t i_ts_id, uint8_t i_version, int b_current_next)
Initialize a user-allocated dvbpsi_pat_t structure.

Allocate and initialize a new 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.

Function Documentation

dvbpsi_handle dvbpsi_AttachPAT ( dvbpsi_pat_callback  pf_callback,
void *  p_cb_data 
)

Creation and initialization of a PAT decoder.

Parameters
pf_callbackfunction to call back on new PAT
p_cb_dataprivate data given in argument to the callback
Returns
a pointer to the decoder for future calls.
void dvbpsi_DetachPAT ( dvbpsi_handle  h_dvbpsi)

Destroy a PAT decoder.

Parameters
h_dvbpsihandle to the decoder
Returns
nothing.

The handle isn't valid any more.

void dvbpsi_EmptyPAT ( dvbpsi_pat_t p_pat)

Clean a dvbpsi_pat_t structure.

Parameters
p_patpointer to the PAT structure
Returns
nothing.
dvbpsi_psi_section_t * dvbpsi_GenPATSections ( dvbpsi_pat_t p_pat,
int  i_max_pps 
)

PAT generator.

Parameters
p_patpointer to the PAT structure
i_max_ppslimitation of the number of program in each section (max: 253).
Returns
a pointer to the list of generated PSI sections.

Generate PAT sections based on the dvbpsi_pat_t structure.

void dvbpsi_InitPAT ( dvbpsi_pat_t p_pat,
uint16_t  i_ts_id,
uint8_t  i_version,
int  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_program_t * dvbpsi_PATAddProgram ( 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.