Data Structures | Typedefs | Functions

sis.h File Reference

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
struct  dvbpsi_sis_break_duration_s
struct  dvbpsi_sis_component_utc_splice_time_s
struct  dvbpsi_sis_splice_event_s
struct  dvbpsi_sis_cmd_splice_schedule_s
struct  dvbpsi_sis_splice_time_s
struct  dvbpsi_sis_component_splice_time_s
struct  dvbpsi_sis_cmd_splice_insert_s
struct  dvbpsi_sis_cmd_time_signal_s
struct  dvbpsi_sis_cmd_bandwidth_reservation_s

Typedefs

typedef struct dvbpsi_sis_s dvbpsi_sis_t
 dvbpsi_sis_t type definition.
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_s
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
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

bool dvbpsi_AttachSIS (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_DetachSIS (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
 Destroy a SIS decoder.
void dvbpsi_InitSIS (dvbpsi_sis_t *p_sis, uint8_t i_protocol_version)
 Initialize a user-allocated dvbpsi_sis_t structure.
dvbpsi_sis_tdvbpsi_NewSIS (uint8_t i_protocol_version)
 Allocate and initialize a new dvbpsi_sis_t structure.
void dvbpsi_EmptySIS (dvbpsi_sis_t *p_sis)
 Clean a dvbpsi_sis_t structure.
void dvbpsi_DeleteSIS (dvbpsi_sis_t *p_sis)
 Clean and free a dvbpsi_sis_t structure.
dvbpsi_descriptor_tdvbpsi_SISAddDescriptor (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_tdvbpsi_GenSISSections (dvbpsi_t *p_dvbpsi, dvbpsi_sis_t *p_sis)
 SIS generator.

Detailed Description

Application interface for the SIS decoder and the SIS generator.

>

Author:
Jean-Paul Saman <jpsaman@videolan.org> Application interface for the SIS decoder and the SIS generator. New decoded SIS tables are sent by callback to the application.

Typedef Documentation

The Splice Info Section (SIS) defines some Splice Commands, which are described below:

splice_null() splice command definition

splice_time() splice definition

component_tag, splice_time definition


Function Documentation

bool dvbpsi_AttachSIS ( 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, here TS ID.
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_DeleteSIS ( dvbpsi_sis_t p_sis  ) 

Clean and free a dvbpsi_sis_t structure.

Parameters:
p_sis pointer to the SIS structure
Returns:
nothing.
void dvbpsi_DetachSIS ( 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_EmptySIS ( dvbpsi_sis_t p_sis  ) 

Clean a dvbpsi_sis_t structure.

Parameters:
p_sis pointer to the SIS structure
Returns:
nothing.
dvbpsi_psi_section_t * dvbpsi_GenSISSections ( dvbpsi_t p_dvbpsi,
dvbpsi_sis_t p_sis 
)

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.

void dvbpsi_InitSIS ( dvbpsi_sis_t p_sis,
uint8_t  i_protocol_version 
)

Initialize a user-allocated dvbpsi_sis_t structure.

Parameters:
p_sis pointer to the SIS structure
i_protocol_version SIS protocol version (currently 0)
Returns:
nothing.
dvbpsi_sis_t * dvbpsi_NewSIS ( uint8_t  i_protocol_version  ) 

Allocate and initialize a new dvbpsi_sis_t structure.

Parameters:
i_protocol_version SIS protocol version (currently 0)
Returns:
p_sis pointer to the SIS structure
dvbpsi_descriptor_t * dvbpsi_SISAddDescriptor ( 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.