Subtable demutiplexor. More...
Go to the source code of this file.
Data Structures | |
struct | dvbpsi_demux_subdec_s |
Subtable decoder structure. More... | |
struct | dvbpsi_demux_s |
subtable demultiplexor structure More... | |
Typedefs | |
typedef void(* | dvbpsi_demux_new_cb_t )(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, void *p_cb_data) |
Callback used in case of a new subtable detected. | |
typedef void(* | dvbpsi_demux_gather_cb_t )(dvbpsi_t *p_dvbpsi, dvbpsi_decoder_t *p_decoder, dvbpsi_psi_section_t *p_section) |
Callback used for gathering psi sections on behalf of subtable decoders. | |
typedef void(* | dvbpsi_demux_detach_cb_t )(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension) |
Callback used for detaching subtable decoder from demuxer. | |
typedef struct dvbpsi_demux_subdec_s | dvbpsi_demux_subdec_t |
dvbpsi_demux_subdec_t type definition. | |
typedef struct dvbpsi_demux_s | dvbpsi_demux_t |
dvbpsi_demux_t type definition. | |
Functions | |
bool | dvbpsi_AttachDemux (dvbpsi_t *p_dvbpsi, dvbpsi_demux_new_cb_t pf_new_cb, void *p_new_cb_data) |
Attaches a new demux structure on dvbpsi_t* handle. | |
void | dvbpsi_DetachDemux (dvbpsi_t *p_dvbpsi) |
Destroys a demux structure. | |
dvbpsi_demux_subdec_t * | dvbpsi_demuxGetSubDec (dvbpsi_demux_t *p_demux, uint8_t i_table_id, uint16_t i_extension) |
Looks for a subtable decoder, given the subtable ID. | |
void | dvbpsi_Demux (dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section) |
Sends the PSI sections to the right subtable decoder according to their table ID and extension. | |
dvbpsi_demux_subdec_t * | dvbpsi_NewDemuxSubDecoder (const uint8_t i_table_id, const uint16_t i_extension, dvbpsi_demux_detach_cb_t pf_detach, dvbpsi_demux_gather_cb_t pf_gather, dvbpsi_decoder_t *p_decoder) |
Allocates a new demux sub table decoder and initializes it. | |
void | dvbpsi_DeleteDemuxSubDecoder (dvbpsi_demux_subdec_t *p_subdec) |
Releases memory allocated with. | |
void | dvbpsi_AttachDemuxSubDecoder (dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t *p_subdec) |
Attach a subtable decoder to the given demux handle. | |
void | dvbpsi_DetachDemuxSubDecoder (dvbpsi_demux_t *p_demux, dvbpsi_demux_subdec_t *p_subdec) |
Detach a subtable decoder from the given demux pointer. |
Subtable demutiplexor.
>
void(* dvbpsi_demux_detach_cb_t)(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension) |
Callback used for detaching subtable decoder from demuxer.
table extention to detach
void(* dvbpsi_demux_gather_cb_t)(dvbpsi_t *p_dvbpsi, void *p_cb_data, dvbpsi_psi_section_t *p_section) |
Callback used for gathering psi sections on behalf of subtable decoders.
pointer to psi section
void(* dvbpsi_demux_new_cb_t)(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension, void *p_cb_data) |
Callback used in case of a new subtable detected.
pointer to callback data
bool dvbpsi_AttachDemux | ( | dvbpsi_t * | p_dvbpsi, | |
dvbpsi_demux_new_cb_t | pf_new_cb, | |||
void * | p_new_cb_data | |||
) |
Attaches a new demux structure on dvbpsi_t* handle.
p_dvbpsi | pointer to dvbpsi_t handle | |
pf_new_cb | A callcack called when a new type of subtable is found. | |
p_new_cb_data | Data given to the previous callback. |
void dvbpsi_AttachDemuxSubDecoder | ( | dvbpsi_demux_t * | p_demux, | |
dvbpsi_demux_subdec_t * | p_subdec | |||
) |
Attach a subtable decoder to the given demux handle.
p_demux | pointer to dvbpsi_demux_t | |
p_subdec | pointer to dvbpsi_demux_subdec_t |
void dvbpsi_DeleteDemuxSubDecoder | ( | dvbpsi_demux_subdec_t * | p_subdec | ) |
Releases memory allocated with.
p_subdec | pointer to demux subtable decoder. |
void dvbpsi_Demux | ( | dvbpsi_t * | p_dvbpsi, | |
dvbpsi_psi_section_t * | p_section | |||
) |
Sends the PSI sections to the right subtable decoder according to their table ID and extension.
p_dvbpsi | PSI decoder handle. | |
p_section | PSI section. |
dvbpsi_demux_subdec_t * dvbpsi_demuxGetSubDec | ( | dvbpsi_demux_t * | p_demux, | |
uint8_t | i_table_id, | |||
uint16_t | i_extension | |||
) |
Looks for a subtable decoder, given the subtable ID.
p_demux | Pointer to the demux structure. | |
i_table_id | Table ID of the wanted subtable. | |
i_extension | Table ID extension of the wanted subtable. |
void dvbpsi_DetachDemux | ( | dvbpsi_t * | p_dvbpsi | ) |
Destroys a demux structure.
p_dvbpsi | The handle of the demux to be destroyed. |
void dvbpsi_DetachDemuxSubDecoder | ( | dvbpsi_demux_t * | p_demux, | |
dvbpsi_demux_subdec_t * | p_subdec | |||
) |
Detach a subtable decoder from the given demux pointer.
p_demux | pointer to dvbpsi_demux_t | |
p_subdec | pointer to dvbpsi_demux_subdec_t |
dvbpsi_demux_subdec_t * dvbpsi_NewDemuxSubDecoder | ( | const uint8_t | i_table_id, | |
const uint16_t | i_extension, | |||
dvbpsi_demux_detach_cb_t | pf_detach, | |||
dvbpsi_demux_gather_cb_t | pf_gather, | |||
dvbpsi_decoder_t * | p_decoder | |||
) |
Allocates a new demux sub table decoder and initializes it.
i_table_id | table id to create subtable decoder for | |
i_extension | table extension to create subtable decoder for | |
pf_detach | pointer to detach function for subtable decoder. | |
pf_gather | pointer to gather function for subtable decoder. | |
p_decoder | pointer to private decoder. |