libdvbpsi
2.0.0-git
MPEG Transport Stream PSI table parser
|
Application interface for the NIT decoder and the NIT generator. More...
Go to the source code of this file.
Data Structures | |
struct | dvbpsi_nit_ts_s |
NIT TS structure. More... | |
struct | dvbpsi_nit_s |
NIT structure. More... | |
Typedefs | |
typedef struct dvbpsi_nit_ts_s | dvbpsi_nit_ts_t |
dvbpsi_nit_ts_t type definition. | |
typedef struct dvbpsi_nit_s | dvbpsi_nit_t |
dvbpsi_nit_t type definition. | |
typedef void(* | dvbpsi_nit_callback) (void *p_priv, dvbpsi_nit_t *p_new_nit) |
Callback type definition. | |
Functions | |
bool | dvbpsi_nit_attach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_nit_callback pf_callback, void *p_priv) |
Creation and initialization of a NIT decoder. It is attached to p_dvbpsi. More... | |
void | dvbpsi_nit_detach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension) |
Destroy a NIT decoder. More... | |
void | dvbpsi_nit_init (dvbpsi_nit_t *p_nit, uint8_t i_table_id, uint16_t i_extension, uint16_t i_network_id, uint8_t i_version, bool b_current_next) |
Initialize a user-allocated dvbpsi_nit_t structure. More... | |
dvbpsi_nit_t * | dvbpsi_nit_new (uint8_t i_table_id, uint16_t i_extension, uint16_t i_network_id, uint8_t i_version, bool b_current_next) |
Allocate and initialize a new dvbpsi_nit_t structure. More... | |
void | dvbpsi_nit_empty (dvbpsi_nit_t *p_nit) |
Clean a dvbpsi_nit_t structure. More... | |
void | dvbpsi_nit_delete (dvbpsi_nit_t *p_nit) |
Clean and free a dvbpsi_nit_t structure. More... | |
dvbpsi_descriptor_t * | dvbpsi_nit_descriptor_add (dvbpsi_nit_t *p_nit, uint8_t i_tag, uint8_t i_length, uint8_t *p_data) |
Add a descriptor in the NIT. More... | |
dvbpsi_nit_ts_t * | dvbpsi_nit_ts_add (dvbpsi_nit_t *p_nit, uint16_t i_ts_id, uint16_t i_orig_network_id) |
Add an TS in the NIT. More... | |
dvbpsi_descriptor_t * | dvbpsi_nit_ts_descriptor_add (dvbpsi_nit_ts_t *p_ts, uint8_t i_tag, uint8_t i_length, uint8_t *p_data) |
Add a descriptor in the NIT TS. More... | |
dvbpsi_psi_section_t * | dvbpsi_nit_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_nit_t *p_nit, uint8_t i_table_id) |
Application interface for the NIT decoder and the NIT generator.
>
Application interface for the NIT decoder and the NIT generator. New decoded NIT tables are sent by callback to the application.
bool dvbpsi_nit_attach | ( | dvbpsi_t * | p_dvbpsi, |
uint8_t | i_table_id, | ||
uint16_t | i_extension, | ||
dvbpsi_nit_callback | pf_callback, | ||
void * | p_priv | ||
) |
Creation and initialization of a NIT decoder. It is attached to p_dvbpsi.
p_dvbpsi | dvbpsi handle to Subtable demultiplexor to which the decoder is attached. |
i_table_id | Table ID, 0x40 (actual) or 0x41 (other). |
i_extension | Table ID extension, here network ID. |
pf_callback | function to call back on new NIT. |
p_priv | private data given in argument to the callback. |
dvbpsi_nit_delete | ( | dvbpsi_nit_t * | p_nit | ) |
Clean and free a dvbpsi_nit_t structure.
p_nit | pointer to the NIT structure |
dvbpsi_descriptor_t * dvbpsi_nit_descriptor_add | ( | dvbpsi_nit_t * | p_nit, |
uint8_t | i_tag, | ||
uint8_t | i_length, | ||
uint8_t * | p_data | ||
) |
Add a descriptor in the NIT.
p_nit | pointer to the NIT structure |
i_tag | descriptor's tag |
i_length | descriptor's length |
p_data | descriptor's data |
void dvbpsi_nit_detach | ( | dvbpsi_t * | p_dvbpsi, |
uint8_t | i_table_id, | ||
uint16_t | i_extension | ||
) |
Destroy a NIT decoder.
p_dvbpsi | dvbpsi handle to Subtable demultiplexor to which the decoder is attached. |
i_table_id | Table ID, 0x40 (actual) or 0x41 (other). |
i_extension | Table ID extension, here network ID. |
void dvbpsi_nit_empty | ( | dvbpsi_nit_t * | p_nit | ) |
Clean a dvbpsi_nit_t structure.
p_nit | pointer to the NIT structure |
void dvbpsi_nit_init | ( | dvbpsi_nit_t * | p_nit, |
uint8_t | i_table_id, | ||
uint16_t | i_extension, | ||
uint16_t | i_network_id, | ||
uint8_t | i_version, | ||
bool | b_current_next | ||
) |
Initialize a user-allocated dvbpsi_nit_t structure.
i_table_id | Table ID, 0x40 (actual) or 0x41 (other). |
i_extension | Table ID extension, here network ID. |
p_nit | pointer to the NIT structure |
i_network_id | network id |
i_version | NIT version |
b_current_next | current next indicator |
dvbpsi_nit_t * dvbpsi_nit_new | ( | uint8_t | i_table_id, |
uint16_t | i_extension, | ||
uint16_t | i_network_id, | ||
uint8_t | i_version, | ||
bool | b_current_next | ||
) |
Allocate and initialize a new dvbpsi_nit_t structure.
i_table_id | Table ID, 0x40 (actual) or 0x41 (other) |
i_extension | Table ID extension, here network ID. |
i_network_id | network id |
i_version | NIT version |
b_current_next | current next indicator |
dvbpsi_nit_ts_t * dvbpsi_nit_ts_add | ( | dvbpsi_nit_t * | p_nit, |
uint16_t | i_ts_id, | ||
uint16_t | i_orig_network_id | ||
) |
Add an TS in the NIT.
p_nit | pointer to the NIT structure |
i_ts_id | type of TS |
i_orig_network_id | PID of the TS |
dvbpsi_descriptor_t * dvbpsi_nit_ts_descriptor_add | ( | dvbpsi_nit_ts_t * | p_ts, |
uint8_t | i_tag, | ||
uint8_t | i_length, | ||
uint8_t * | p_data | ||
) |
Add a descriptor in the NIT TS.
p_ts | pointer to the TS structure |
i_tag | descriptor's tag |
i_length | descriptor's length |
p_data | descriptor's data |