libdvbpsi 1.3.2
|
Application interface for the SIS decoder and the SIS generator. More...
Go to the source code of this file.
Data Structures | |
struct | dvbpsi_sis_s |
SIS structure. More... | |
struct | dvbpsi_sis_cmd_splice_null_s |
splice_null() splice command definition More... | |
struct | dvbpsi_sis_break_duration_s |
splice break duration More... | |
struct | dvbpsi_sis_component_utc_splice_time_s |
combined component tag and UTC splice time definition More... | |
struct | dvbpsi_sis_splice_event_s |
splice events structure, More... | |
struct | dvbpsi_sis_cmd_splice_schedule_s |
splice_schedule() splice command definition More... | |
struct | dvbpsi_sis_splice_time_s |
splice_time() splice definition More... | |
struct | dvbpsi_sis_component_splice_time_s |
component_tag, splice_time definition More... | |
struct | dvbpsi_sis_cmd_splice_insert_s |
splice_insert() splice command definition More... | |
struct | dvbpsi_sis_cmd_time_signal_s |
time_signal() splice command definition More... | |
struct | dvbpsi_sis_cmd_bandwidth_reservation_s |
bandwidth_reservation() splice command definition More... |
Typedefs | |
typedef struct dvbpsi_sis_cmd_splice_null_s | dvbpsi_sis_cmd_splice_null_t |
The Splice Info Section (SIS) defines some Splice Commands, which are described below: | |
typedef struct dvbpsi_sis_break_duration_s | dvbpsi_sis_break_duration_t |
splice event definition | |
typedef struct dvbpsi_sis_component_utc_splice_time_s | dvbpsi_sis_component_utc_splice_time_t |
combined component tag and UTC splice time definition | |
typedef struct dvbpsi_sis_splice_event_s | dvbpsi_sis_splice_event_t |
splice event definition | |
typedef struct dvbpsi_sis_cmd_splice_schedule_s | dvbpsi_sis_cmd_splice_schedule_t |
splice_schedule() splice command definition | |
typedef struct dvbpsi_sis_splice_time_s | dvbpsi_sis_splice_time_t |
splice_time() splice definition | |
typedef struct dvbpsi_sis_component_splice_time_s | dvbpsi_sis_component_splice_time_t |
component_tag, splice_time definition | |
typedef struct dvbpsi_sis_cmd_splice_insert_s | dvbpsi_sis_cmd_splice_insert_t |
splice_insert() splice command definition | |
typedef struct dvbpsi_sis_cmd_time_signal_s | dvbpsi_sis_cmd_time_signal_t |
time_signal() splice command definition | |
typedef struct dvbpsi_sis_cmd_bandwidth_reservation_s | dvbpsi_sis_cmd_bandwidth_reservation_t |
bandwidth_reservation() splice command definition | |
typedef void(* | dvbpsi_sis_callback) (void *p_cb_data, dvbpsi_sis_t *p_new_sis) |
Callback type definition. |
Functions | |
struct dvbpsi_sis_s | __attribute__ ((packed)) dvbpsi_sis_t |
bool | dvbpsi_sis_attach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_sis_callback pf_callback, void *p_cb_data) |
Creation and initialization of a SIS decoder. It is attached to p_dvbpsi. | |
void | dvbpsi_sis_detach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension) |
Destroy a SIS decoder. | |
void | dvbpsi_sis_init (dvbpsi_sis_t *p_sis, uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, bool b_current_next, uint8_t i_protocol_version) |
Initialize a user-allocated dvbpsi_sis_t structure. | |
dvbpsi_sis_t * | dvbpsi_sis_new (uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, bool b_current_next, uint8_t i_protocol_version) |
Allocate and initialize a new dvbpsi_sis_t structure. | |
void | dvbpsi_sis_empty (dvbpsi_sis_t *p_sis) |
Clean a dvbpsi_sis_t structure. | |
void | dvbpsi_sis_delete (dvbpsi_sis_t *p_sis) |
Clean and free a dvbpsi_sis_t structure. | |
dvbpsi_descriptor_t * | dvbpsi_sis_descriptor_add (dvbpsi_sis_t *p_sis, uint8_t i_tag, uint8_t i_length, uint8_t *p_data) |
Add a descriptor in the SIS service. | |
dvbpsi_psi_section_t * | dvbpsi_sis_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_sis_t *p_sis) |
SIS generator. |
Variables | |
uint8_t | i_table_id |
uint16_t | i_extension |
uint16_t | i_ts_id |
uint8_t | i_version |
uint8_t | i_protocol_version |
bool | b_current_next |
bool | b_encrypted_packet |
uint8_t | i_encryption_algorithm |
uint64_t | i_pts_adjustment |
uint8_t | cw_index |
uint16_t | i_splice_command_length |
uint8_t | i_splice_command_type |
void * | p_splice_command |
uint16_t | i_descriptors_length |
dvbpsi_descriptor_t * | p_first_descriptor |
uint32_t | i_ecrc |
Application interface for the SIS decoder and the SIS generator.
>
Application interface for the SIS decoder and the SIS generator. New decoded SIS tables are sent by callback to the application.
typedef struct dvbpsi_sis_cmd_splice_null_s dvbpsi_sis_cmd_splice_null_t |
The Splice Info Section (SIS) defines some Splice Commands, which are described below:
splice_null() splice command definition
bool dvbpsi_sis_attach | ( | dvbpsi_t * | p_dvbpsi, |
uint8_t | i_table_id, | ||
uint16_t | i_extension, | ||
dvbpsi_sis_callback | pf_callback, | ||
void * | p_cb_data ) |
Creation and initialization of a SIS decoder. It is attached to p_dvbpsi.
p_dvbpsi | pointer to dvbpsi to hold decoder/demuxer structure |
i_table_id | Table ID, 0xFC. |
i_extension | Table ID extension. |
pf_callback | function to call back on new SIS. |
p_cb_data | private data given in argument to the callback. |
References i_extension, and i_table_id.
void dvbpsi_sis_delete | ( | dvbpsi_sis_t * | p_sis | ) |
Clean and free a dvbpsi_sis_t structure.
p_sis | pointer to the SIS structure |
dvbpsi_descriptor_t * dvbpsi_sis_descriptor_add | ( | dvbpsi_sis_t * | p_sis, |
uint8_t | i_tag, | ||
uint8_t | i_length, | ||
uint8_t * | p_data ) |
Add a descriptor in the SIS service.
p_sis | pointer to the SIS structure |
i_tag | descriptor's tag |
i_length | descriptor's length |
p_data | descriptor's data |
void dvbpsi_sis_detach | ( | dvbpsi_t * | p_dvbpsi, |
uint8_t | i_table_id, | ||
uint16_t | i_extension ) |
Destroy a SIS decoder.
p_dvbpsi | pointer to dvbpsi to hold decoder/demuxer structure |
i_table_id | Table ID, 0xFC. |
i_extension | Table ID extension, here TS ID. |
References i_extension, and i_table_id.
void dvbpsi_sis_empty | ( | dvbpsi_sis_t * | p_sis | ) |
Clean a dvbpsi_sis_t structure.
p_sis | pointer to the SIS structure |
void dvbpsi_sis_init | ( | dvbpsi_sis_t * | p_sis, |
uint8_t | i_table_id, | ||
uint16_t | i_extension, | ||
uint8_t | i_version, | ||
bool | b_current_next, | ||
uint8_t | i_protocol_version ) |
Initialize a user-allocated dvbpsi_sis_t structure.
p_sis | pointer to the SIS structure |
i_table_id | Table ID, 0xFC. |
i_extension | Table ID extension. |
i_version | SIS version |
b_current_next | current next indicator |
i_protocol_version | SIS protocol version (currently 0) |
References b_current_next, i_extension, i_protocol_version, i_table_id, and i_version.
dvbpsi_sis_t * dvbpsi_sis_new | ( | uint8_t | i_table_id, |
uint16_t | i_extension, | ||
uint8_t | i_version, | ||
bool | b_current_next, | ||
uint8_t | i_protocol_version ) |
Allocate and initialize a new dvbpsi_sis_t structure.
i_table_id | Table ID, 0xFC. |
i_extension | Table ID extension. |
i_version | SIS version |
b_current_next | current next indicator |
i_protocol_version | SIS protocol version (currently 0) |
References b_current_next, i_extension, i_protocol_version, i_table_id, and i_version.
dvbpsi_psi_section_t * dvbpsi_sis_sections_generate | ( | dvbpsi_t * | p_dvbpsi, |
dvbpsi_sis_t * | p_sis ) |
SIS generator.
p_dvbpsi | handle to dvbpsi with attached decoder |
p_sis | SIS structure |
Generate SIS sections based on the dvbpsi_sis_t structure.
bool b_current_next |
current_next_indicator
Referenced by dvbpsi_atsc_InitEIT(), dvbpsi_atsc_InitETT(), dvbpsi_atsc_InitMGT(), dvbpsi_atsc_InitSTT(), dvbpsi_atsc_InitVCT(), dvbpsi_atsc_NewEIT(), dvbpsi_atsc_NewETT(), dvbpsi_atsc_NewMGT(), dvbpsi_atsc_NewSTT(), dvbpsi_atsc_NewVCT(), dvbpsi_bat_init(), dvbpsi_bat_new(), dvbpsi_cat_init(), dvbpsi_cat_new(), dvbpsi_eit_init(), dvbpsi_eit_new(), dvbpsi_nit_init(), dvbpsi_nit_new(), dvbpsi_pat_init(), dvbpsi_pat_new(), dvbpsi_pmt_init(), dvbpsi_pmt_new(), dvbpsi_sdt_init(), dvbpsi_sdt_new(), dvbpsi_sis_init(), dvbpsi_sis_new(), dvbpsi_tot_init(), and dvbpsi_tot_new().
bool b_encrypted_packet |
1 when packet is encrypted
uint8_t cw_index |
CA control word
uint16_t i_descriptors_length |
Descriptors loop length
uint32_t i_ecrc |
CRC 32 of decrypted splice_info_section
uint8_t i_encryption_algorithm |
Encryption algorithm used
uint16_t i_extension |
subtable id
Referenced by dvbpsi_atsc_AttachEIT(), dvbpsi_atsc_AttachETT(), dvbpsi_atsc_AttachMGT(), dvbpsi_atsc_AttachSTT(), dvbpsi_atsc_AttachVCT(), dvbpsi_atsc_DetachEIT(), dvbpsi_atsc_DetachETT(), dvbpsi_atsc_DetachMGT(), dvbpsi_atsc_DetachVCT(), dvbpsi_atsc_InitEIT(), dvbpsi_atsc_InitETT(), dvbpsi_atsc_InitMGT(), dvbpsi_atsc_InitSTT(), dvbpsi_atsc_InitVCT(), dvbpsi_atsc_NewEIT(), dvbpsi_atsc_NewETT(), dvbpsi_atsc_NewMGT(), dvbpsi_atsc_NewSTT(), dvbpsi_atsc_NewVCT(), dvbpsi_bat_attach(), dvbpsi_bat_detach(), dvbpsi_bat_init(), dvbpsi_bat_new(), dvbpsi_demuxGetSubDec(), dvbpsi_eit_attach(), dvbpsi_eit_detach(), dvbpsi_eit_init(), dvbpsi_eit_new(), dvbpsi_NewDemuxSubDecoder(), dvbpsi_nit_attach(), dvbpsi_nit_detach(), dvbpsi_nit_init(), dvbpsi_nit_new(), dvbpsi_sdt_attach(), dvbpsi_sdt_detach(), dvbpsi_sdt_init(), dvbpsi_sdt_new(), dvbpsi_sis_attach(), dvbpsi_sis_detach(), dvbpsi_sis_init(), dvbpsi_sis_new(), dvbpsi_tot_attach(), dvbpsi_tot_detach(), dvbpsi_tot_init(), and dvbpsi_tot_new().
uint8_t i_protocol_version |
Protocol version shall be 0
Referenced by dvbpsi_sis_init(), and dvbpsi_sis_new().
uint64_t i_pts_adjustment |
PTS offset
uint16_t i_splice_command_length |
Length of splice command
uint8_t i_splice_command_type |
Splice command type
uint8_t i_table_id |
table id
Referenced by dvbpsi_atsc_AttachEIT(), dvbpsi_atsc_AttachETT(), dvbpsi_atsc_AttachMGT(), dvbpsi_atsc_AttachSTT(), dvbpsi_atsc_AttachVCT(), dvbpsi_atsc_DetachEIT(), dvbpsi_atsc_DetachETT(), dvbpsi_atsc_DetachMGT(), dvbpsi_atsc_DetachSTT(), dvbpsi_atsc_DetachVCT(), dvbpsi_atsc_InitEIT(), dvbpsi_atsc_InitETT(), dvbpsi_atsc_InitMGT(), dvbpsi_atsc_InitSTT(), dvbpsi_atsc_InitVCT(), dvbpsi_atsc_NewEIT(), dvbpsi_atsc_NewETT(), dvbpsi_atsc_NewMGT(), dvbpsi_atsc_NewSTT(), dvbpsi_atsc_NewVCT(), dvbpsi_bat_attach(), dvbpsi_bat_detach(), dvbpsi_bat_init(), dvbpsi_bat_new(), dvbpsi_demuxGetSubDec(), dvbpsi_eit_attach(), dvbpsi_eit_detach(), dvbpsi_eit_init(), dvbpsi_eit_new(), dvbpsi_eit_sections_generate(), dvbpsi_NewDemuxSubDecoder(), dvbpsi_nit_attach(), dvbpsi_nit_detach(), dvbpsi_nit_init(), dvbpsi_nit_new(), dvbpsi_nit_sections_generate(), dvbpsi_sdt_attach(), dvbpsi_sdt_detach(), dvbpsi_sdt_init(), dvbpsi_sdt_new(), dvbpsi_sis_attach(), dvbpsi_sis_detach(), dvbpsi_sis_init(), dvbpsi_sis_new(), dvbpsi_tot_attach(), dvbpsi_tot_detach(), dvbpsi_tot_init(), and dvbpsi_tot_new().
uint16_t i_ts_id |
transport_stream_id
Referenced by dvbpsi_bat_ts_add(), dvbpsi_eit_init(), dvbpsi_eit_new(), dvbpsi_nit_ts_add(), dvbpsi_pat_init(), dvbpsi_pat_new(), and dvbpsi_rst_event_add().
uint8_t i_version |
version_number
Referenced by dvbpsi_atsc_InitEIT(), dvbpsi_atsc_InitETT(), dvbpsi_atsc_InitMGT(), dvbpsi_atsc_InitVCT(), dvbpsi_atsc_NewEIT(), dvbpsi_atsc_NewETT(), dvbpsi_atsc_NewMGT(), dvbpsi_atsc_NewSTT(), dvbpsi_atsc_NewVCT(), dvbpsi_bat_init(), dvbpsi_bat_new(), dvbpsi_cat_init(), dvbpsi_cat_new(), dvbpsi_eit_init(), dvbpsi_eit_new(), dvbpsi_nit_init(), dvbpsi_nit_new(), dvbpsi_pat_init(), dvbpsi_pat_new(), dvbpsi_pmt_init(), dvbpsi_pmt_new(), dvbpsi_sdt_init(), dvbpsi_sdt_new(), dvbpsi_sis_init(), dvbpsi_sis_new(), dvbpsi_tot_init(), and dvbpsi_tot_new().
dvbpsi_descriptor_t* p_first_descriptor |
First of the following SIS descriptors
void* p_splice_command |
Pointer to splice command structure