libdvbpsi  1.2.0
Data Structures | Typedefs | Functions
pmt.h File Reference

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

Go to the source code of this file.

Data Structures

struct  dvbpsi_pmt_es_s
 PMT ES structure. More...
struct  dvbpsi_pmt_s
 PMT structure. More...

Typedefs

typedef struct dvbpsi_pmt_es_s dvbpsi_pmt_es_t
 dvbpsi_pmt_es_t type definition.
typedef struct dvbpsi_pmt_s dvbpsi_pmt_t
 dvbpsi_pmt_t type definition.
typedef void(* dvbpsi_pmt_callback )(void *p_cb_data, dvbpsi_pmt_t *p_new_pmt)
 Callback type definition.

Functions

bool dvbpsi_pmt_attach (dvbpsi_t *p_dvbpsi, uint16_t i_program_number, dvbpsi_pmt_callback pf_callback, void *p_cb_data)
 Creates and initialization of a PMT decoder and attaches it to dvbpsi_t handle.
void dvbpsi_pmt_detach (dvbpsi_t *p_dvbpsi)
 Destroy a PMT decoder.
void dvbpsi_pmt_init (dvbpsi_pmt_t *p_pmt, uint16_t i_program_number, uint8_t i_version, bool b_current_next, uint16_t i_pcr_pid)
 Initialize a user-allocated dvbpsi_pmt_t structure.
dvbpsi_pmt_tdvbpsi_pmt_new (uint16_t i_program_number, uint8_t i_version, bool b_current_next, uint16_t i_pcr_pid)
 Allocate and initialize a new dvbpsi_pmt_t structure.
void dvbpsi_pmt_empty (dvbpsi_pmt_t *p_pmt)
 Clean a dvbpsi_pmt_t structure.
void dvbpsi_pmt_delete (dvbpsi_pmt_t *p_pmt)
 Clean and free a dvbpsi_pmt_t structure.
dvbpsi_descriptor_tdvbpsi_pmt_descriptor_add (dvbpsi_pmt_t *p_pmt, uint8_t i_tag, uint8_t i_length, uint8_t *p_data)
 Add a descriptor in the PMT.
dvbpsi_pmt_es_tdvbpsi_pmt_es_add (dvbpsi_pmt_t *p_pmt, uint8_t i_type, uint16_t i_pid)
 Add an ES in the PMT.
dvbpsi_descriptor_tdvbpsi_pmt_es_descriptor_add (dvbpsi_pmt_es_t *p_es, uint8_t i_tag, uint8_t i_length, uint8_t *p_data)
 Add a descriptor in the PMT ES.
dvbpsi_psi_section_tdvbpsi_pmt_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_pmt_t *p_pmt)
 PMT generator.

Detailed Description

Application interface for the PMT decoder and the PMT generator.

>

Author
Arnaud de Bossoreille de Ribou bozo@.nosp@m.via..nosp@m.ecp.f.nosp@m.r Application interface for the PMT decoder and the PMT generator. New decoded PMT tables are sent by callback to the application.

Function Documentation

bool dvbpsi_pmt_attach ( dvbpsi_t p_dvbpsi,
uint16_t  i_program_number,
dvbpsi_pmt_callback  pf_callback,
void *  p_cb_data 
)

Creates and initialization of a PMT decoder and attaches it to dvbpsi_t handle.

Parameters
p_dvbpsihandle
i_program_numberprogram number
pf_callbackfunction to call back on new PMT
p_cb_dataprivate data given in argument to the callback
Returns
true on success, false on failure
void dvbpsi_pmt_delete ( dvbpsi_pmt_t p_pmt)

Clean and free a dvbpsi_pmt_t structure.

Parameters
p_pmtpointer to the PMT structure
Returns
nothing.
dvbpsi_descriptor_t * dvbpsi_pmt_descriptor_add ( dvbpsi_pmt_t p_pmt,
uint8_t  i_tag,
uint8_t  i_length,
uint8_t *  p_data 
)

Add a descriptor in the PMT.

Parameters
p_pmtpointer to the PMT structure
i_tagdescriptor's tag
i_lengthdescriptor's length
p_datadescriptor's data
Returns
a pointer to the added descriptor.
void dvbpsi_pmt_detach ( dvbpsi_t p_dvbpsi)

Destroy a PMT decoder.

Parameters
p_dvbpsihandle
Returns
nothing.

The handle isn't valid any more.

void dvbpsi_pmt_empty ( dvbpsi_pmt_t p_pmt)

Clean a dvbpsi_pmt_t structure.

Parameters
p_pmtpointer to the PMT structure
Returns
nothing.
dvbpsi_pmt_es_t * dvbpsi_pmt_es_add ( dvbpsi_pmt_t p_pmt,
uint8_t  i_type,
uint16_t  i_pid 
)

Add an ES in the PMT.

Parameters
p_pmtpointer to the PMT structure
i_typetype of ES
i_pidPID of the ES
Returns
a pointer to the added ES.
dvbpsi_descriptor_t * dvbpsi_pmt_es_descriptor_add ( dvbpsi_pmt_es_t p_es,
uint8_t  i_tag,
uint8_t  i_length,
uint8_t *  p_data 
)

Add a descriptor in the PMT ES.

Parameters
p_espointer to the ES structure
i_tagdescriptor's tag
i_lengthdescriptor's length
p_datadescriptor's data
Returns
a pointer to the added descriptor.
void dvbpsi_pmt_init ( dvbpsi_pmt_t p_pmt,
uint16_t  i_program_number,
uint8_t  i_version,
bool  b_current_next,
uint16_t  i_pcr_pid 
)

Initialize a user-allocated dvbpsi_pmt_t structure.

Parameters
p_pmtpointer to the PMT structure
i_program_numberprogram number
i_versionPMT version
b_current_nextcurrent next indicator
i_pcr_pidPCR_PID
Returns
nothing.
dvbpsi_pmt_t * dvbpsi_pmt_new ( uint16_t  i_program_number,
uint8_t  i_version,
bool  b_current_next,
uint16_t  i_pcr_pid 
)

Allocate and initialize a new dvbpsi_pmt_t structure.

Parameters
i_program_numberprogram number
i_versionPMT version
b_current_nextcurrent next indicator
i_pcr_pidPCR_PID
Returns
p_pmt pointer to the PMT structure
dvbpsi_psi_section_t * dvbpsi_pmt_sections_generate ( dvbpsi_t p_dvbpsi,
dvbpsi_pmt_t p_pmt 
)

PMT generator.

Parameters
p_dvbpsihandle to dvbpsi with attached decoder
p_pmtPMT structure
Returns
a pointer to the list of generated PSI sections.

Generate PMT sections based on the dvbpsi_pmt_t structure.