Application interface for the SIS decoder and the SIS generator.
More...
Go to the source code of this file.
|
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.
|
|
Application interface for the SIS decoder and the SIS generator.
>
- Author
- Jean-Paul Saman jpsam.nosp@m.an@v.nosp@m.ideol.nosp@m.an.o.nosp@m.rg
Application interface for the SIS decoder and the SIS generator. New decoded SIS tables are sent by callback to the application.
◆ dvbpsi_sis_cmd_splice_null_t
The Splice Info Section (SIS) defines some Splice Commands, which are described below:
splice_null() splice command definition
◆ dvbpsi_sis_attach()
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.
- Parameters
-
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. |
- Returns
- true on success, false on failure
◆ dvbpsi_sis_delete()
void dvbpsi_sis_delete |
( |
dvbpsi_sis_t * | p_sis | ) |
|
Clean and free a dvbpsi_sis_t structure.
- Parameters
-
p_sis | pointer to the SIS structure |
- Returns
- nothing.
◆ dvbpsi_sis_descriptor_add()
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.
- Parameters
-
p_sis | pointer to the SIS structure |
i_tag | descriptor's tag |
i_length | descriptor's length |
p_data | descriptor's data |
- Returns
- a pointer to the added descriptor.
◆ dvbpsi_sis_detach()
void dvbpsi_sis_detach |
( |
dvbpsi_t * | p_dvbpsi, |
|
|
uint8_t | i_table_id, |
|
|
uint16_t | i_extension ) |
Destroy a SIS decoder.
- Parameters
-
p_dvbpsi | pointer to dvbpsi to hold decoder/demuxer structure |
i_table_id | Table ID, 0xFC. |
i_extension | Table ID extension, here TS ID. |
- Returns
- nothing.
◆ dvbpsi_sis_empty()
void dvbpsi_sis_empty |
( |
dvbpsi_sis_t * | p_sis | ) |
|
Clean a dvbpsi_sis_t structure.
- Parameters
-
p_sis | pointer to the SIS structure |
- Returns
- nothing.
◆ dvbpsi_sis_init()
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.
- Parameters
-
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) |
- Returns
- nothing.
◆ dvbpsi_sis_new()
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.
- Parameters
-
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) |
- Returns
- p_sis pointer to the SIS structure
◆ dvbpsi_sis_sections_generate()
SIS generator.
- Parameters
-
p_dvbpsi | handle to dvbpsi with attached decoder |
p_sis | SIS structure |
- Returns
- a pointer to the list of generated PSI sections.
Generate SIS sections based on the dvbpsi_sis_t structure.
◆ b_current_next
◆ b_encrypted_packet
1 when packet is encrypted
◆ cw_index
◆ i_descriptors_length
uint16_t i_descriptors_length |
◆ i_ecrc
CRC 32 of decrypted splice_info_section
◆ i_encryption_algorithm
uint8_t i_encryption_algorithm |
Encryption algorithm used
◆ i_extension
◆ i_protocol_version
uint8_t i_protocol_version |
Protocol version shall be 0
◆ i_pts_adjustment
uint64_t i_pts_adjustment |
◆ i_splice_command_length
uint16_t i_splice_command_length |
◆ i_splice_command_type
uint8_t i_splice_command_type |
◆ i_table_id
◆ i_ts_id
◆ i_version
◆ p_first_descriptor
First of the following SIS descriptors
◆ p_splice_command
Pointer to splice command structure