|
libdvbpsi
1.1.1
|
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.
>
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. |
| 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. |
| 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) |
| 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) |
| 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
| 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
| uint8_t i_protocol_version |
Protocol version shall be 0
| 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
| uint16_t i_ts_id |
transport_stream_id
| uint8_t i_version |
version_number
| dvbpsi_descriptor_t* p_first_descriptor |
First of the following SIS descriptors
| void* p_splice_command |
Pointer to splice command structure
1.8.1.2