libdvbpsi  2.0.0-git
MPEG Transport Stream PSI table parser
Data Structures | Typedefs | Functions
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)
 
void dvbpsi_sdt_detach (dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
 Destroy a SDT decoder. More...
 
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. More...
 
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. More...
 
void dvbpsi_sdt_empty (dvbpsi_sdt_t *p_sdt)
 Clean a dvbpsi_sdt_t structure. More...
 
void dvbpsi_sdt_delete (dvbpsi_sdt_t *p_sdt)
 Clean and free a dvbpsi_sdt_t structure. More...
 
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. More...
 
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. More...
 
dvbpsi_psi_section_tdvbpsi_sdt_sections_generate (dvbpsi_t *p_dvbpsi, dvbpsi_sdt_t *p_sdt)
 SDT generator. More...
 

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_delete()

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.