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. More...
|
|
void | dvbpsi_sis_detach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension) |
| Destroy a SIS decoder. More...
|
|
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. More...
|
|
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. More...
|
|
void | dvbpsi_sis_empty (dvbpsi_sis_t *p_sis) |
| Clean a dvbpsi_sis_t structure. More...
|
|
void | dvbpsi_sis_delete (dvbpsi_sis_t *p_sis) |
| Clean and free a dvbpsi_sis_t structure. More...
|
|
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. More...
|
|
dvbpsi_psi_section_t * | dvbpsi_sis_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_sis_t *p_sis) |
| SIS generator. More...
|
|
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.
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.
- 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
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_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.
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.
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.
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_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
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.
1 when packet is encrypted
uint16_t i_descriptors_length |
CRC 32 of decrypted splice_info_section
uint8_t i_encryption_algorithm |
Encryption algorithm used
uint8_t i_protocol_version |
Protocol version shall be 0
uint64_t i_pts_adjustment |
uint16_t i_splice_command_length |
uint8_t i_splice_command_type |
First of the following SIS descriptors
Pointer to splice command structure