|
libdvbpsi 0.1.0
|
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... | |
Defines | |
| #define | dvbpsi_NewPMT(p_pmt, i_program_number,i_version, b_current_next, i_pcr_pid) |
| Allocate and initialize a new dvbpsi_pmt_t structure. | |
| #define | dvbpsi_DeletePMT(p_pmt) |
| Clean and free a dvbpsi_pmt_t structure. | |
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 | |
| dvbpsi_handle | dvbpsi_AttachPMT (uint16_t i_program_number, dvbpsi_pmt_callback pf_callback, void *p_cb_data) |
| Creation and initialization of a PMT decoder. | |
| void | dvbpsi_DetachPMT (dvbpsi_handle h_dvbpsi) |
| Destroy a PMT decoder. | |
| void | dvbpsi_InitPMT (dvbpsi_pmt_t *p_pmt, uint16_t i_program_number, uint8_t i_version, int b_current_next, uint16_t i_pcr_pid) |
| Initialize a user-allocated dvbpsi_pmt_t structure. | |
| void | dvbpsi_EmptyPMT (dvbpsi_pmt_t *p_pmt) |
| Clean a dvbpsi_pmt_t structure. | |
| dvbpsi_descriptor_t * | dvbpsi_PMTAddDescriptor (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_t * | dvbpsi_PMTAddES (dvbpsi_pmt_t *p_pmt, uint8_t i_type, uint16_t i_pid) |
| Add an ES in the PMT. | |
| dvbpsi_descriptor_t * | dvbpsi_PMTESAddDescriptor (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_t * | dvbpsi_GenPMTSections (dvbpsi_pmt_t *p_pmt) |
| PMT generator. | |
Application interface for the PMT decoder and the PMT generator.
>
| #define dvbpsi_DeletePMT | ( | p_pmt | ) |
do { \ dvbpsi_EmptyPMT(p_pmt); \ free(p_pmt); \ } while(0);
Clean and free a dvbpsi_pmt_t structure.
| p_pmt | pointer to the PMT structure |
| #define dvbpsi_NewPMT | ( | p_pmt, | |
| i_program_number, | |||
| i_version, | |||
| b_current_next, | |||
| i_pcr_pid | |||
| ) |
do { \ p_pmt = (dvbpsi_pmt_t*)malloc(sizeof(dvbpsi_pmt_t)); \ if(p_pmt != NULL) \ dvbpsi_InitPMT(p_pmt, i_program_number, i_version, b_current_next, \ i_pcr_pid); \ } while(0);
Allocate and initialize a new dvbpsi_pmt_t structure.
| p_pmt | pointer to the PMT structure |
| i_program_number | program number |
| i_version | PMT version |
| b_current_next | current next indicator |
| i_pcr_pid | PCR_PID |
| dvbpsi_handle dvbpsi_AttachPMT | ( | uint16_t | i_program_number, |
| dvbpsi_pmt_callback | pf_callback, | ||
| void * | p_cb_data | ||
| ) |
Creation and initialization of a PMT decoder.
| i_program_number | program number |
| pf_callback | function to call back on new PMT |
| p_cb_data | private data given in argument to the callback |
| void dvbpsi_DetachPMT | ( | dvbpsi_handle | h_dvbpsi | ) |
Destroy a PMT decoder.
| h_dvbpsi | handle to the decoder |
The handle isn't valid any more.
| void dvbpsi_EmptyPMT | ( | dvbpsi_pmt_t * | p_pmt | ) |
Clean a dvbpsi_pmt_t structure.
| p_pmt | pointer to the PMT structure |
| dvbpsi_psi_section_t * dvbpsi_GenPMTSections | ( | dvbpsi_pmt_t * | p_pmt | ) |
PMT generator.
| p_pmt | PMT structure |
Generate PMT sections based on the dvbpsi_pmt_t structure.
| void dvbpsi_InitPMT | ( | dvbpsi_pmt_t * | p_pmt, |
| uint16_t | i_program_number, | ||
| uint8_t | i_version, | ||
| int | b_current_next, | ||
| uint16_t | i_pcr_pid | ||
| ) |
Initialize a user-allocated dvbpsi_pmt_t structure.
| p_pmt | pointer to the PMT structure |
| i_program_number | program number |
| i_version | PMT version |
| b_current_next | current next indicator |
| i_pcr_pid | PCR_PID |
| dvbpsi_descriptor_t * dvbpsi_PMTAddDescriptor | ( | dvbpsi_pmt_t * | p_pmt, |
| uint8_t | i_tag, | ||
| uint8_t | i_length, | ||
| uint8_t * | p_data | ||
| ) |
Add a descriptor in the PMT.
| p_pmt | pointer to the PMT structure |
| i_tag | descriptor's tag |
| i_length | descriptor's length |
| p_data | descriptor's data |
| dvbpsi_pmt_es_t * dvbpsi_PMTAddES | ( | dvbpsi_pmt_t * | p_pmt, |
| uint8_t | i_type, | ||
| uint16_t | i_pid | ||
| ) |
Add an ES in the PMT.
| p_pmt | pointer to the PMT structure |
| i_type | type of ES |
| i_pid | PID of the ES |
| dvbpsi_descriptor_t * dvbpsi_PMTESAddDescriptor | ( | 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.
| p_es | pointer to the ES structure |
| i_tag | descriptor's tag |
| i_length | descriptor's length |
| p_data | descriptor's data |
1.7.3