Go to the source code of this file.
Data Structures | |
struct | dvbpsi_sdt_service_s |
SDT service description structure. More... | |
struct | dvbpsi_sdt_s |
SDT structure. More... | |
Defines | |
#define | dvbpsi_NewSDT(p_sdt, i_ts_id, i_version, b_current_next, i_network_id) |
Allocate and initialize a new dvbpsi_sdt_t structure. | |
#define | dvbpsi_DeleteSDT(p_sdt) |
Clean and free a dvbpsi_sdt_t structure. | |
Typedefs | |
typedef dvbpsi_sdt_service_s | dvbpsi_sdt_service_t |
dvbpsi_sdt_service_t type definition. | |
typedef dvbpsi_sdt_s | dvbpsi_sdt_t |
dvbpsi_sdt_t type definition. | |
typedef void(*) | dvbpsi_sdt_callback (void *p_cb_data, dvbpsi_sdt_t *p_new_sdt) |
Callback type definition. | |
Functions | |
int | dvbpsi_AttachSDT (dvbpsi_decoder_t *p_psi_decoder, uint8_t i_table_id, uint16_t i_extension, dvbpsi_sdt_callback pf_callback, void *p_cb_data) |
void | dvbpsi_DetachSDT (dvbpsi_demux_t *p_demux, uint8_t i_table_id, uint16_t i_extension) |
Destroy a SDT decoder. | |
void | dvbpsi_InitSDT (dvbpsi_sdt_t *p_sdt, uint16_t i_ts_id, uint8_t i_version, int b_current_next, uint16_t i_network_id) |
Initialize a user-allocated dvbpsi_sdt_t structure. | |
void | dvbpsi_EmptySDT (dvbpsi_sdt_t *p_sdt) |
Clean a dvbpsi_sdt_t structure. | |
dvbpsi_sdt_service_t * | dvbpsi_SDTAddService (dvbpsi_sdt_t *p_sdt, uint16_t i_service_id, int b_eit_schedule, int b_eit_present, uint8_t i_running_status, int b_free_ca) |
Add a service description at the end of the SDT. | |
dvbpsi_descriptor_t * | dvbpsi_SDTServiceAddDescriptor (dvbpsi_sdt_service_t *p_service, uint8_t i_tag, uint8_t i_length, uint8_t *p_data) |
Add a descriptor in the SDT service. | |
dvbpsi_psi_section_t * | dvbpsi_GenSDTSections (dvbpsi_sdt_t *p_sdt) |
>
#define dvbpsi_DeleteSDT | ( | p_sdt | ) |
Value:
do { \ dvbpsi_EmptySDT(p_sdt); \ free(p_sdt); \ } while(0);
p_sdt | pointer to the SDT structure |
#define dvbpsi_NewSDT | ( | p_sdt, | |||
i_ts_id, | |||||
i_version, | |||||
b_current_next, | |||||
i_network_id | ) |
Value:
do { \ p_sdt = (dvbpsi_sdt_t*)malloc(sizeof(dvbpsi_sdt_t)); \ if(p_sdt != NULL) \ dvbpsi_InitSDT(p_sdt, i_ts_id, i_version, b_current_next, i_network_id); \ } while(0);
p_sdt | pointer to the SDT structure | |
i_ts_id | transport stream ID | |
i_version | SDT version | |
b_current_next | current next indicator | |
i_network_id | original network id |
void dvbpsi_DetachSDT | ( | dvbpsi_demux_t * | p_demux, | |
uint8_t | i_table_id, | |||
uint16_t | i_extension | |||
) |
Destroy a SDT decoder.
p_demux | Subtable demultiplexor to which the decoder is attached. | |
i_table_id | Table ID, 0x42 or 0x46. | |
i_extension | Table ID extension, here TS ID. |
void dvbpsi_EmptySDT | ( | dvbpsi_sdt_t * | p_sdt | ) |
Clean a dvbpsi_sdt_t structure.
p_sdt | pointer to the SDT structure |
void dvbpsi_InitSDT | ( | dvbpsi_sdt_t * | p_sdt, | |
uint16_t | i_ts_id, | |||
uint8_t | i_version, | |||
int | b_current_next, | |||
uint16_t | i_network_id | |||
) |
Initialize a user-allocated dvbpsi_sdt_t structure.
p_sdt | pointer to the SDT structure | |
i_ts_id | transport stream ID | |
i_version | SDT version | |
b_current_next | current next indicator | |
i_network_id | original network id |
dvbpsi_sdt_service_t * dvbpsi_SDTAddService | ( | dvbpsi_sdt_t * | p_sdt, | |
uint16_t | i_service_id, | |||
int | b_eit_schedule, | |||
int | b_eit_present, | |||
uint8_t | i_running_status, | |||
int | b_free_ca | |||
) |
Add a service description at the end of the SDT.
p_sdt | pointer to the SDT structure | |
i_service_id | Service ID | |
b_eit_schedule | EIT Schedule flag | |
b_eit_present | EIT Present/Following flag | |
i_running_status | Running status | |
b_free_ca | Free CA flag |
dvbpsi_descriptor_t * dvbpsi_SDTServiceAddDescriptor | ( | dvbpsi_sdt_service_t * | p_service, | |
uint8_t | i_tag, | |||
uint8_t | i_length, | |||
uint8_t * | p_data | |||
) |
Add a descriptor in the SDT service.
p_service | pointer to the service structure | |
i_tag | descriptor's tag | |
i_length | descriptor's length | |
p_data | descriptor's data |