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 ...@@ -51,12 +51,12 @@ typedef struct dvbpsi_atsc_vct_channel_s
uint16_t i_channel_tsid; /*!< Channel Transport stream id. */ uint16_t i_channel_tsid; /*!< Channel Transport stream id. */
uint16_t i_program_number;/*!< Channel MPEG program number. */ uint16_t i_program_number;/*!< Channel MPEG program number. */
uint8_t i_etm_location; /*!< Extended Text Message location. */ uint8_t i_etm_location; /*!< Extended Text Message location. */
int b_access_controlled; /*!< Whether the channel is scrambled. */ bool b_access_controlled; /*!< Whether the channel is scrambled. */
int b_path_select; /*!< Path selection, only used by CVCT. */ bool 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_out_of_band; /*!< Whether the channel is carried on the out-of-band
physical transmission channel, only used by CVCT. */ physical transmission channel, only used by CVCT. */
int b_hidden; /*!< Not accessible directly by the user. */ bool b_hidden; /*!< Not accessible directly by the user. */
int b_hide_guide; /*!< Whether the channel should not be displayed in the guide. */ bool b_hide_guide; /*!< Whether the channel should not be displayed in the guide. */
uint8_t i_service_type; /*!< Channel type. */ uint8_t i_service_type; /*!< Channel type. */
uint16_t i_source_id; /*!< Programming source associated with the channel.*/ uint16_t i_source_id; /*!< Programming source associated with the channel.*/
...@@ -82,14 +82,14 @@ typedef struct dvbpsi_atsc_vct_channel_s ...@@ -82,14 +82,14 @@ typedef struct dvbpsi_atsc_vct_channel_s
typedef struct dvbpsi_atsc_vct_s typedef struct dvbpsi_atsc_vct_s
{ {
uint8_t i_version; /*!< version_number */ 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 */ uint16_t i_ts_id; /*!< transport stream id */
uint8_t i_protocol; /*!< PSIP Protocol version */ 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_atsc_vct_channel_t *p_first_channel; /*!< First channel information structure. */
dvbpsi_descriptor_t *p_first_descriptor; /*!< First descriptor. */
} dvbpsi_atsc_vct_t; } dvbpsi_atsc_vct_t;
/***************************************************************************** /*****************************************************************************
...@@ -97,7 +97,7 @@ typedef struct dvbpsi_atsc_vct_s ...@@ -97,7 +97,7 @@ typedef struct dvbpsi_atsc_vct_s
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, * \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. * \brief Callback type definition.
*/ */
typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, dvbpsi_atsc_vct_t* p_new_vct); 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_ ...@@ -106,75 +106,75 @@ typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, dvbpsi_atsc_vct_t* p_
* dvbpsi_atsc_AttachVCT * dvbpsi_atsc_AttachVCT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_AttachVCT(dvbpsi_demux_t * p_demux, uint8_t i_table_id, * \fn bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
dvbpsi_atsc_vct_callback pf_callback, void* p_cb_data) * dvbpsi_atsc_vct_callback pf_callback, void* p_cb_data)
* *
* \brief Creation and initialization of a VCT decoder. * \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_table_id Table ID, 0xC8 or 0xC9.
* \param i_extension Table ID extension, here TS ID. * \param i_extension Table ID extension, here TS ID.
* \param pf_callback function to call back on new VCT. * \param pf_callback function to call back on new VCT.
* \param p_cb_data private data given in argument to the callback. * \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, 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); uint16_t i_extension, dvbpsi_atsc_vct_callback pf_callback,
void* p_cb_data);
/***************************************************************************** /*****************************************************************************
* dvbpsi_DetachVCT * 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. * \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_table_id Table ID, 0xC8 or 0xC9.
* \param i_extension Table ID extension, here TS ID. * \param i_extension Table ID extension, here TS ID.
* \return nothing. * \return nothing.
*/ */
void dvbpsi_atsc_DetachVCT(dvbpsi_demux_t * p_demux, uint8_t i_table_id, void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension);
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, * \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. * \brief Initialize a user-allocated dvbpsi_atsc_vct_t structure.
* \param p_vct pointer to the VCT 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_protocol PSIP Protocol version.
* \param i_ts_id Transport Stream id. * \param i_ts_id Transport Stream id.
* \param b_cable_vct Whether this is CVCT or a TVCT. * \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. * \return nothing.
*/ */
void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct,uint8_t i_version, int b_current_next, void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct, uint8_t i_protocol,
uint8_t i_protocol, uint16_t i_ts_id, int b_cable_vct); 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. * \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 i_network_id network id
* \param b_cable_vct Whether this is CVCT or a TVCT.
* \param i_version VCT version * \param i_version VCT version
* \param b_current_next current next indicator * \param b_current_next current next indicator
* \param i_protocol PSIP Protocol version. * \return p_vct pointer to the VCT structure
* \param b_cable_vct Whether this is CVCT or a TVCT.
* \return nothing.
*/ */
#define dvbpsi_atsc_NewVCT(p_vct, i_version, b_current_next, i_protocol, \ dvbpsi_atsc_vct_t *dvbpsi_atsc_NewVCT(uint8_t i_protocol, uint16_t i_ts_id,
i_ts_id, b_cable_vct) \ bool b_cable_vct, uint8_t i_version, bool b_current_next);
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_EmptyVCT/dvbpsi_atsc_DeleteVCT * dvbpsi_atsc_EmptyVCT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t* p_vct) * \fn void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t* p_vct)
...@@ -184,17 +184,16 @@ do { \ ...@@ -184,17 +184,16 @@ do { \
*/ */
void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct); 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. * \brief Clean and free a dvbpsi_vct_t structure.
* \param p_vct pointer to the VCT structure * \param p_vct pointer to the VCT structure
* \return nothing. * \return nothing.
*/ */
#define dvbpsi_atsc_DeleteVCT(p_vct) \ void dvbpsi_atsc_DeleteVCT(dvbpsi_atsc_vct_t *p_vct);
do { \
dvbpsi_atsc_EmptyVCT(p_vct); \
free(p_vct); \
} while(0);
#ifdef __cplusplus #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