Commit 5ce1bf15 authored by Jean-Paul Saman's avatar Jean-Paul Saman

doxygen fixes.

Update doxygen information and fix linkage of howto-new-api.doxygen
parent 826a8881
/*! \page Howto port dvbpsi API (upto version 0.2.0) to version 1.0.0 /*! \page howto-new-api Howto port dvbpsi API (upto version 0.2.0) to version 1.0.0
<p>An update to libdvbpsi API was long overdue. In time the API grew to be inconsistent and <p>An update to libdvbpsi API was long overdue. In time the API grew to be inconsistent and
needed some cleanup. The following issue are addressed in this version:</p> needed some cleanup. The following issue are addressed in this version:</p>
...@@ -12,7 +12,8 @@ needed some cleanup. The following issue are addressed in this version:</p> ...@@ -12,7 +12,8 @@ needed some cleanup. The following issue are addressed in this version:</p>
<p>The biggest change is the addition off an explicit dvbpsi_t pointer to <p>The biggest change is the addition off an explicit dvbpsi_t pointer to
ALL table decoder and encoder API's. This dvbpsi_t pointer is a dvbpsi handle ALL table decoder and encoder API's. This dvbpsi_t pointer is a dvbpsi handle
which must be allocated using <em>dvbpsi_NewHandle()</em> and takes a callback function which must be allocated using <em>dvbpsi_NewHandle()</em> and takes a callback function
for logging. for logging. The handle must be deleted with <em>dvbpsi_DeleteHandle()</em> if it is no
longer needed.
</p> </p>
<code>dvbpsi_t *dvbpsi_NewHandle(dvbpsi_message_cb callback, enum dvbpsi_msg_level level);</code> <code>dvbpsi_t *dvbpsi_NewHandle(dvbpsi_message_cb callback, enum dvbpsi_msg_level level);</code>
...@@ -61,7 +62,7 @@ error: ...@@ -61,7 +62,7 @@ error:
<p>The <em>message callback function</em> <b>dvbpsi_message</b> is defined as follows below. In this case <p>The <em>message callback function</em> <b>dvbpsi_message</b> is defined as follows below. In this case
the output goes directly to the console. Applications however can call into their messaging API and pass the output goes directly to the console. Applications however can call into their messaging API and pass
along libdvbpsi messages if wanted. along libdvbpsi messages if wanted. See the following example:
</p> </p>
<code> <code>
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
* \section intro_sec Introduction * \section intro_sec Introduction
\author Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr> \author Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
\author Christophe Massion <massiot@via.ecp.fr> \author Christophe Massiot <massiot@via.ecp.fr>
\author Jean-Paul Saman <jpsaman@videolan.org> \author Jean-Paul Saman <jpsaman@videolan.org>
\author Johan Billen <jobi@via.ecp.fr> \author Johan Billen <jobi@via.ecp.fr>
\author Johann Hanne <jhml@gmx.net> \author Johann Hanne <jhml@gmx.net>
\author and others (see AUTHORS file) \author and others (see AUTHORS file)
<p>The <em>libdvbpsi</em> is a library developed by the <a <p>The <em>libdvbpsi</em> is a library developed by <a
href="http://www.videolan.org/">VideoLAN</a> team. This document href="http://www.videolan.org/">VideoLAN</a>. This document
describes how to use it and the "C" API.</p> describes how to use it and the "C" API.</p>
<h2>What is libdvbpsi ?</h2> <h2>What is libdvbpsi ?</h2>
...@@ -37,7 +37,7 @@ describes how to use it and the "C" API.</p> ...@@ -37,7 +37,7 @@ describes how to use it and the "C" API.</p>
<li>Program Map Table (<em>PMT</em>)</li> <li>Program Map Table (<em>PMT</em>)</li>
<li>Section Description Table (<em>SDT</em>)</li> <li>Section Description Table (<em>SDT</em>)</li>
<li>Splice Information Section Table (<em>SIS</em>)</li> <li>Splice Information Section Table (<em>SIS</em>)</li>
<li>TOT Table (<em>TOT</em>)</li> <li>TOT/TDT Table (<em>TOT</em>)</li>
</ul> </ul>
<h2>Usage</h2> <h2>Usage</h2>
......
...@@ -3,6 +3,6 @@ ...@@ -3,6 +3,6 @@
<p>Look at the PAT example. Especially how the PSI decoder is <p>Look at the PAT example. Especially how the PSI decoder is
initialized. It's mandatory to check the initialized. It's mandatory to check the
dvbpsi_decoder_s::b_discontinuity flag each time the PSI decoder calls dvbpsi_decoder_s::b_discontinuity flag each time the PSI decoder calls
the specific decoder and then to reset it to 0.</p> the specific decoder and then to reset it to false.</p>
*/ */
...@@ -28,7 +28,6 @@ TS discontinuities signaled by the <em>PSI decoder</em>. </p> ...@@ -28,7 +28,6 @@ TS discontinuities signaled by the <em>PSI decoder</em>. </p>
tables.</p> tables.</p>
\ref usage \ref usage
\ref howto-new-api \ref howto-new-api
*/ */
...@@ -23,8 +23,7 @@ dvbpsi_DetachPAT()). The dvbpsi handle must be released by calling ...@@ -23,8 +23,7 @@ dvbpsi_DetachPAT()). The dvbpsi handle must be released by calling
dvbpsi_DeleteHandle(). At the time of calling the decoder must already dvbpsi_DeleteHandle(). At the time of calling the decoder must already
have been detached.</p> have been detached.</p>
<p>For specific tools, the best to do is to have a look at the include <p>Look at the header files for specific table, see the list below:</p>
file:</p>
<ul> <ul>
<li>Program Specific Information: psi.h</li> <li>Program Specific Information: psi.h</li>
...@@ -36,11 +35,11 @@ file:</p> ...@@ -36,11 +35,11 @@ file:</p>
<li>Network Informtation Table: nit.h</li> <li>Network Informtation Table: nit.h</li>
<li>Stream Description Table: sdt.h</li> <li>Stream Description Table: sdt.h</li>
<li>Splice Information Section Table: sis.h</li> <li>Splice Information Section Table: sis.h</li>
<li>TOT: tot.h</li> <li>TDT/TOT: tot.h</li>
<li>ATSC tables: atsc_eit.h atsc_ett.h atsc_mgt.h atsc_stt.h atsc_vct.h</li>
</ul> </ul>
\ref structure \ref structure
\ref howto-new-api \ref howto-new-api
*/ */
...@@ -188,9 +188,9 @@ void dvbpsi_Demux(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section); ...@@ -188,9 +188,9 @@ void dvbpsi_Demux(dvbpsi_t *p_dvbpsi, dvbpsi_psi_section_t *p_section);
/*! /*!
* \fn dvbpsi_demux_subdec_t *dvbpsi_NewDemuxSubDecoder(const uint8_t i_table_id, * \fn dvbpsi_demux_subdec_t *dvbpsi_NewDemuxSubDecoder(const uint8_t i_table_id,
const uint16_t i_extension, const uint16_t i_extension,
dvbpsi_demux_detach_cb_t *pf_detach, dvbpsi_demux_detach_cb_t pf_detach,
dvbpsi_demux_gather_cb_t *pf_gather, dvbpsi_demux_gather_cb_t pf_gather,
void *cb_data) dvbpsi_decoder_t *p_decoder)
* \brief Allocates a new demux sub table decoder and initializes it. * \brief Allocates a new demux sub table decoder and initializes it.
* \param i_table_id table id to create subtable decoder for * \param i_table_id table id to create subtable decoder for
* \param i_extension table extension to create subtable decoder for * \param i_extension table extension to create subtable decoder for
...@@ -213,7 +213,6 @@ dvbpsi_demux_subdec_t *dvbpsi_NewDemuxSubDecoder(const uint8_t i_table_id, ...@@ -213,7 +213,6 @@ dvbpsi_demux_subdec_t *dvbpsi_NewDemuxSubDecoder(const uint8_t i_table_id,
* \brief Releases memory allocated with @see dvbpsi_NewDemuxSubDecoder. It will * \brief Releases memory allocated with @see dvbpsi_NewDemuxSubDecoder. It will
* also release p_cb_data pointer. * also release p_cb_data pointer.
* \param p_subdec pointer to demux subtable decoder. * \param p_subdec pointer to demux subtable decoder.
* \param p_new_cb_data Data given to the previous callback.
* \return nothing. * \return nothing.
*/ */
void dvbpsi_DeleteDemuxSubDecoder(dvbpsi_demux_subdec_t *p_subdec); void dvbpsi_DeleteDemuxSubDecoder(dvbpsi_demux_subdec_t *p_subdec);
......
...@@ -38,9 +38,9 @@ Decode Carousel id Descriptor. ...@@ -38,9 +38,9 @@ Decode Carousel id Descriptor.
*/ */
typedef struct dvbpsi_carousel_id_dr_s typedef struct dvbpsi_carousel_id_dr_s
{ {
uint32_t i_carousel_id; /*< carousel identifier */ uint32_t i_carousel_id; /*!< carousel identifier */
uint8_t i_private_data_len; /*< length of private data pointer in bytes */ uint8_t i_private_data_len; /*!< length of private data pointer in bytes */
uint8_t *p_private_data; /*< memory is allocated right after sizeof struct, uint8_t *p_private_data; /*!< memory is allocated right after sizeof struct,
when freeing this struct the private data is when freeing this struct the private data is
freed at the same time. */ freed at the same time. */
} dvbpsi_carousel_id_dr_t; } dvbpsi_carousel_id_dr_t;
......
...@@ -38,16 +38,16 @@ Decode Association Tag Descriptor. ...@@ -38,16 +38,16 @@ Decode Association Tag Descriptor.
*/ */
typedef struct dvbpsi_association_tag_dr_s typedef struct dvbpsi_association_tag_dr_s
{ {
uint16_t i_tag; /*< association tag identifier */ uint16_t i_tag; /*!< association tag identifier */
uint16_t i_use; /*< indicator if association tag identifier is in use */ uint16_t i_use; /*!< indicator if association tag identifier is in use */
uint8_t i_selector_len; /*< length of selector data in bytes */ uint8_t i_selector_len; /*!< length of selector data in bytes */
uint8_t *p_selector; /*< pointer to selector. Memory is allocated uint8_t *p_selector; /*!< pointer to selector. Memory is allocated
right after sizeof struct, when freeing this right after sizeof struct, when freeing this
struct the private data is freed at the same time. */ struct the private data is freed at the same time. */
uint8_t i_private_data_len; /*< length of private data segment in bytes */ uint8_t i_private_data_len; /*!< length of private data segment in bytes */
uint8_t *p_private_data; /*< pointer to private data. Memory is allocated uint8_t *p_private_data; /*!< pointer to private data. Memory is allocated
right after sizeof struct, when freeing this right after sizeof struct, when freeing this
struct the private data is freed at the same time. */ struct the private data is freed at the same time. */
} dvbpsi_association_tag_dr_t; } dvbpsi_association_tag_dr_t;
/***************************************************************************** /*****************************************************************************
......
...@@ -52,10 +52,13 @@ extern "C" { ...@@ -52,10 +52,13 @@ extern "C" {
* \typedef struct dvbpsi_network_nameg_dr_s dvbpsi_network_name_dr_t * \typedef struct dvbpsi_network_nameg_dr_s dvbpsi_network_name_dr_t
* \brief dvbpsi_network_name_dr_t type definition. * \brief dvbpsi_network_name_dr_t type definition.
*/ */
/*!
* \struct dvbpsi_network_name_dr_s
* \brief struct dvbpsi_network_name_dr_s definition @see dvbpsi_network_name_dr_t
*/
typedef struct dvbpsi_network_name_dr_s typedef struct dvbpsi_network_name_dr_s
{ {
uint8_t i_name_length; /*!< length of the i_name_byte uint8_t i_name_length; /*!< length of the i_name_byte array */
array */
uint8_t i_name_byte[255]; /*!< the name of the delivery system */ uint8_t i_name_byte[255]; /*!< the name of the delivery system */
} dvbpsi_network_name_dr_t; } dvbpsi_network_name_dr_t;
...@@ -80,7 +83,7 @@ dvbpsi_network_name_dr_t* dvbpsi_DecodeNetworkNameDr( ...@@ -80,7 +83,7 @@ dvbpsi_network_name_dr_t* dvbpsi_DecodeNetworkNameDr(
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn dvbpsi_descriptor_t * dvbpsi_GenNetworkNameDr( * \fn dvbpsi_descriptor_t * dvbpsi_GenNetworkNameDr(
dvbpsi_network_name_dr_t * p_decoded, int b_duplicate) dvbpsi_network_name_dr_t * p_decoded, bool b_duplicate)
* \brief "network name" descriptor generator. * \brief "network name" descriptor generator.
* \param p_decoded pointer to a decoded "network name" descriptor * \param p_decoded pointer to a decoded "network name" descriptor
* structure * structure
......
...@@ -42,7 +42,7 @@ extern "C" { ...@@ -42,7 +42,7 @@ extern "C" {
* dvbpsi_network_name_dr_t * dvbpsi_network_name_dr_t
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \struct dvbpsi_service_list_dr_t * \struct dvbpsi_service_list_dr_s
* \brief "service list" descriptor structure. * \brief "service list" descriptor structure.
* *
* This structure is used to store a decoded "service list" * This structure is used to store a decoded "service list"
...@@ -59,7 +59,7 @@ typedef struct dvbpsi_service_list_dr_s ...@@ -59,7 +59,7 @@ typedef struct dvbpsi_service_list_dr_s
struct { struct {
uint16_t i_service_id; /*!< service id */ uint16_t i_service_id; /*!< service id */
uint8_t i_service_type; /*!< service type */ uint8_t i_service_type; /*!< service type */
} i_service[64]; } i_service[64]; /*!< array of services */
} dvbpsi_service_list_dr_t; } dvbpsi_service_list_dr_t;
...@@ -83,7 +83,7 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr( ...@@ -83,7 +83,7 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr(
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn dvbpsi_descriptor_t * dvbpsi_GenServiceListDr( * \fn dvbpsi_descriptor_t * dvbpsi_GenServiceListDr(
dvbpsi_service_list_dr_t * p_decoded, int b_duplicate) dvbpsi_service_list_dr_t * p_decoded, bool b_duplicate)
* \brief "service list" descriptor generator. * \brief "service list" descriptor generator.
* \param p_decoded pointer to a decoded "service list" descriptor * \param p_decoded pointer to a decoded "service list" descriptor
* structure * structure
......
...@@ -54,14 +54,18 @@ typedef uint8_t iso_639_language_code_t[3]; /*!< ISO639 three letter language co ...@@ -54,14 +54,18 @@ typedef uint8_t iso_639_language_code_t[3]; /*!< ISO639 three letter language co
* \typedef struct dvbpsi_country_availability_dr_s dvbpsi_country_availability_dr_t * \typedef struct dvbpsi_country_availability_dr_s dvbpsi_country_availability_dr_t
* \brief dvbpsi_country_availability_dr_t type definition. * \brief dvbpsi_country_availability_dr_t type definition.
*/ */
/*!
* \struct dvbpsi_country_availability_dr_s
* \brief dvbpsi_country_availability_dr_s type definition @see dvbpsi_country_availability_dr_t
*/
typedef struct dvbpsi_country_availability_dr_s typedef struct dvbpsi_country_availability_dr_s
{ {
bool b_country_availability_flag; /*!< country availability flag */ bool b_country_availability_flag; /*!< country availability flag */
uint8_t i_code_count; /*!< length of the i_iso_639_code uint8_t i_code_count; /*!< length of the i_iso_639_code
array */ array */
struct { struct {
iso_639_language_code_t iso_639_code; iso_639_language_code_t iso_639_code; /*!< ISO_639 language code */
} code[84]; /*!< ISO_639_language_code */ } code[84]; /*!< ISO_639_language_code array */
} dvbpsi_country_availability_dr_t; } dvbpsi_country_availability_dr_t;
...@@ -79,17 +83,17 @@ typedef struct dvbpsi_country_availability_dr_s ...@@ -79,17 +83,17 @@ typedef struct dvbpsi_country_availability_dr_s
dvbpsi_country_availability_dr_t* dvbpsi_DecodeCountryAvailability( dvbpsi_country_availability_dr_t* dvbpsi_DecodeCountryAvailability(
dvbpsi_descriptor_t * p_descriptor); dvbpsi_descriptor_t * p_descriptor);
/***************************************************************************** /*****************************************************************************
* dvbpsi_GenCountryAvailabilityDr * dvbpsi_GenCountryAvailabilityDr
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn dvbpsi_descriptor_t * dvbpsi_GenCountryAvailabilityDr( * \fn dvbpsi_descriptor_t * dvbpsi_GenCountryAvailabilityDr(
dvbpsi_country_availability_dr_t * p_decoded, int b_duplicate) dvbpsi_country_availability_dr_t * p_decoded,
bool b_duplicate)
* \brief "country availability" descriptor generator. * \brief "country availability" descriptor generator.
* \param p_decoded pointer to a decoded "country availability" descriptor * \param p_decoded pointer to a decoded "country availability" descriptor
* structure * structure
* \param b_duplicate if non zero then duplicate the p_decoded structure into * \param b_duplicate if true then duplicate the p_decoded structure into
* the descriptor * the descriptor
* \return a pointer to a new descriptor structure which contains encoded data. * \return a pointer to a new descriptor structure which contains encoded data.
*/ */
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
extern "C" { extern "C" {
#endif #endif
/***************************************************************************** /*****************************************************************************
* dvbpsi_linkage_dr_t * dvbpsi_linkage_dr_t
*****************************************************************************/ *****************************************************************************/
...@@ -53,6 +52,10 @@ extern "C" { ...@@ -53,6 +52,10 @@ extern "C" {
* \typedef struct dvbpsi_linkage_dr_s dvbpsi_linkage_dr_t * \typedef struct dvbpsi_linkage_dr_s dvbpsi_linkage_dr_t
* \brief dvbpsi_linkage_dr_t type definition. * \brief dvbpsi_linkage_dr_t type definition.
*/ */
/*!
* \struct dvbpsi_linkage_dr_s
* \brief struct dvbpsi_linkage_dr_s @see dvbpsi_linkage_dr_t
*/
typedef struct dvbpsi_linkage_dr_s typedef struct dvbpsi_linkage_dr_s
{ {
uint16_t i_transport_stream_id; /*!< transport stream id */ uint16_t i_transport_stream_id; /*!< transport stream id */
...@@ -94,22 +97,20 @@ typedef struct dvbpsi_linkage_dr_s ...@@ -94,22 +97,20 @@ typedef struct dvbpsi_linkage_dr_s
*/ */
dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor); dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor);
/***************************************************************************** /*****************************************************************************
* dvbpsi_GenCountryAvailabilityDr * dvbpsi_GenLinkageDr
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn dvbpsi_descriptor_t * dvbpsi_GenCountryAvailabilityDr( * \fn dvbpsi_descriptor_t *dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t *p_decoded,
dvbpsi_linkage_dr_t * p_decoded, int b_duplicate) bool b_duplicate);
* \brief "linkage" descriptor generator. * \brief "linkage" descriptor generator.
* \param p_decoded pointer to a decoded "linkage" descriptor * \param p_decoded pointer to a decoded "linkage" descriptor structure
* structure * \param b_duplicate if true then duplicate the p_decoded structure into
* \param b_duplicate if non zero then duplicate the p_decoded structure into
* the descriptor * the descriptor
* \return a pointer to a new descriptor structure which contains encoded data. * \return a pointer to a new descriptor structure which contains encoded data.
*/ */
dvbpsi_descriptor_t * dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t * p_decoded, dvbpsi_descriptor_t *dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t * p_decoded,
bool b_duplicate); bool b_duplicate);
#ifdef __cplusplus #ifdef __cplusplus
}; };
......
...@@ -38,9 +38,9 @@ Decode Data Broadcast id Descriptor. ...@@ -38,9 +38,9 @@ Decode Data Broadcast id Descriptor.
*/ */
typedef struct dvbpsi_data_broadcast_id_dr_s typedef struct dvbpsi_data_broadcast_id_dr_s
{ {
uint16_t i_data_broadcast_id; /*< broadcast identifier */ uint16_t i_data_broadcast_id; /*!< broadcast identifier */
uint8_t i_id_selector_len; /*< length of selector data in bytes */ uint8_t i_id_selector_len; /*!< length of selector data in bytes */
uint8_t *p_id_selector; /*< pointer to selector data. Memory is allocated uint8_t *p_id_selector; /*!< pointer to selector data. Memory is allocated
right after sizeof struct, when freeing this right after sizeof struct, when freeing this
struct the private data is freed at the same time. */ struct the private data is freed at the same time. */
} dvbpsi_data_broadcast_id_dr_t; } dvbpsi_data_broadcast_id_dr_t;
...@@ -59,6 +59,3 @@ typedef struct dvbpsi_data_broadcast_id_dr_s ...@@ -59,6 +59,3 @@ typedef struct dvbpsi_data_broadcast_id_dr_s
dvbpsi_data_broadcast_id_dr_t *dvbpsi_DecodeDataBroadcastIdDr(dvbpsi_descriptor_t *p_descriptor); dvbpsi_data_broadcast_id_dr_t *dvbpsi_DecodeDataBroadcastIdDr(dvbpsi_descriptor_t *p_descriptor);
#endif #endif
...@@ -43,7 +43,7 @@ extern "C" { ...@@ -43,7 +43,7 @@ extern "C" {
*/ */
typedef struct dvbpsi_default_authority_dr_s typedef struct dvbpsi_default_authority_dr_s
{ {
uint8_t authority[255]; /*< default authorizty descriptor */ uint8_t authority[255]; /*!< default authority descriptor */
} dvbpsi_default_authority_dr_t; } dvbpsi_default_authority_dr_t;
/***************************************************************************** /*****************************************************************************
......
...@@ -51,13 +51,13 @@ extern "C" { ...@@ -51,13 +51,13 @@ extern "C" {
*/ */
typedef struct dvbpsi_crid_entry_s typedef struct dvbpsi_crid_entry_s
{ {
uint8_t i_type; uint8_t i_type; /*!< content type */
uint8_t i_location; uint8_t i_location; /*!< content location */
union union
{ {
uint8_t path[253]; uint8_t path[253]; /*!< content path */
uint16_t ref; uint16_t ref; /*!< content reference */
}value; } value; /*!< content specific value */
}dvbpsi_crid_entry_t; }dvbpsi_crid_entry_t;
/***************************************************************************** /*****************************************************************************
......
...@@ -170,7 +170,7 @@ void dvbpsi_DeleteHandle(dvbpsi_t *handle) ...@@ -170,7 +170,7 @@ void dvbpsi_DeleteHandle(dvbpsi_t *handle)
* dvbpsi_NewDecoder * dvbpsi_NewDecoder
*****************************************************************************/ *****************************************************************************/
#define DVBPSI_INVALID_CC (0xFF) #define DVBPSI_INVALID_CC (0xFF)
dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_callback callback, dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_callback_t callback,
const int i_section_max_size, const bool b_discontinuity, const size_t psi_size) const int i_section_max_size, const bool b_discontinuity, const size_t psi_size)
{ {
dvbpsi_decoder_t *p_decoder = (dvbpsi_decoder_t *) calloc(1, psi_size); dvbpsi_decoder_t *p_decoder = (dvbpsi_decoder_t *) calloc(1, psi_size);
......
...@@ -51,16 +51,17 @@ extern "C" { ...@@ -51,16 +51,17 @@ extern "C" {
typedef struct dvbpsi_s dvbpsi_t; typedef struct dvbpsi_s dvbpsi_t;
/*! /*!
* \enum dvbpsi_msg_level * \typedef enum dvbpsi_msg_level dvbpsi_msg_level_t
* \brief DVBPSI message level enum * \brief DVBPSI message level enum
*/ */
typedef enum dvbpsi_msg_level typedef enum dvbpsi_msg_level dvbpsi_mst_level_t
enum dvbpsi_msg_level
{ {
DVBPSI_MSG_NONE = -1, /*!< No messages */ DVBPSI_MSG_NONE = -1, /*!< No messages */
DVBPSI_MSG_ERROR = 0, /*!< Error messages only */ DVBPSI_MSG_ERROR = 0, /*!< Error messages only */
DVBPSI_MSG_WARN = 1, /*!< Error and Warning messages */ DVBPSI_MSG_WARN = 1, /*!< Error and Warning messages */
DVBPSI_MSG_DEBUG = 2, /*!< Error, warning and debug messages */ DVBPSI_MSG_DEBUG = 2, /*!< Error, warning and debug messages */
} dvbpsi_msg_level_t; };
/***************************************************************************** /*****************************************************************************
* dvbpsi_message_cb * dvbpsi_message_cb
...@@ -166,18 +167,22 @@ typedef struct dvbpsi_psi_section_s dvbpsi_psi_section_t; ...@@ -166,18 +167,22 @@ typedef struct dvbpsi_psi_section_s dvbpsi_psi_section_t;
*/ */
typedef struct dvbpsi_decoder_s dvbpsi_decoder_t; typedef struct dvbpsi_decoder_s dvbpsi_decoder_t;
/*!
* \def DVBPSI_DECODER(x)
* \brief Helper macro for casting a private decoder into a dvbpsi_decoder_t
*/
#define DVBPSI_DECODER(x) ((dvbpsi_decoder_t *)(x)) #define DVBPSI_DECODER(x) ((dvbpsi_decoder_t *)(x))
/***************************************************************************** /*****************************************************************************
* dvbpsi_callback * dvbpsi_callback_t
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \typedef void (* dvbpsi_callback)(dvbpsi_t *p_dvbpsi, * \typedef void (* dvbpsi_callback_t)(dvbpsi_t *p_dvbpsi,
dvbpsi_psi_section_t* p_section) dvbpsi_psi_section_t* p_section)
* \brief Callback type definition. * \brief Callback type definition.
*/ */
typedef void (* dvbpsi_callback)(dvbpsi_t *p_dvbpsi, typedef void (* dvbpsi_callback_t)(dvbpsi_t *p_dvbpsi,
dvbpsi_psi_section_t* p_section); dvbpsi_psi_section_t* p_section);
/***************************************************************************** /*****************************************************************************
* dvbpsi_decoder_t * dvbpsi_decoder_t
...@@ -190,7 +195,7 @@ typedef void (* dvbpsi_callback)(dvbpsi_t *p_dvbpsi, ...@@ -190,7 +195,7 @@ typedef void (* dvbpsi_callback)(dvbpsi_t *p_dvbpsi,
* decoder. * decoder.
*/ */
#define DVBPSI_DECODER_COMMON \ #define DVBPSI_DECODER_COMMON \
dvbpsi_callback pf_callback; /*!< PSI decoder's callback */ \ dvbpsi_callback_t pf_callback;/*!< PSI decoder's callback */ \
int i_section_max_size; /*!< Max size of a section for this decoder */ \ int i_section_max_size; /*!< Max size of a section for this decoder */ \
uint8_t i_continuity_counter; /*!< Continuity counter */ \ uint8_t i_continuity_counter; /*!< Continuity counter */ \
bool b_discontinuity; /*!< Discontinuity flag */ \ bool b_discontinuity; /*!< Discontinuity flag */ \
...@@ -207,20 +212,22 @@ struct dvbpsi_decoder_s ...@@ -207,20 +212,22 @@ struct dvbpsi_decoder_s
* dvbpsi_NewDecoder * dvbpsi_NewDecoder
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_t *p_dvbpsi, dvbpsi_callback *callback, * \fn dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_callback_t callback,
* const int i_section_max_size, const bool b_discontinuity, const size_t struct_size); * const int i_section_max_size, const bool b_discontinuity, const size_t psi_size);
* \brief Create a new dvbpsi_decoder_t. * \brief Create a new dvbpsi_decoder_t.
* \param callback dvbpsi_callback handler * \param callback dvbpsi_callback handler
* \param i_section_max_size Max size of a section for this decoder * \param i_section_max_size Max size of a section for this decoder
* \param b_discontinuity Discontinuity flag * \param b_discontinuity Discontinuity flag
* \param psi_size size of new PSI struct, eg: sizeof(dvbpsi_pat_t) * \param psi_size size of new PSI struct, eg: sizeof(dvbpsi_pat_t)
* \return pointer to dvbpsi_decoder_t& * \return pointer to dvbpsi_decoder_t
* *
* Creates a dvbpsi_decoder_t pointer to struct dvbpsi_decoder_s. It should be * Creates a dvbpsi_decoder_t pointer to struct dvbpsi_decoder_s. It should be
* delete with dvbpsi_DeleteDecoder() function. * delete with @see dvbpsi_DeleteDecoder() function.
*/ */
dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_callback callback, dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_callback_t callback,
const int i_section_max_size, const bool b_discontinuity, const size_t psi_size); const int i_section_max_size,
const bool b_discontinuity,
const size_t psi_size);
/***************************************************************************** /*****************************************************************************
* dvbpsi_DeleteDecoder * dvbpsi_DeleteDecoder
......
...@@ -93,8 +93,8 @@ typedef void (* dvbpsi_atsc_eit_callback)(void* p_cb_data, dvbpsi_atsc_eit_t* p_ ...@@ -93,8 +93,8 @@ typedef void (* dvbpsi_atsc_eit_callback)(void* p_cb_data, dvbpsi_atsc_eit_t* p_
* dvbpsi_atsc_AttachEIT * dvbpsi_atsc_AttachEIT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn bool dvbpsi_atsc_AttachEIT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, * \fn bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
dvbpsi_atsc_eit_callback pf_callback, void* p_cb_data) uint16_t i_extension, dvbpsi_atsc_eit_callback pf_callback, void* p_cb_data)
* *
* \brief Creation and initialization of a EIT decoder. * \brief Creation and initialization of a EIT decoder.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached * \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached
...@@ -111,7 +111,8 @@ bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, ...@@ -111,7 +111,8 @@ bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* dvbpsi_DetachEIT * dvbpsi_DetachEIT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_DetachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id) * \fn void dvbpsi_atsc_DetachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
uint16_t i_extension)
* \brief Destroy a EIT decoder. * \brief Destroy a EIT decoder.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached. * \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
* \param p_demux Subtable demultiplexor to which the decoder is attached. * \param p_demux Subtable demultiplexor to which the decoder is attached.
...@@ -126,8 +127,8 @@ void dvbpsi_atsc_DetachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, ...@@ -126,8 +127,8 @@ void dvbpsi_atsc_DetachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* dvbpsi_atsc_InitEIT/dvbpsi_atsc_NewEIT * dvbpsi_atsc_InitEIT/dvbpsi_atsc_NewEIT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_InitEIT(dvbpsi_atsc_eit_t* p_eit, uint8_t i_version, * \fn void dvbpsi_atsc_InitEIT(dvbpsi_atsc_eit_t* p_eit, uint8_t i_version, uint8_t i_protocol,
int b_current_next, uint8_t i_protocol, uint16_t i_source_id) uint16_t i_source_id, bool b_current_next);
* \brief Initialize a user-allocated dvbpsi_atsc_eit_t structure. * \brief Initialize a user-allocated dvbpsi_atsc_eit_t structure.
* \param p_eit pointer to the EIT structure * \param p_eit pointer to the EIT structure
* \param i_version EIT version * \param i_version EIT version
......
...@@ -42,13 +42,16 @@ extern "C" { ...@@ -42,13 +42,16 @@ extern "C" {
*/ */
typedef struct dvbpsi_atsc_ett_s typedef struct dvbpsi_atsc_ett_s
{ {
uint8_t i_version; /*!< version_number */ uint8_t i_version; /*!< version_number */
bool b_current_next; /*!< current_next_indicator */ bool b_current_next; /*!< current_next_indicator */
uint8_t i_protocol; /*!< PSIP Protocol version */ uint8_t i_protocol; /*!< PSIP Protocol version */
uint16_t i_ett_table_id; /*!< ETT Table ID extension, normally 0x0000 */ uint16_t i_ett_table_id; /*!< ETT Table ID extension,
uint32_t i_etm_id; /*!< ETM Identifier, made up of source id and event id (or 0 for channel ETT) */ normally 0x0000 */
uint16_t i_etm_length; uint32_t i_etm_id; /*!< ETM Identifier, made up of
uint8_t *p_etm; source id and event id
(or 0 for channel ETT) */
uint16_t i_etm_length; /*!< length of p_etm */
uint8_t *p_etm; /*!< pointer to etm data */
} dvbpsi_atsc_ett_t; } dvbpsi_atsc_ett_t;
/***************************************************************************** /*****************************************************************************
...@@ -98,8 +101,8 @@ void dvbpsi_atsc_DetachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, ...@@ -98,8 +101,8 @@ void dvbpsi_atsc_DetachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* dvbpsi_atsc_InitETT/dvbpsi_atsc_NewETT * dvbpsi_atsc_InitETT/dvbpsi_atsc_NewETT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t* p_ett, uint8_t i_version, * \fn void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t *p_ett, uint8_t i_version, uint8_t i_protocol,
uint8_t i_protocol, bool b_current_next) uint16_t i_ett_table_id, uint32_t i_etm_id, bool b_current_next);
* \brief Initialize a user-allocated dvbpsi_atsc_ett_t structure. * \brief Initialize a user-allocated dvbpsi_atsc_ett_t structure.
* \param p_ett pointer to the ETT structure * \param p_ett pointer to the ETT structure
* \param i_version version * \param i_version version
...@@ -113,7 +116,7 @@ void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t *p_ett, uint8_t i_version, uint8_t i_ ...@@ -113,7 +116,7 @@ void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t *p_ett, uint8_t i_version, uint8_t i_
uint16_t i_ett_table_id, uint32_t i_etm_id, bool b_current_next); uint16_t i_ett_table_id, uint32_t i_etm_id, bool b_current_next);
/*! /*!
\ * \fn dvbpsi_atsc_ett_t *dvbpsi_atsc_NewETT(uint8_t i_version, uint8_t i_protocol, * \fn dvbpsi_atsc_ett_t *dvbpsi_atsc_NewETT(uint8_t i_version, uint8_t i_protocol,
uint16_t i_ett_table_id, uint32_t i_etm_id, bool b_current_next) uint16_t i_ett_table_id, uint32_t i_etm_id, bool b_current_next)
* \brief Allocate and initialize a new dvbpsi_atsc_ett_t structure. Use ObjectRefDec to delete it. * \brief Allocate and initialize a new dvbpsi_atsc_ett_t structure. Use ObjectRefDec to delete it.
* \param i_protocol PSIP Protocol version. * \param i_protocol PSIP Protocol version.
......
...@@ -92,8 +92,8 @@ typedef void (* dvbpsi_atsc_mgt_callback)(void* p_cb_data, dvbpsi_atsc_mgt_t* p_ ...@@ -92,8 +92,8 @@ typedef void (* dvbpsi_atsc_mgt_callback)(void* p_cb_data, dvbpsi_atsc_mgt_t* p_
* dvbpsi_atsc_AttachMGT * dvbpsi_atsc_AttachMGT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_AttachMGT(dvbpsi_demux_t * p_demux, uint8_t i_table_id, * \fn bool dvbpsi_atsc_AttachMGT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_atsc_mgt_callback pf_callback, void* p_cb_data) dvbpsi_atsc_mgt_callback pf_callback, void* p_cb_data)
* *
* \brief Creation and initialization of a MGT decoder. * \brief Creation and initialization of a MGT decoder.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached * \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached
...@@ -124,7 +124,7 @@ void dvbpsi_atsc_DetachMGT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e ...@@ -124,7 +124,7 @@ void dvbpsi_atsc_DetachMGT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e
* dvbpsi_atsc_InitMGT/dvbpsi_atsc_NewMGT * dvbpsi_atsc_InitMGT/dvbpsi_atsc_NewMGT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_InitMGT(dvbpsi_atsc_mgt_t* p_mgt,uint8_t i_version, uint8_t i_protocol, * \fn void dvbpsi_atsc_InitMGT(dvbpsi_atsc_mgt_t* p_mgt, uint8_t i_version, uint8_t i_protocol,
uint16_t i_table_id_extension, bool b_current_next); uint16_t i_table_id_extension, bool b_current_next);
* \brief Initialize a user-allocated dvbpsi_atsc_mgt_t structure. * \brief Initialize a user-allocated dvbpsi_atsc_mgt_t structure.
* \param p_mgt pointer to the MGT structure * \param p_mgt pointer to the MGT structure
...@@ -134,11 +134,12 @@ void dvbpsi_atsc_DetachMGT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e ...@@ -134,11 +134,12 @@ void dvbpsi_atsc_DetachMGT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e
* \param b_current_next current next indicator * \param b_current_next current next indicator
* \return nothing. * \return nothing.
*/ */
void dvbpsi_atsc_InitMGT(dvbpsi_atsc_mgt_t* p_mgt,uint8_t i_version, uint8_t i_protocol, void dvbpsi_atsc_InitMGT(dvbpsi_atsc_mgt_t* p_mgt, uint8_t i_version, uint8_t i_protocol,
uint16_t i_table_id_extension, bool b_current_next); uint16_t i_table_id_extension, bool b_current_next);
/*! /*!
* \def dvbpsi_atsc_NewMGT(p_mgt, i_network_id, i_version, b_current_next) * \fn dvbpsi_atsc_mgt_t *dvbpsi_atsc_NewMGT(uint8_t i_version, uint8_t i_protocol,
uint16_t i_table_id_extension, bool b_current_next);
* \brief Allocate and initialize a new dvbpsi_mgt_t structure. * \brief Allocate and initialize a new dvbpsi_mgt_t structure.
* \param i_network_id network id * \param i_network_id network id
* \param i_version MGT version * \param i_version MGT version
......
...@@ -65,9 +65,8 @@ typedef void (* dvbpsi_atsc_stt_callback)(void* p_cb_data, dvbpsi_atsc_stt_t* p_ ...@@ -65,9 +65,8 @@ typedef void (* dvbpsi_atsc_stt_callback)(void* p_cb_data, dvbpsi_atsc_stt_t* p_
* dvbpsi_atsc_AttachSTT * dvbpsi_atsc_AttachSTT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn bool dvbpsi_atsc_AttachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, * \fn bool dvbpsi_atsc_AttachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
dvbpsi_atsc_stt_callback pf_stt_callback, void* p_cb_data); dvbpsi_atsc_stt_callback pf_stt_callback, void* p_cb_data)
*
* \brief Creation and initialization of a STT decoder. * \brief Creation and initialization of a STT decoder.
* \param p_dvbpsi dvbpsi handle to 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, 0xCD. * \param i_table_id Table ID, 0xCD.
...@@ -83,7 +82,7 @@ bool dvbpsi_atsc_AttachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex ...@@ -83,7 +82,7 @@ bool dvbpsi_atsc_AttachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
* dvbpsi_atsc_DetachSTT * dvbpsi_atsc_DetachSTT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_DetachSTT(dvbpsi_demux_t * p_demux, uint8_t i_table_id) * \fn void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_externsion)
* *
* \brief Destroy a STT decoder. * \brief Destroy a STT decoder.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached. * \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
...@@ -98,8 +97,7 @@ void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex ...@@ -98,8 +97,7 @@ void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
* dvbpsi_atsc_InitSTT/dvbpsi_atsc_NewSTT * dvbpsi_atsc_InitSTT/dvbpsi_atsc_NewSTT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t* p_stt, uint8_t i_version, * \fn void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t *p_stt, uint8_t i_protocol)
int b_current_next, uint8_t i_protocol)
* \brief Initialize a user-allocated dvbpsi_atsc_stt_t structure. * \brief Initialize a user-allocated dvbpsi_atsc_stt_t structure.
* \param p_stt pointer to the STT structure * \param p_stt pointer to the STT structure
* \param i_version PSIP Protocol version. * \param i_version PSIP Protocol version.
...@@ -108,10 +106,8 @@ void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex ...@@ -108,10 +106,8 @@ void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t *p_stt, uint8_t i_protocol); void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t *p_stt, uint8_t i_protocol);
/*! /*!
* \fn dvbpsi_atsc_stt_t *dvbpsi_NewSTTT(uint8_t i_protocol, uint8_t i_version, * \fn dvbpsi_atsc_stt_t *dvbpsi_atsc_NewSTT(uint8_t i_version, bool b_current_next)
* bool b_current_next)
* \brief Allocate and initialize a new dvbpsi_atsc_stt_t structure. Use ObjectRefDec to delete it. * \brief Allocate and initialize a new dvbpsi_atsc_stt_t structure. Use ObjectRefDec to delete it.
* \param p_stt pointer to the STT structure
* \param i_version PSIP Protocol version. * \param i_version PSIP Protocol version.
* \param b_current_next current next indicator * \param b_current_next current next indicator
* \return p_stt pointer to the STT structure * \return p_stt pointer to the STT structure
......
...@@ -107,8 +107,8 @@ typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, dvbpsi_atsc_vct_t* p_ ...@@ -107,8 +107,8 @@ typedef void (* dvbpsi_atsc_vct_callback)(void* p_cb_data, dvbpsi_atsc_vct_t* p_
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, 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) uint16_t i_extension, dvbpsi_atsc_vct_callback pf_vct_callback,
* void* p_cb_data)
* \brief Creation and initialization of a VCT decoder. * \brief Creation and initialization of a VCT decoder.
* \param p_dvbpsi dvbpsi handle to 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.
...@@ -126,7 +126,7 @@ bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, ...@@ -126,7 +126,7 @@ bool dvbpsi_atsc_AttachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, * \fn void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* uint16_t i_extension); * uint16_t i_extension)
* *
* \brief Destroy a VCT decoder. * \brief Destroy a VCT decoder.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached. * \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
...@@ -140,8 +140,9 @@ void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex ...@@ -140,8 +140,9 @@ void dvbpsi_atsc_DetachVCT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
* dvbpsi_atsc_InitVCT * 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_protocol,
bool b_current_next, uint8_t i_protocol, uint16_t i_ts_id, bool b_cable_vct) uint16_t i_ts_id, bool b_cable_vct,
uint8_t i_version, bool b_current_next)
* \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_protocol PSIP Protocol version. * \param i_protocol PSIP Protocol version.
...@@ -188,7 +189,7 @@ void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct); ...@@ -188,7 +189,7 @@ void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct);
* dvbpsi_atsc_DeleteVCT * dvbpsi_atsc_DeleteVCT
*****************************************************************************/ *****************************************************************************/
/*! /*!
* \fn void dvbpsi_DeleteVCT(dvbpsi_atsc_vct_t *p_vct) * \fn void dvbpsi_atsc_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.
......
...@@ -185,7 +185,7 @@ dvbpsi_bat_t *dvbpsi_NewBAT(uint16_t i_bouquet_id, uint8_t i_version, ...@@ -185,7 +185,7 @@ dvbpsi_bat_t *dvbpsi_NewBAT(uint16_t i_bouquet_id, uint8_t i_version,
void dvbpsi_EmptyBAT(dvbpsi_bat_t *p_bat); void dvbpsi_EmptyBAT(dvbpsi_bat_t *p_bat);
/*! /*!
* \fn dvbpsi_DeleteBAT(dvbpis_bat_t *p_bat) * \fn dvbpsi_DeleteBAT(dvbpsi_bat_t *p_bat)
* \brief Clean and free a dvbpsi_bat_t structure. * \brief Clean and free a dvbpsi_bat_t structure.
* \param p_bat pointer to the BAT structure * \param p_bat pointer to the BAT structure
* \return nothing. * \return nothing.
......
...@@ -153,7 +153,7 @@ void dvbpsi_InitNIT(dvbpsi_nit_t* p_nit, uint16_t i_network_id, ...@@ -153,7 +153,7 @@ void dvbpsi_InitNIT(dvbpsi_nit_t* p_nit, uint16_t i_network_id,
uint8_t i_version, bool b_current_next); uint8_t i_version, bool b_current_next);
/*! /*!
* \fn dvbpsi_nit_t *dvbpsi_NewNIT(uint16_t i_ts_id, uint8_t i_version, * \fn dvbpsi_nit_t *dvbpsi_NewNIT(uint16_t i_network_id, uint8_t i_version,
* bool b_current_next); * bool b_current_next);
* \brief Allocate and initialize a new dvbpsi_nit_t structure. * \brief Allocate and initialize a new dvbpsi_nit_t structure.
* \param i_network_id network id * \param i_network_id network id
......
...@@ -164,7 +164,7 @@ dvbpsi_pat_t *dvbpsi_NewPAT(uint16_t i_ts_id, uint8_t i_version, bool b_current_ ...@@ -164,7 +164,7 @@ dvbpsi_pat_t *dvbpsi_NewPAT(uint16_t i_ts_id, uint8_t i_version, bool b_current_
void dvbpsi_EmptyPAT(dvbpsi_pat_t* p_pat); void dvbpsi_EmptyPAT(dvbpsi_pat_t* p_pat);
/*! /*!
* \fn void dvbpsi_DeletePAT(dvbpsi_pat_t (*_pat) * \fn void dvbpsi_DeletePAT(dvbpsi_pat_t *p_pat)
* \brief Clean and free a dvbpsi_pat_t structure. * \brief Clean and free a dvbpsi_pat_t structure.
* \param p_pat pointer to the PAT structure * \param p_pat pointer to the PAT structure
* \return nothing. * \return nothing.
......
...@@ -107,6 +107,10 @@ typedef struct dvbpsi_sis_s ...@@ -107,6 +107,10 @@ typedef struct dvbpsi_sis_s
* \typedef struct dvbpsi_sis_cmd_splice_null_s dvbpsi_sis_cmd_splice_null_t * \typedef struct dvbpsi_sis_cmd_splice_null_s dvbpsi_sis_cmd_splice_null_t
* \brief splice_null() splice command definition * \brief splice_null() splice command definition
*/ */
/*!
* \struct dvbpsi_sis_cmd_splice_null_s
* \brief splice_null() splice command definition
*/
typedef struct dvbpsi_sis_cmd_splice_null_s typedef struct dvbpsi_sis_cmd_splice_null_s
{ {
/* nothing */ /* nothing */
...@@ -116,6 +120,10 @@ typedef struct dvbpsi_sis_cmd_splice_null_s ...@@ -116,6 +120,10 @@ typedef struct dvbpsi_sis_cmd_splice_null_s
* \typedef struct dvbpsi_sis_break_duration_s dvbpsi_sis_break_duration_t * \typedef struct dvbpsi_sis_break_duration_s dvbpsi_sis_break_duration_t
* \brief splice event definition * \brief splice event definition
*/ */
/*!
* \struct dvbpsi_sis_break_duration_s
* \brief splice break duration
*/
typedef struct dvbpsi_sis_break_duration_s typedef struct dvbpsi_sis_break_duration_s
{ {
bool b_auto_return; /*!< when true it denotes that the duration bool b_auto_return; /*!< when true it denotes that the duration
...@@ -132,7 +140,11 @@ typedef struct dvbpsi_sis_break_duration_s ...@@ -132,7 +140,11 @@ typedef struct dvbpsi_sis_break_duration_s
* \typedef struct dvbpsi_sis_component_utc_splice_time_s dvbpsi_sis_component_utc_splice_time_t * \typedef struct dvbpsi_sis_component_utc_splice_time_s dvbpsi_sis_component_utc_splice_time_t
* \brief combined component tag and UTC splice time definition * \brief combined component tag and UTC splice time definition
*/ */
typedef struct dvbpsi_sis_component_utc_splice_time_s dvbpsi_sis_component_utc_splice_time_s; typedef struct dvbpsi_sis_component_utc_splice_time_s dvbpsi_sis_component_utc_splice_time_t;
/*!
* \struct dvbpsi_sis_component_utc_splice_time_s
* \brief combined component tag and UTC splice time definition
*/
struct dvbpsi_sis_component_utc_splice_time_s struct dvbpsi_sis_component_utc_splice_time_s
{ {
uint8_t component_tag; /*!< identifies the elementary PID stream containing uint8_t component_tag; /*!< identifies the elementary PID stream containing
...@@ -144,13 +156,17 @@ struct dvbpsi_sis_component_utc_splice_time_s ...@@ -144,13 +156,17 @@ struct dvbpsi_sis_component_utc_splice_time_s
Maybe converted to UTC without use of Maybe converted to UTC without use of
GPS_UTC_offset value from System Time table. */ GPS_UTC_offset value from System Time table. */
dvbpsi_sis_component_utc_splice_time_s *p_next; /*!< next component, utc splice time structure */ dvbpsi_sis_component_utc_splice_time_t *p_next; /*!< next component, utc splice time structure */
}; };
/*! /*!
* \typedef struct dvbpsi_sis_splice_event_s dvbpsi_sis_splice_event_t * \typedef struct dvbpsi_sis_splice_event_s dvbpsi_sis_splice_event_t
* \brief splice event definition * \brief splice event definition
*/ */
/*!
* \struct dvbpsi_sis_splice_event_s
* \brief splice events structure, @see dvbpsi_sis_splice_event_t
*/
typedef struct dvbpsi_sis_splice_event_s dvbpsi_sis_splice_event_t; typedef struct dvbpsi_sis_splice_event_s dvbpsi_sis_splice_event_t;
struct dvbpsi_sis_splice_event_s struct dvbpsi_sis_splice_event_s
{ {
...@@ -171,7 +187,7 @@ struct dvbpsi_sis_splice_event_s ...@@ -171,7 +187,7 @@ struct dvbpsi_sis_splice_event_s
uint8_t i_component_count; /*!< number of stream PID in the following uint8_t i_component_count; /*!< number of stream PID in the following
loop. A component is equivalent to loop. A component is equivalent to
elementary stream PIDs.*/ elementary stream PIDs.*/
dvbpsi_sis_component_utc_splice_time_s *p_data; dvbpsi_sis_component_utc_splice_time_t *p_data;
/*!< identifies the elementary PID stream containing /*!< identifies the elementary PID stream containing
the Splice Point specified by the value of the Splice Point specified by the value of
splice_time() that follows. */ splice_time() that follows. */
...@@ -195,6 +211,10 @@ struct dvbpsi_sis_splice_event_s ...@@ -195,6 +211,10 @@ struct dvbpsi_sis_splice_event_s
* \typedef struct dvbpsi_sis_cmd_splice_schedule_s dvbpsi_sis_cmd_splice_schedule_t * \typedef struct dvbpsi_sis_cmd_splice_schedule_s dvbpsi_sis_cmd_splice_schedule_t
* \brief splice_schedule() splice command definition * \brief splice_schedule() splice command definition
*/ */
/*!
* \struct dvbpsi_sis_cmd_splice_schedule_s
* \brief splice_schedule() splice command definition
*/
typedef struct dvbpsi_sis_cmd_splice_schedule_s typedef struct dvbpsi_sis_cmd_splice_schedule_s
{ {
uint8_t i_splice_count; /*!< Count of splice events */ uint8_t i_splice_count; /*!< Count of splice events */
...@@ -205,6 +225,10 @@ typedef struct dvbpsi_sis_cmd_splice_schedule_s ...@@ -205,6 +225,10 @@ typedef struct dvbpsi_sis_cmd_splice_schedule_s
* \typedef struct dvbpsi_sis_splice_time_s dvbpsi_sis_splice_time_t * \typedef struct dvbpsi_sis_splice_time_s dvbpsi_sis_splice_time_t
* \brief splice_time() splice definition * \brief splice_time() splice definition
*/ */
/*!
* \struct dvbpsi_sis_splice_time_s
* \brief splice_time() splice definition
*/
typedef struct dvbpsi_sis_splice_time_s dvbpsi_sis_splice_time_t; typedef struct dvbpsi_sis_splice_time_s dvbpsi_sis_splice_time_t;
struct dvbpsi_sis_splice_time_s struct dvbpsi_sis_splice_time_s
{ {
...@@ -220,7 +244,11 @@ struct dvbpsi_sis_splice_time_s ...@@ -220,7 +244,11 @@ struct dvbpsi_sis_splice_time_s
}; };
/*! /*!
* \typedef struct dvbpsi_sis_splice_time_s dvbpsi_sis_splice_time_t * \typedef struct dvbpsi_sis_component_splice_time_s dvbpsi_sis_component_splice_time_t
* \brief component_tag, splice_time definition
*/
/*!
* \struct dvbpsi_sis_component_splice_time_s
* \brief component_tag, splice_time definition * \brief component_tag, splice_time definition
*/ */
typedef struct dvbpsi_sis_component_splice_time_s dvbpsi_sis_component_splice_time_t; typedef struct dvbpsi_sis_component_splice_time_s dvbpsi_sis_component_splice_time_t;
...@@ -240,6 +268,10 @@ struct dvbpsi_sis_component_splice_time_s ...@@ -240,6 +268,10 @@ struct dvbpsi_sis_component_splice_time_s
* \typedef struct dvbpsi_sis_cmd_splice_insert_s dvbpsi_sis_cmd_splice_insert_t * \typedef struct dvbpsi_sis_cmd_splice_insert_s dvbpsi_sis_cmd_splice_insert_t
* \brief splice_insert() splice command definition * \brief splice_insert() splice command definition
*/ */
/*!
* \struct dvbpsi_sis_cmd_splice_insert_s
* \brief splice_insert() splice command definition
*/
typedef struct dvbpsi_sis_cmd_splice_insert_s typedef struct dvbpsi_sis_cmd_splice_insert_s
{ {
uint32_t i_splice_event_id; /*!< splice event identifier */ uint32_t i_splice_event_id; /*!< splice event identifier */
...@@ -252,7 +284,7 @@ typedef struct dvbpsi_sis_cmd_splice_insert_s ...@@ -252,7 +284,7 @@ typedef struct dvbpsi_sis_cmd_splice_insert_s
bool b_splice_immediate_flag; /*!< signals immediate splice insertion */ bool b_splice_immediate_flag; /*!< signals immediate splice insertion */
/* if (b_program_splice_flag) && (!b_splice_immediate_flag) */ /* if (b_program_splice_flag) && (!b_splice_immediate_flag) */
dvbpsi_sis_splice_time_t *p_splice_time; /*!< splice time */ dvbpsi_sis_splice_time_t *p_splice_time; /*!< splice time */
/* if (!b_program_splice_flag) */ /* if (!b_program_splice_flag) */
uint8_t i_component_count; /*!< number of stream PID in the following loop. uint8_t i_component_count; /*!< number of stream PID in the following loop.
...@@ -276,6 +308,10 @@ typedef struct dvbpsi_sis_cmd_splice_insert_s ...@@ -276,6 +308,10 @@ typedef struct dvbpsi_sis_cmd_splice_insert_s
* \typedef struct dvbpsi_sis_cmd_time_signal_s dvbpsi_sis_cmd_time_signal_t * \typedef struct dvbpsi_sis_cmd_time_signal_s dvbpsi_sis_cmd_time_signal_t
* \brief time_signal() splice command definition * \brief time_signal() splice command definition
*/ */
/*!
* \struct dvbpsi_sis_cmd_time_signal_s
* \brief time_signal() splice command definition
*/
typedef struct dvbpsi_sis_cmd_time_signal_s typedef struct dvbpsi_sis_cmd_time_signal_s
{ {
dvbpsi_sis_splice_time_t *p_splice_time; /*!< splice time command */ dvbpsi_sis_splice_time_t *p_splice_time; /*!< splice time command */
...@@ -285,6 +321,10 @@ typedef struct dvbpsi_sis_cmd_time_signal_s ...@@ -285,6 +321,10 @@ typedef struct dvbpsi_sis_cmd_time_signal_s
* \typedef struct dvbpsi_sis_cmd_bandwidth_reservation_s dvbpsi_sis_cmd_bandwidth_reservation_t * \typedef struct dvbpsi_sis_cmd_bandwidth_reservation_s dvbpsi_sis_cmd_bandwidth_reservation_t
* \brief bandwidth_reservation() splice command definition * \brief bandwidth_reservation() splice command definition
*/ */
/*!
* \struct dvbpsi_sis_cmd_bandwidth_reservation_s
* \brief bandwidth_reservation() splice command definition
*/
typedef struct dvbpsi_sis_cmd_bandwidth_reservation_s typedef struct dvbpsi_sis_cmd_bandwidth_reservation_s
{ {
/* nothing */ /* nothing */
......
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