libdvbpsi 2.0.0-git
MPEG Transport Stream PSI table parser
sdt.h File Reference

Application interface for the SDT decoder and the SDT generator. More...

Go to the source code of this file.

Data Structures

struct  dvbpsi_sdt_service_s
 SDT service description structure. More...
 
struct  dvbpsi_sdt_s
 SDT structure. More...
 

Typedefs

typedef struct dvbpsi_sdt_service_s dvbpsi_sdt_service_t
 dvbpsi_sdt_service_t type definition.
 
typedef struct dvbpsi_sdt_s dvbpsi_sdt_t
 dvbpsi_sdt_t type definition.
 
typedef void(* dvbpsi_sdt_callback) (void *p_priv, dvbpsi_sdt_t *p_new_sdt)
 Callback type definition.
 

Functions

bool dvbpsi_sdt_attach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, dvbpsi_sdt_callback pf_callback, void *p_priv)
 Creation and initialization of a SDT decoder. It is attached to p_dvbpsi.
 
void dvbpsi_sdt_detach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
 Destroy a SDT decoder.
 
void dvbpsi_sdt_init (dvbpsi_sdt_t *p_sdt, uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, bool b_current_next, uint16_t i_network_id)
 Initialize a user-allocated dvbpsi_sdt_t structure.
 
dvbpsi_sdt_tdvbpsi_sdt_new (uint8_t i_table_id, uint16_t i_extension, uint8_t i_version, bool b_current_next, uint16_t i_network_id)
 Allocate and initialize a new dvbpsi_sdt_t structure.
 
void dvbpsi_sdt_empty (dvbpsi_sdt_t *p_sdt)
 Clean a dvbpsi_sdt_t structure.
 
void dvbpsi_sdt_delete (dvbpsi_sdt_t *p_sdt)
 Clean and free a dvbpsi_sdt_t structure.
 
dvbpsi_sdt_service_tdvbpsi_sdt_service_add (dvbpsi_sdt_t *p_sdt, uint16_t i_service_id, bool b_eit_schedule, bool b_eit_present, uint8_t i_running_status, bool b_free_ca)
 Add a service at the end of the SDT.
 
dvbpsi_descriptor_tdvbpsi_sdt_service_descriptor_add (dvbpsi_sdt_service_t *p_service, uint8_t i_tag, uint8_t i_length, uint8_t *p_data)
 Add a descriptor in the SDT service.
 
dvbpsi_psi_section_tdvbpsi_sdt_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_sdt_t *p_sdt)
 SDT generator.
 

Detailed Description

Application interface for the SDT decoder and the SDT generator.

>

Author
Johan Bilien jobi@.nosp@m.via..nosp@m.ecp.f.nosp@m.r

Application interface for the SDT decoder and the SDT generator. New decoded SDT tables are sent by callback to the application.

Function Documentation

◆ dvbpsi_sdt_attach()

bool dvbpsi_sdt_attach ( dvbpsi_t * p_dvbpsi,
uint8_t i_table_id,
uint16_t i_extension,
dvbpsi_sdt_callback pf_callback,
void * p_priv )

Creation and initialization of a SDT decoder. It is attached to p_dvbpsi.

Parameters
p_dvbpsipointer to dvbpsi to hold decoder/demuxer structure
i_table_idTable ID, 0x42 or 0x46.
i_extensionTable ID extension, here TS ID.
pf_callbackfunction to call back on new SDT.
p_privprivate data given in argument to the callback.
Returns
true on success, false on failure

◆ dvbpsi_sdt_delete()

void dvbpsi_sdt_delete ( dvbpsi_sdt_t * p_sdt)

Clean and free a dvbpsi_sdt_t structure.

Parameters
p_sdtpointer to the SDT structure
Returns
nothing.

◆ dvbpsi_sdt_detach()

void dvbpsi_sdt_detach ( dvbpsi_t * p_dvbpsi,
uint8_t i_table_id,
uint16_t i_extension )

Destroy a SDT decoder.

Parameters
p_dvbpsipointer holding decoder/demuxer structure
i_table_idTable ID, 0x42 or 0x46.
i_extensionTable ID extension, here TS ID.
Returns
nothing.

◆ dvbpsi_sdt_empty()

void dvbpsi_sdt_empty ( dvbpsi_sdt_t * p_sdt)

Clean a dvbpsi_sdt_t structure.

Parameters
p_sdtpointer to the SDT structure
Returns
nothing.

◆ dvbpsi_sdt_init()

void dvbpsi_sdt_init ( dvbpsi_sdt_t * p_sdt,
uint8_t i_table_id,
uint16_t i_extension,
uint8_t i_version,
bool b_current_next,
uint16_t i_network_id )

Initialize a user-allocated dvbpsi_sdt_t structure.

Parameters
p_sdtpointer to the SDT structure
i_table_idTable ID, 0x42 or 0x46.
i_extensionTable ID extension, here TS ID.
i_versionSDT version
b_current_nextcurrent next indicator
i_network_idoriginal network id
Returns
nothing.

◆ dvbpsi_sdt_new()

dvbpsi_sdt_t * dvbpsi_sdt_new ( uint8_t i_table_id,
uint16_t i_extension,
uint8_t i_version,
bool b_current_next,
uint16_t i_network_id )

Allocate and initialize a new dvbpsi_sdt_t structure.

Parameters
i_table_idTable ID, 0x42 or 0x46.
i_extensionTable ID extension, here TS ID.
i_versionSDT version
b_current_nextcurrent next indicator
i_network_idoriginal network id
Returns
p_sdt pointer to the SDT structure

◆ dvbpsi_sdt_sections_generate()

dvbpsi_psi_section_t * dvbpsi_sdt_sections_generate ( dvbpsi_t * p_dvbpsi,
dvbpsi_sdt_t * p_sdt )

SDT generator.

Parameters
p_dvbpsihandle to dvbpsi with attached decoder
p_sdtSDT structure
Returns
a pointer to the list of generated PSI sections.

Generate SDT sections based on the dvbpsi_sdt_t structure.

◆ dvbpsi_sdt_service_add()

dvbpsi_sdt_service_t * dvbpsi_sdt_service_add ( dvbpsi_sdt_t * p_sdt,
uint16_t i_service_id,
bool b_eit_schedule,
bool b_eit_present,
uint8_t i_running_status,
bool b_free_ca )

Add a service at the end of the SDT.

Parameters
p_sdtpointer to the SDT structure
i_service_idService ID
b_eit_scheduleEIT Schedule flag
b_eit_presentEIT Present/Following flag
i_running_statusRunning status
b_free_caFree CA flag
Returns
a pointer to the added service description.

◆ dvbpsi_sdt_service_descriptor_add()

dvbpsi_descriptor_t * dvbpsi_sdt_service_descriptor_add ( dvbpsi_sdt_service_t * p_service,
uint8_t i_tag,
uint8_t i_length,
uint8_t * p_data )

Add a descriptor in the SDT service.

Parameters
p_servicepointer to the service structure
i_tagdescriptor's tag
i_lengthdescriptor's length
p_datadescriptor's data
Returns
a pointer to the added descriptor.