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...

Defines

#define dvbpsi_NewPAT(p_pat, i_ts_id, i_version, b_current_next)
 Allocate and initialize a new dvbpsi_pat_t structure.
#define dvbpsi_DeletePAT(p_pat)
 Clean and free a dvbpsi_pat_t structure.

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.
void dvbpsi_DetachPAT (dvbpsi_handle h_dvbpsi)
 Destroy a PAT decoder.
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.
void dvbpsi_EmptyPAT (dvbpsi_pat_t *p_pat)
 Clean a dvbpsi_pat_t structure.
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.
dvbpsi_psi_section_tdvbpsi_GenPATSections (dvbpsi_pat_t *p_pat, int i_max_pps)
 PAT generator.

Detailed Description

Application interface for the PAT decoder and the PAT generator.

>

Author:
Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr> Application interface for the PAT decoder and the PAT generator. New decoded PAT tables are sent by callback to the application. If a table wasn't active (b_current_next == 0) and the next is the same but active (b_current_next == 1) then the program list is empty and should be caught from the previous structure.

Define Documentation

#define dvbpsi_DeletePAT ( p_pat   ) 
Value:
do {                                                                    \
  dvbpsi_EmptyPAT(p_pat);                                               \
  free(p_pat);                                                          \
} while(0);

Clean and free a dvbpsi_pat_t structure.

Parameters:
p_pat pointer 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);

Allocate and initialize a new dvbpsi_pat_t structure.

Parameters:
p_pat pointer to the PAT structure
i_ts_id transport stream ID
i_version PAT version
b_current_next current 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_callback function to call back on new PAT
p_cb_data private 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_dvbpsi handle 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_pat pointer 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_pat pointer to the PAT structure
i_max_pps limitation 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_pat pointer to the PAT structure
i_ts_id transport stream ID
i_version PAT version
b_current_next current 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_pat pointer to the PAT structure
i_number program number
i_pid PID of the NIT/PMT
Returns:
a pointer to the added program.

Generated on 16 Oct 2009 for libdvbpsi by  doxygen 1.6.1