Commit 387b7cf5 authored by Jean-Paul Saman's avatar Jean-Paul Saman

ATSC VCT table: forward port

- indentation cleanup
- Gather fucnction cleanup
- API cleanup
parent 7e6453a4
This diff is collapsed.
......@@ -51,12 +51,12 @@ typedef struct dvbpsi_atsc_vct_channel_s
uint16_t i_channel_tsid; /*!< Channel Transport stream id. */
uint16_t i_program_number;/*!< Channel MPEG program number. */
uint8_t i_etm_location; /*!< Extended Text Message location. */
int b_access_controlled; /*!< Whether the channel is scrambled. */
int b_path_select; /*!< Path selection, only used by CVCT. */
int b_out_of_band; /*!< Whether the channel is carried on the out-of-band
bool b_access_controlled; /*!< Whether the channel is scrambled. */
bool b_path_select; /*!< Path selection, only used by CVCT. */
bool b_out_of_band; /*!< Whether the channel is carried on the out-of-band
physical transmission channel, only used by CVCT. */
int b_hidden; /*!< Not accessible directly by the user. */
int b_hide_guide; /*!< Whether the channel should not be displayed in the guide. */
bool b_hidden; /*!< Not accessible directly by the user. */
bool b_hide_guide; /*!< Whether the channel should not be displayed in the guide. */
uint8_t i_service_type; /*!< Channel type. */
uint16_t i_source_id; /*!< Programming source associated with the channel.*/
......@@ -82,14 +82,14 @@ typedef struct dvbpsi_atsc_vct_channel_s
typedef struct dvbpsi_atsc_vct_s
{
uint8_t i_version; /*!< version_number */
int b_current_next; /*!< current_next_indicator */
bool b_current_next; /*!< current_next_indicator */
uint16_t i_ts_id; /*!< transport stream id */
uint8_t i_protocol; /*!< PSIP Protocol version */
int b_cable_vct; /*!< 1 if this is a cable VCT, 0 if it is a Terrestrial VCT. */
bool b_cable_vct; /*!< 1 if this is a cable VCT, 0 if it is a Terrestrial VCT. */
dvbpsi_descriptor_t *p_first_descriptor; /*!< First descriptor. */
dvbpsi_atsc_vct_channel_t *p_first_channel; /*!< First channel information structure. */
dvbpsi_descriptor_t *p_first_descriptor; /*!< First descriptor. */
} dvbpsi_atsc_vct_t;
/*****************************************************************************
......@@ -97,7 +97,7 @@ typedef struct dvbpsi_atsc_vct_s
*****************************************************************************/
/*!
* \typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data,
dvbpsi_atsc_vct_t* p_new_vct)
* dvbpsi_atsc_vct_t* p_new_vct)
* \brief Callback type definition.
*/
typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, dvbpsi_atsc_vct_t* p_new_vct);
......@@ -106,75 +106,75 @@ typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, dvbpsi_atsc_vct_t* p_
* dvbpsi_atsc_AttachVCT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_AttachVCT(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
dvbpsi_atsc_vct_callback pf_callback, void* p_cb_data)
* \fn bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* dvbpsi_atsc_vct_callback pf_callback, void* p_cb_data)
*
* \brief Creation and initialization of a VCT decoder.
* \param p_demux Subtable demultiplexor to which the decoder is attached.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
* \param i_table_id Table ID, 0xC8 or 0xC9.
* \param i_extension Table ID extension, here TS ID.
* \param pf_callback function to call back on new VCT.
* \param p_cb_data private data given in argument to the callback.
* \return 0 if everything went ok.
* \return true if everything went ok, else false.
*/
int dvbpsi_atsc_AttachVCT(dvbpsi_decoder_t * p_psi_decoder, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_atsc_vct_callback pf_callback, void* p_cb_data);
bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
uint16_t i_extension, dvbpsi_atsc_vct_callback pf_callback,
void* p_cb_data);
/*****************************************************************************
* dvbpsi_DetachVCT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_DetachVCT(dvbpsi_demux_t * p_demux, uint8_t i_table_id)
* \fn void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* uint16_t i_extension);
*
* \brief Destroy a VCT decoder.
* \param p_demux Subtable demultiplexor to which the decoder is attached.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
* \param i_table_id Table ID, 0xC8 or 0xC9.
* \param i_extension Table ID extension, here TS ID.
* \return nothing.
*/
void dvbpsi_atsc_DetachVCT(dvbpsi_demux_t * p_demux, uint8_t i_table_id,
uint16_t i_extension);
void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension);
/*****************************************************************************
* dvbpsi_atsc_InitVCT/dvbpsi_atsc_NewVCT
* dvbpsi_atsc_InitVCT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct, uint8_t i_version,
int b_current_next, uint8_t i_protocol)
bool b_current_next, uint8_t i_protocol, uint16_t i_ts_id, bool b_cable_vct)
* \brief Initialize a user-allocated dvbpsi_atsc_vct_t structure.
* \param p_vct pointer to the VCT structure
* \param i_version VCT version
* \param b_current_next current next indicator
* \param i_protocol PSIP Protocol version.
* \param i_ts_id Transport Stream id.
* \param b_cable_vct Whether this is CVCT or a TVCT.
* \param i_version VCT version
* \param b_current_next current next indicator
* \return nothing.
*/
void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct,uint8_t i_version, int b_current_next,
uint8_t i_protocol, uint16_t i_ts_id, int b_cable_vct);
void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct, uint8_t i_protocol,
uint16_t i_ts_id, bool b_cable_vct,
uint8_t i_version, bool b_current_next);
/*****************************************************************************
* dvbpsi_atsc_NewVCT
*****************************************************************************/
/*!
* \def dvbpsi_atsc_NewVCT(p_vct, i_network_id, i_version, b_current_next)
* \fn dvbpsi_atsc_vct_t *dvbpsi_atsc_NewVCT(uint8_t i_protocol, uint16_t i_ts_id,
* bool b_cable_vct, uint8_t i_version, bool b_current_next);
*
* \brief Allocate and initialize a new dvbpsi_vct_t structure.
* \param p_vct pointer to the VCT structure
* \param i_protocol PSIP Protocol version.
* \param i_network_id network id
* \param b_cable_vct Whether this is CVCT or a TVCT.
* \param i_version VCT version
* \param b_current_next current next indicator
* \param i_protocol PSIP Protocol version.
* \param b_cable_vct Whether this is CVCT or a TVCT.
* \return nothing.
* \return p_vct pointer to the VCT structure
*/
#define dvbpsi_atsc_NewVCT(p_vct, i_version, b_current_next, i_protocol, \
i_ts_id, b_cable_vct) \
do { \
p_vct = (dvbpsi_atsc_vct_t*)malloc(sizeof(dvbpsi_atsc_vct_t)); \
if(p_vct != NULL) \
dvbpsi_atsc_InitVCT(p_vct, i_version, b_current_next, i_protocol, \
i_ts_id, b_cable_vct); \
} while(0);
dvbpsi_atsc_vct_t *dvbpsi_atsc_NewVCT(uint8_t i_protocol, uint16_t i_ts_id,
bool b_cable_vct, uint8_t i_version, bool b_current_next);
/*****************************************************************************
* dvbpsi_atsc_EmptyVCT/dvbpsi_atsc_DeleteVCT
* dvbpsi_atsc_EmptyVCT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t* p_vct)
......@@ -184,17 +184,16 @@ do { \
*/
void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct);
/*****************************************************************************
* dvbpsi_atsc_DeleteVCT
*****************************************************************************/
/*!
* \def dvbpsi_atsc_DeleteVCT(p_vct)
* \fn void dvbpsi_DeleteVCT(dvbpsi_atsc_vct_t *p_vct)
* \brief Clean and free a dvbpsi_vct_t structure.
* \param p_vct pointer to the VCT structure
* \return nothing.
*/
#define dvbpsi_atsc_DeleteVCT(p_vct) \
do { \
dvbpsi_atsc_EmptyVCT(p_vct); \
free(p_vct); \
} while(0);
void dvbpsi_atsc_DeleteVCT(dvbpsi_atsc_vct_t *p_vct);
#ifdef __cplusplus
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment