libdvbpsi
1.3.0
|
Application interface for the EIT decoder and the EIT generator. More...
Go to the source code of this file.
Data Structures | |
struct | dvbpsi_eit_event_s |
EIT service description structure. More... | |
struct | dvbpsi_eit_s |
EIT structure. More... | |
Typedefs | |
typedef struct dvbpsi_eit_event_s | dvbpsi_eit_event_t |
dvbpsi_eit_event_t type definition. | |
typedef struct dvbpsi_eit_s | dvbpsi_eit_t |
dvbpsi_eit_t type definition. | |
typedef void(* | dvbpsi_eit_callback) (void *p_cb_data, dvbpsi_eit_t *p_new_eit) |
Callback type definition. | |
Functions | |
bool | dvbpsi_eit_attach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_eit_callback pf_callback, void *p_cb_data) |
Creation and initialization of a EIT decoder. More... | |
void | dvbpsi_eit_detach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension) |
Destroy a EIT decoder. More... | |
void | dvbpsi_eit_init (dvbpsi_eit_t *p_eit, uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, bool b_current_next, uint16_t i_ts_id, uint16_t i_network_id, uint8_t i_segment_last_section_number, uint8_t i_last_table_id) |
Initialize a user-allocated dvbpsi_eit_t structure. More... | |
dvbpsi_eit_t * | dvbpsi_eit_new (uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, bool b_current_next, uint16_t i_ts_id, uint16_t i_network_id, uint8_t i_segment_last_section_number, uint8_t i_last_table_id) |
Allocate and initialize a new dvbpsi_eit_t structure. More... | |
void | dvbpsi_eit_empty (dvbpsi_eit_t *p_eit) |
Clean a dvbpsi_eit_t structure. More... | |
void | dvbpsi_eit_delete (dvbpsi_eit_t *p_eit) |
Clean and free a dvbpsi_eit_t structure. More... | |
dvbpsi_eit_event_t * | dvbpsi_eit_event_add (dvbpsi_eit_t *p_eit, uint16_t i_event_id, uint64_t i_start_time, uint32_t i_duration, uint8_t i_running_status, bool b_free_ca, uint16_t i_event_descriptor_length) |
Add a service description at the end of the EIT. More... | |
dvbpsi_eit_event_t * | dvbpsi_eit_nvod_event_add (dvbpsi_eit_t *p_eit, uint16_t i_event_id, uint32_t i_duration, bool b_free_ca, uint16_t i_event_descriptor_length) |
Add a NVOD service description at the end of the EIT. More... | |
dvbpsi_descriptor_t * | dvbpsi_eit_event_descriptor_add (dvbpsi_eit_event_t *p_event, uint8_t i_tag, uint8_t i_length, uint8_t *p_data) |
Add a descriptor to the EIT event. More... | |
dvbpsi_psi_section_t * | dvbpsi_eit_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_eit_t *p_eit, uint8_t i_table_id) |
Generate a EIT section based on the information provided in p_eit. More... | |
Application interface for the EIT decoder and the EIT generator.
bool dvbpsi_eit_attach | ( | dvbpsi_t * | p_dvbpsi, |
uint8_t | i_table_id, | ||
uint16_t | i_extension, | ||
dvbpsi_eit_callback | pf_callback, | ||
void * | p_cb_data | ||
) |
Creation and initialization of a EIT decoder.
p_dvbpsi | pointer to Subtable demultiplexor to which the EIT decoder is attached. |
i_table_id | Table ID, 0x4E, 0x4F, or 0x50-0x6F. |
i_extension | Table ID extension, here service ID. |
pf_callback | function to call back on new EIT. |
p_cb_data | private data given in argument to the callback. |
void dvbpsi_eit_delete | ( | dvbpsi_eit_t * | p_eit | ) |
Clean and free a dvbpsi_eit_t structure.
p_eit | pointer to the EIT structure |
void dvbpsi_eit_detach | ( | dvbpsi_t * | p_dvbpsi, |
uint8_t | i_table_id, | ||
uint16_t | i_extension | ||
) |
Destroy a EIT decoder.
p_dvbpsi | dvbpsi handle pointing to Subtable demultiplexor to which the eit decoder is attached. |
i_table_id | Table ID, 0x4E, 0x4F, or 0x50-0x6F. |
i_extension | Table ID extension, here service ID. |
void dvbpsi_eit_empty | ( | dvbpsi_eit_t * | p_eit | ) |
Clean a dvbpsi_eit_t structure.
p_eit | pointer to the EIT structure |
dvbpsi_eit_event_t * dvbpsi_eit_event_add | ( | dvbpsi_eit_t * | p_eit, |
uint16_t | i_event_id, | ||
uint64_t | i_start_time, | ||
uint32_t | i_duration, | ||
uint8_t | i_running_status, | ||
bool | b_free_ca, | ||
uint16_t | i_event_descriptor_length | ||
) |
Add a service description at the end of the EIT.
p_eit | pointer to the EIT structure |
i_event_id | Event ID |
i_start_time | Start Time |
i_duration | Duration |
i_running_status | Running status |
b_free_ca | Free CA flag |
i_event_descriptor_length | The descriptors loop length in bytes of all descriptors for this event. |
dvbpsi_descriptor_t * dvbpsi_eit_event_descriptor_add | ( | dvbpsi_eit_event_t * | p_event, |
uint8_t | i_tag, | ||
uint8_t | i_length, | ||
uint8_t * | p_data | ||
) |
Add a descriptor to the EIT event.
p_event | pointer to the EIT event structure |
i_tag | descriptor's tag |
i_length | descriptor's length |
p_data | descriptor's data |
void dvbpsi_eit_init | ( | dvbpsi_eit_t * | p_eit, |
uint8_t | i_table_id, | ||
uint16_t | i_extension, | ||
uint8_t | i_version, | ||
bool | b_current_next, | ||
uint16_t | i_ts_id, | ||
uint16_t | i_network_id, | ||
uint8_t | i_segment_last_section_number, | ||
uint8_t | i_last_table_id | ||
) |
Initialize a user-allocated dvbpsi_eit_t structure.
p_eit | pointer to the EIT structure |
i_table_id | Table ID, 0x4E, 0x4F, or 0x50-0x6F. |
i_extension | Table ID extension, here service ID. |
i_version | EIT version |
b_current_next | current next indicator |
i_ts_id | transport stream ID |
i_network_id | original network id |
i_segment_last_section_number | segment_last_section_number |
i_last_table_id | i_last_table_id |
dvbpsi_eit_t * dvbpsi_eit_new | ( | uint8_t | i_table_id, |
uint16_t | i_extension, | ||
uint8_t | i_version, | ||
bool | b_current_next, | ||
uint16_t | i_ts_id, | ||
uint16_t | i_network_id, | ||
uint8_t | i_segment_last_section_number, | ||
uint8_t | i_last_table_id | ||
) |
Allocate and initialize a new dvbpsi_eit_t structure.
i_table_id | Table ID, 0x4E, 0x4F, or 0x50-0x6F. |
i_extension | Table ID extension, here service ID. |
i_version | EIT version |
b_current_next | current next indicator |
i_ts_id | transport stream ID |
i_network_id | original network id |
i_segment_last_section_number | segment_last_section_number |
i_last_table_id | i_last_table_id |
dvbpsi_eit_event_t * dvbpsi_eit_nvod_event_add | ( | dvbpsi_eit_t * | p_eit, |
uint16_t | i_event_id, | ||
uint32_t | i_duration, | ||
bool | b_free_ca, | ||
uint16_t | i_event_descriptor_length | ||
) |
Add a NVOD service description at the end of the EIT.
p_eit | pointer to the EIT structure |
i_event_id | Event ID |
i_duration | Duration |
b_free_ca | Free CA flag |
i_event_descriptor_length | The descriptors loop length in bytes of all descriptors for this event. |
dvbpsi_psi_section_t * dvbpsi_eit_sections_generate | ( | dvbpsi_t * | p_dvbpsi, |
dvbpsi_eit_t * | p_eit, | ||
uint8_t | i_table_id | ||
) |
Generate a EIT section based on the information provided in p_eit.
p_dvbpsi | pointer to Subtable demultiplexor to which the EIT decoder is attached. |
p_eit | pointer to EIT information to include in the PSI secion |
i_table_id | the EIT table id to use |