libdvbpsi  0.2.2
Data Structures | Macros | Typedefs | Functions
bat.h File Reference

Application interface for the BAT decoder. More...

Go to the source code of this file.

Data Structures

struct  dvbpsi_bat_ts_s
 BAT transport stream description structure. More...
 
struct  dvbpsi_bat_s
 BAT structure. More...
 

Macros

#define dvbpsi_NewBAT(p_bat, i_bouquet_id, i_version, b_current_next)
 Allocate and initialize a new dvbpsi_bat_t structure. More...
 
#define dvbpsi_DeleteBAT(p_bat)
 Clean and free a dvbpsi_bat_t structure. More...
 

Typedefs

typedef struct dvbpsi_bat_ts_s dvbpsi_bat_ts_t
 dvbpsi_bat_ts_t type definition.
 
typedef struct dvbpsi_bat_s dvbpsi_bat_t
 dvbpsi_bat_t type definition.
 
typedef void(* dvbpsi_bat_callback )(void *p_cb_data, dvbpsi_bat_t *p_new_bat)
 Callback type definition.
 

Functions

int dvbpsi_AttachBAT (dvbpsi_decoder_t *p_psi_decoder, uint8_t i_table_id, uint16_t i_extension, dvbpsi_bat_callback pf_callback, void *p_cb_data)
 
void dvbpsi_DetachBAT (dvbpsi_demux_t *p_demux, uint8_t i_table_id, uint16_t i_extension)
 Destroy a BAT decoder. More...
 
void dvbpsi_InitBAT (dvbpsi_bat_t *p_bat, uint16_t i_bouquet_id, uint8_t i_version, int b_current_next)
 Initialize a user-allocated dvbpsi_bat_t structure. More...
 
void dvbpsi_EmptyBAT (dvbpsi_bat_t *p_bat)
 Clean a dvbpsi_bat_t structure. More...
 
dvbpsi_psi_section_tdvbpsi_GenBATSections (dvbpsi_bat_t *p_bat)
 

Detailed Description

Application interface for the BAT decoder.

Author
Zhu zhenglu zhuzl.nosp@m.u@gm.nosp@m.ail.c.nosp@m.om Application interface for the BAT decoder. New decoded BAT are sent by callback to the application. If a table wasn't active (b_current_next == 0) and the next is the same but active (b_current_next == 1) then the service description list is empty and should be caught from the previous structure. This is a simulation to sdt.h

Macro Definition Documentation

#define dvbpsi_DeleteBAT (   p_bat)
Value:
do { \
free(p_bat); \
} while(0);
void dvbpsi_EmptyBAT(dvbpsi_bat_t *p_bat)
Clean a dvbpsi_bat_t structure.

Clean and free a dvbpsi_bat_t structure.

Parameters
p_batpointer to the BAT structure
Returns
nothing.
#define dvbpsi_NewBAT (   p_bat,
  i_bouquet_id,
  i_version,
  b_current_next 
)
Value:
do { \
p_bat = (dvbpsi_bat_t*)malloc(sizeof(dvbpsi_bat_t)); \
if(p_bat != NULL) \
dvbpsi_InitBAT(p_bat, i_bouquet_id, i_version, b_current_next); \
} while(0);
BAT structure.
Definition: bat.h:89
void dvbpsi_InitBAT(dvbpsi_bat_t *p_bat, uint16_t i_bouquet_id, uint8_t i_version, int b_current_next)
Initialize a user-allocated dvbpsi_bat_t structure.

Allocate and initialize a new dvbpsi_bat_t structure.

Parameters
p_batpointer to the BAT structure
i_bouquet_idbouquet ID
i_versionBAT version
b_current_nextcurrent next indicator
i_network_idoriginal network id
Returns
nothing.

Function Documentation

void dvbpsi_DetachBAT ( dvbpsi_demux_t p_demux,
uint8_t  i_table_id,
uint16_t  i_extension 
)

Destroy a BAT decoder.

Parameters
p_demuxSubtable demultiplexor to which the decoder is attached.
i_table_idTable ID, 0x4a.
i_extensionTable ID extension, here bouquet ID.
Returns
nothing.
void dvbpsi_EmptyBAT ( dvbpsi_bat_t p_bat)

Clean a dvbpsi_bat_t structure.

Parameters
p_batpointer to the BAT structure
Returns
nothing.
void dvbpsi_InitBAT ( dvbpsi_bat_t p_bat,
uint16_t  i_bouquet_id,
uint8_t  i_version,
int  b_current_next 
)

Initialize a user-allocated dvbpsi_bat_t structure.

Parameters
p_batpointer to the BAT structure
i_bouquet_idbouquet ID
i_versionBAT version
b_current_nextcurrent next indicator
i_network_idoriginal network id
Returns
nothing.