34#ifndef _DVBPSI_DEMUX_H_
35#define _DVBPSI_DEMUX_H_
144 void * p_new_cb_data);
249#error "Multiple inclusions of demux.h"
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.
Definition demux.h:72
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.
struct dvbpsi_demux_s dvbpsi_demux_t
dvbpsi_demux_t type definition.
Definition demux.h:117
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.
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.
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_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.
struct dvbpsi_demux_subdec_s dvbpsi_demux_subdec_t
dvbpsi_demux_subdec_t type definition.
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.
Definition demux.h:62
void dvbpsi_DeleteDemuxSubDecoder(dvbpsi_demux_subdec_t *p_subdec)
Releases memory allocated with.
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.
Definition demux.h:51
void dvbpsi_DetachDemux(dvbpsi_t *p_dvbpsi)
Destroys a demux structure.
struct dvbpsi_decoder_s dvbpsi_decoder_t
dvbpsi_decoder_t type definition.
Definition dvbpsi.h:105
struct dvbpsi_psi_section_s dvbpsi_psi_section_t
dvbpsi_psi_section_t type definition.
Definition dvbpsi.h:209
#define DVBPSI_DECODER_COMMON
Common members for all dvbpsi table decoders. These should be the first members of a table decoder st...
Definition dvbpsi.h:231
struct dvbpsi_s dvbpsi_t
DVBPSI handle structure abstration.
Definition dvbpsi.h:66
uint8_t i_table_id
Definition sis.h:1
uint16_t i_extension
Definition sis.h:2
subtable demultiplexor structure
Definition demux.h:120
dvbpsi_demux_new_cb_t pf_new_callback
Definition demux.h:126
DVBPSI_DECODER_COMMON dvbpsi_demux_subdec_t * p_first_subdec
Definition demux.h:123
void * p_new_cb_data
Definition demux.h:127
Subtable decoder structure.
Definition demux.h:91
struct dvbpsi_demux_subdec_s * p_next
Definition demux.h:99
dvbpsi_decoder_t * p_decoder
Definition demux.h:95
uint32_t i_id
Definition demux.h:92
dvbpsi_demux_gather_cb_t pf_gather
Definition demux.h:94
dvbpsi_demux_detach_cb_t pf_detach
Definition demux.h:97