Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libdvbpsi
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
libdvbpsi
Commits
5ce1bf15
Commit
5ce1bf15
authored
Jun 04, 2012
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doxygen fixes.
Update doxygen information and fix linkage of howto-new-api.doxygen
parent
826a8881
Changes
26
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
174 additions
and
122 deletions
+174
-122
doc/howto-new-api.doxygen
doc/howto-new-api.doxygen
+4
-3
doc/index.doxygen
doc/index.doxygen
+4
-4
doc/newdec.doxygen
doc/newdec.doxygen
+1
-1
doc/structure.doxygen
doc/structure.doxygen
+0
-1
doc/usage.doxygen
doc/usage.doxygen
+3
-4
src/demux.h
src/demux.h
+3
-4
src/descriptors/dr_13.h
src/descriptors/dr_13.h
+3
-3
src/descriptors/dr_14.h
src/descriptors/dr_14.h
+10
-10
src/descriptors/dr_40.h
src/descriptors/dr_40.h
+6
-3
src/descriptors/dr_41.h
src/descriptors/dr_41.h
+3
-3
src/descriptors/dr_49.h
src/descriptors/dr_49.h
+9
-5
src/descriptors/dr_4a.h
src/descriptors/dr_4a.h
+11
-10
src/descriptors/dr_66.h
src/descriptors/dr_66.h
+3
-6
src/descriptors/dr_73.h
src/descriptors/dr_73.h
+1
-1
src/descriptors/dr_76.h
src/descriptors/dr_76.h
+5
-5
src/dvbpsi.c
src/dvbpsi.c
+1
-1
src/dvbpsi.h
src/dvbpsi.h
+22
-15
src/tables/atsc_eit.h
src/tables/atsc_eit.h
+6
-5
src/tables/atsc_ett.h
src/tables/atsc_ett.h
+13
-10
src/tables/atsc_mgt.h
src/tables/atsc_mgt.h
+6
-5
src/tables/atsc_stt.h
src/tables/atsc_stt.h
+5
-9
src/tables/atsc_vct.h
src/tables/atsc_vct.h
+7
-6
src/tables/bat.h
src/tables/bat.h
+1
-1
src/tables/nit.h
src/tables/nit.h
+1
-1
src/tables/pat.h
src/tables/pat.h
+1
-1
src/tables/sis.h
src/tables/sis.h
+45
-5
No files found.
doc/howto-new-api.doxygen
View file @
5ce1bf15
/*! \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
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
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
for logging.
for logging. The handle must be deleted with <em>dvbpsi_DeleteHandle()</em> if it is no
longer needed.
</p>
<code>dvbpsi_t *dvbpsi_NewHandle(dvbpsi_message_cb callback, enum dvbpsi_msg_level level);</code>
...
...
@@ -61,7 +62,7 @@ error:
<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
along libdvbpsi messages if wanted.
along libdvbpsi messages if wanted.
See the following example:
</p>
<code>
...
...
doc/index.doxygen
View file @
5ce1bf15
...
...
@@ -3,14 +3,14 @@
* \section intro_sec Introduction
\author Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
\author Christophe Massio
n
<massiot@via.ecp.fr>
\author Christophe Massio
t
<massiot@via.ecp.fr>
\author Jean-Paul Saman <jpsaman@videolan.org>
\author Johan Billen <jobi@via.ecp.fr>
\author Johann Hanne <jhml@gmx.net>
\author and others (see AUTHORS file)
<p>The <em>libdvbpsi</em> is a library developed by
the
<a
href="http://www.videolan.org/">VideoLAN</a>
team
. This document
<p>The <em>libdvbpsi</em> is a library developed by <a
href="http://www.videolan.org/">VideoLAN</a>. This document
describes how to use it and the "C" API.</p>
<h2>What is libdvbpsi ?</h2>
...
...
@@ -37,7 +37,7 @@ describes how to use it and the "C" API.</p>
<li>Program Map Table (<em>PMT</em>)</li>
<li>Section Description Table (<em>SDT</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>
<h2>Usage</h2>
...
...
doc/newdec.doxygen
View file @
5ce1bf15
...
...
@@ -3,6 +3,6 @@
<p>Look at the PAT example. Especially how the PSI decoder is
initialized. It's mandatory to check the
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>
*/
doc/structure.doxygen
View file @
5ce1bf15
...
...
@@ -28,7 +28,6 @@ TS discontinuities signaled by the <em>PSI decoder</em>. </p>
tables.</p>
\ref usage
\ref howto-new-api
*/
doc/usage.doxygen
View file @
5ce1bf15
...
...
@@ -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
have been detached.</p>
<p>For specific tools, the best to do is to have a look at the include
file:</p>
<p>Look at the header files for specific table, see the list below:</p>
<ul>
<li>Program Specific Information: psi.h</li>
...
...
@@ -36,11 +35,11 @@ file:</p>
<li>Network Informtation Table: nit.h</li>
<li>Stream Description Table: sdt.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>
\ref structure
\ref howto-new-api
*/
src/demux.h
View file @
5ce1bf15
...
...
@@ -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,
const uint16_t i_extension,
dvbpsi_demux_detach_cb_t
*
pf_detach,
dvbpsi_demux_gather_cb_t
*
pf_gather,
void *cb_data
)
dvbpsi_demux_detach_cb_t pf_detach,
dvbpsi_demux_gather_cb_t pf_gather,
dvbpsi_decoder_t *p_decoder
)
* \brief Allocates a new demux sub table decoder and initializes it.
* \param i_table_id table id 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,
* \brief Releases memory allocated with @see dvbpsi_NewDemuxSubDecoder. It will
* also release p_cb_data pointer.
* \param p_subdec pointer to demux subtable decoder.
* \param p_new_cb_data Data given to the previous callback.
* \return nothing.
*/
void
dvbpsi_DeleteDemuxSubDecoder
(
dvbpsi_demux_subdec_t
*
p_subdec
);
...
...
src/descriptors/dr_13.h
View file @
5ce1bf15
...
...
@@ -38,9 +38,9 @@ Decode Carousel id Descriptor.
*/
typedef
struct
dvbpsi_carousel_id_dr_s
{
uint32_t
i_carousel_id
;
/*< carousel identifier */
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,
uint32_t
i_carousel_id
;
/*
!
< carousel identifier */
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,
when freeing this struct the private data is
freed at the same time. */
}
dvbpsi_carousel_id_dr_t
;
...
...
src/descriptors/dr_14.h
View file @
5ce1bf15
...
...
@@ -38,16 +38,16 @@ Decode Association Tag Descriptor.
*/
typedef
struct
dvbpsi_association_tag_dr_s
{
uint16_t
i_tag
;
/*< association tag identifier */
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
*
p_selector
;
/*< pointer to selector. Memory is allocated
right after sizeof struct, when freeing this
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
*
p_private_data
;
/*< pointer to private data. Memory is allocated
right after sizeof struct, when freeing this
struct the private data is freed at the same time. */
uint16_t
i_tag
;
/*
!
< association tag identifier */
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
*
p_selector
;
/*
!
< pointer to selector. Memory is allocated
right after sizeof struct, when freeing this
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
*
p_private_data
;
/*
!
< pointer to private data. Memory is allocated
right after sizeof struct, when freeing this
struct the private data is freed at the same time. */
}
dvbpsi_association_tag_dr_t
;
/*****************************************************************************
...
...
src/descriptors/dr_40.h
View file @
5ce1bf15
...
...
@@ -52,10 +52,13 @@ extern "C" {
* \typedef struct dvbpsi_network_nameg_dr_s dvbpsi_network_name_dr_t
* \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
{
uint8_t
i_name_length
;
/*!< length of the i_name_byte
array */
uint8_t
i_name_length
;
/*!< length of the i_name_byte array */
uint8_t
i_name_byte
[
255
];
/*!< the name of the delivery system */
}
dvbpsi_network_name_dr_t
;
...
...
@@ -80,7 +83,7 @@ dvbpsi_network_name_dr_t* dvbpsi_DecodeNetworkNameDr(
*****************************************************************************/
/*!
* \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.
* \param p_decoded pointer to a decoded "network name" descriptor
* structure
...
...
src/descriptors/dr_41.h
View file @
5ce1bf15
...
...
@@ -42,7 +42,7 @@ extern "C" {
* dvbpsi_network_name_dr_t
*****************************************************************************/
/*!
* \struct dvbpsi_service_list_dr_
t
* \struct dvbpsi_service_list_dr_
s
* \brief "service list" descriptor structure.
*
* This structure is used to store a decoded "service list"
...
...
@@ -59,7 +59,7 @@ typedef struct dvbpsi_service_list_dr_s
struct
{
uint16_t
i_service_id
;
/*!< service id */
uint8_t
i_service_type
;
/*!< service type */
}
i_service
[
64
];
}
i_service
[
64
];
/*!< array of services */
}
dvbpsi_service_list_dr_t
;
...
...
@@ -83,7 +83,7 @@ dvbpsi_service_list_dr_t* dvbpsi_DecodeServiceListDr(
*****************************************************************************/
/*!
* \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.
* \param p_decoded pointer to a decoded "service list" descriptor
* structure
...
...
src/descriptors/dr_49.h
View file @
5ce1bf15
...
...
@@ -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
* \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
{
bool
b_country_availability_flag
;
/*!< country availability flag */
uint8_t
i_code_count
;
/*!< length of the i_iso_639_code
array */
struct
{
iso_639_language_code_t
iso_639_code
;
}
code
[
84
];
/*!< ISO_639_language_code */
iso_639_language_code_t
iso_639_code
;
/*!< ISO_639 language code */
}
code
[
84
];
/*!< ISO_639_language_code
array
*/
}
dvbpsi_country_availability_dr_t
;
...
...
@@ -79,17 +83,17 @@ typedef struct dvbpsi_country_availability_dr_s
dvbpsi_country_availability_dr_t
*
dvbpsi_DecodeCountryAvailability
(
dvbpsi_descriptor_t
*
p_descriptor
);
/*****************************************************************************
* 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.
* \param p_decoded pointer to a decoded "country availability" descriptor
* 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
* \return a pointer to a new descriptor structure which contains encoded data.
*/
...
...
src/descriptors/dr_4a.h
View file @
5ce1bf15
...
...
@@ -38,7 +38,6 @@
extern
"C"
{
#endif
/*****************************************************************************
* dvbpsi_linkage_dr_t
*****************************************************************************/
...
...
@@ -53,6 +52,10 @@ extern "C" {
* \typedef struct dvbpsi_linkage_dr_s dvbpsi_linkage_dr_t
* \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
{
uint16_t
i_transport_stream_id
;
/*!< transport stream id */
...
...
@@ -94,22 +97,20 @@ typedef struct dvbpsi_linkage_dr_s
*/
dvbpsi_linkage_dr_t
*
dvbpsi_DecodeLinkageDr
(
dvbpsi_descriptor_t
*
p_descriptor
);
/*****************************************************************************
* dvbpsi_Gen
CountryAvailability
Dr
* dvbpsi_Gen
Linkage
Dr
*****************************************************************************/
/*!
* \fn dvbpsi_descriptor_t *
dvbpsi_GenCountryAvailabilityDr(
dvbpsi_linkage_dr_t * p_decoded, int b_duplicate)
* \fn dvbpsi_descriptor_t *
dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t *p_decoded,
bool b_duplicate);
* \brief "linkage" descriptor generator.
* \param p_decoded pointer to a decoded "linkage" descriptor
* structure
* \param b_duplicate if non zero then duplicate the p_decoded structure into
* \param p_decoded pointer to a decoded "linkage" descriptor structure
* \param b_duplicate if true then duplicate the p_decoded structure into
* the descriptor
* \return a pointer to a new descriptor structure which contains encoded data.
*/
dvbpsi_descriptor_t
*
dvbpsi_GenLinkageDr
(
dvbpsi_linkage_dr_t
*
p_decoded
,
bool
b_duplicate
);
dvbpsi_descriptor_t
*
dvbpsi_GenLinkageDr
(
dvbpsi_linkage_dr_t
*
p_decoded
,
bool
b_duplicate
);
#ifdef __cplusplus
};
...
...
src/descriptors/dr_66.h
View file @
5ce1bf15
...
...
@@ -38,9 +38,9 @@ Decode Data Broadcast id Descriptor.
*/
typedef
struct
dvbpsi_data_broadcast_id_dr_s
{
uint16_t
i_data_broadcast_id
;
/*< broadcast identifier */
uint8_t
i_id_selector_len
;
/*< length of selector data in bytes */
uint8_t
*
p_id_selector
;
/*< pointer to selector data. Memory is allocated
uint16_t
i_data_broadcast_id
;
/*
!
< broadcast identifier */
uint8_t
i_id_selector_len
;
/*
!
< length of selector data in bytes */
uint8_t
*
p_id_selector
;
/*
!
< pointer to selector data. Memory is allocated
right after sizeof struct, when freeing this
struct the private data is freed at the same time. */
}
dvbpsi_data_broadcast_id_dr_t
;
...
...
@@ -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
);
#endif
src/descriptors/dr_73.h
View file @
5ce1bf15
...
...
@@ -43,7 +43,7 @@ extern "C" {
*/
typedef
struct
dvbpsi_default_authority_dr_s
{
uint8_t
authority
[
255
];
/*
< default authoriz
ty descriptor */
uint8_t
authority
[
255
];
/*
!< default authori
ty descriptor */
}
dvbpsi_default_authority_dr_t
;
/*****************************************************************************
...
...
src/descriptors/dr_76.h
View file @
5ce1bf15
...
...
@@ -51,13 +51,13 @@ extern "C" {
*/
typedef
struct
dvbpsi_crid_entry_s
{
uint8_t
i_type
;
uint8_t
i_location
;
uint8_t
i_type
;
/*!< content type */
uint8_t
i_location
;
/*!< content location */
union
{
uint8_t
path
[
253
];
uint16_t
ref
;
}
value
;
uint8_t
path
[
253
];
/*!< content path */
uint16_t
ref
;
/*!< content reference */
}
value
;
/*!< content specific value */
}
dvbpsi_crid_entry_t
;
/*****************************************************************************
...
...
src/dvbpsi.c
View file @
5ce1bf15
...
...
@@ -170,7 +170,7 @@ void dvbpsi_DeleteHandle(dvbpsi_t *handle)
* dvbpsi_NewDecoder
*****************************************************************************/
#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
)
{
dvbpsi_decoder_t
*
p_decoder
=
(
dvbpsi_decoder_t
*
)
calloc
(
1
,
psi_size
);
...
...
src/dvbpsi.h
View file @
5ce1bf15
...
...
@@ -51,16 +51,17 @@ extern "C" {
typedef
struct
dvbpsi_s
dvbpsi_t
;
/*!
* \
enum dvbpsi_msg_level
* \
typedef enum dvbpsi_msg_level dvbpsi_msg_level_t
* \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_ERROR
=
0
,
/*!< Error messages only */
DVBPSI_MSG_WARN
=
1
,
/*!< Error and Warning messages */
DVBPSI_MSG_DEBUG
=
2
,
/*!< Error, warning and debug messages */
}
dvbpsi_msg_level_t
;
};
/*****************************************************************************
* dvbpsi_message_cb
...
...
@@ -166,18 +167,22 @@ typedef struct dvbpsi_psi_section_s dvbpsi_psi_section_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))
/*****************************************************************************
* dvbpsi_callback
* dvbpsi_callback
_t
*****************************************************************************/
/*!
* \typedef void (* dvbpsi_callback)(dvbpsi_t *p_dvbpsi,
dvbpsi_psi_section_t* p_section)
* \typedef void (* dvbpsi_callback
_t
)(dvbpsi_t *p_dvbpsi,
dvbpsi_psi_section_t* p_section)
* \brief Callback type definition.
*/
typedef
void
(
*
dvbpsi_callback
)(
dvbpsi_t
*
p_dvbpsi
,
dvbpsi_psi_section_t
*
p_section
);
typedef
void
(
*
dvbpsi_callback
_t
)(
dvbpsi_t
*
p_dvbpsi
,
dvbpsi_psi_section_t
*
p_section
);
/*****************************************************************************
* dvbpsi_decoder_t
...
...
@@ -190,7 +195,7 @@ typedef void (* dvbpsi_callback)(dvbpsi_t *p_dvbpsi,
* decoder.
*/
#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 */
\
uint8_t i_continuity_counter;
/*!< Continuity counter */
\
bool b_discontinuity;
/*!< Discontinuity flag */
\
...
...
@@ -207,20 +212,22 @@ struct dvbpsi_decoder_s
* dvbpsi_NewDecoder
*****************************************************************************/
/*!
* \fn dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_
t *p_dvbpsi, dvbpsi_callback *
callback,
* const int i_section_max_size, const bool b_discontinuity, const size_t
struct
_size);
* \fn dvbpsi_decoder_t *dvbpsi_NewDecoder(dvbpsi_
callback_t
callback,
* const int i_section_max_size, const bool b_discontinuity, const size_t
psi
_size);
* \brief Create a new dvbpsi_decoder_t.
* \param callback dvbpsi_callback handler
* \param i_section_max_size Max size of a section for this decoder
* \param b_discontinuity Discontinuity flag
* \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
* delete with dvbpsi_DeleteDecoder() function.
* delete with
@see
dvbpsi_DeleteDecoder() function.
*/
dvbpsi_decoder_t
*
dvbpsi_NewDecoder
(
dvbpsi_callback
callback
,
const
int
i_section_max_size
,
const
bool
b_discontinuity
,
const
size_t
psi_size
);
dvbpsi_decoder_t
*
dvbpsi_NewDecoder
(
dvbpsi_callback_t
callback
,
const
int
i_section_max_size
,
const
bool
b_discontinuity
,
const
size_t
psi_size
);
/*****************************************************************************
* dvbpsi_DeleteDecoder
...
...
src/tables/atsc_eit.h
View file @
5ce1bf15
...
...
@@ -93,8 +93,8 @@ typedef void (* dvbpsi_atsc_eit_callback)(void* p_cb_data, dvbpsi_atsc_eit_t* p_
* dvbpsi_atsc_AttachEIT
*****************************************************************************/
/*!
* \fn bool dvbpsi_atsc_AttachEIT(dvbpsi_t *
p_dvbpsi, uint8_t i_table_id,
dvbpsi_atsc_eit_callback pf_callback, void* p_cb_data)
* \fn bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
uint16_t i_extension,
dvbpsi_atsc_eit_callback pf_callback, void* p_cb_data)
*
* \brief Creation and initialization of a EIT decoder.
* \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,
* 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.
* \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.
...
...
@@ -126,8 +127,8 @@ void dvbpsi_atsc_DetachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* dvbpsi_atsc_InitEIT/dvbpsi_atsc_NewEIT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_InitEIT(dvbpsi_atsc_eit_t* p_eit, uint8_t i_version,
int b_current_next, uint8_t i_protocol, uint16_t i_source_id)
* \fn void dvbpsi_atsc_InitEIT(dvbpsi_atsc_eit_t* p_eit, uint8_t i_version,
uint8_t i_protocol,
uint16_t i_source_id, bool b_current_next);
* \brief Initialize a user-allocated dvbpsi_atsc_eit_t structure.
* \param p_eit pointer to the EIT structure
* \param i_version EIT version
...
...
src/tables/atsc_ett.h
View file @
5ce1bf15
...
...
@@ -42,13 +42,16 @@ extern "C" {
*/
typedef
struct
dvbpsi_atsc_ett_s
{
uint8_t
i_version
;
/*!< version_number */
bool
b_current_next
;
/*!< current_next_indicator */
uint8_t
i_protocol
;
/*!< PSIP Protocol version */
uint16_t
i_ett_table_id
;
/*!< ETT Table ID extension, normally 0x0000 */
uint32_t
i_etm_id
;
/*!< ETM Identifier, made up of source id and event id (or 0 for channel ETT) */
uint16_t
i_etm_length
;
uint8_t
*
p_etm
;
uint8_t
i_version
;
/*!< version_number */
bool
b_current_next
;
/*!< current_next_indicator */
uint8_t
i_protocol
;
/*!< PSIP Protocol version */
uint16_t
i_ett_table_id
;
/*!< ETT Table ID extension,
normally 0x0000 */
uint32_t
i_etm_id
;
/*!< ETM Identifier, made up of
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
;
/*****************************************************************************
...
...
@@ -98,8 +101,8 @@ void dvbpsi_atsc_DetachETT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* dvbpsi_atsc_InitETT/dvbpsi_atsc_NewETT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t
* p_ett, uint8_t i_version
,
uint8_t i_protocol, bool b_current_next)
* \fn void dvbpsi_atsc_InitETT(dvbpsi_atsc_ett_t
*p_ett, uint8_t i_version, uint8_t i_protocol
,
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.
* \param p_ett pointer to the ETT structure
* \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_
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)
* \brief Allocate and initialize a new dvbpsi_atsc_ett_t structure. Use ObjectRefDec to delete it.
* \param i_protocol PSIP Protocol version.
...
...
src/tables/atsc_mgt.h
View file @
5ce1bf15
...
...
@@ -92,8 +92,8 @@ typedef void (* dvbpsi_atsc_mgt_callback)(void* p_cb_data, dvbpsi_atsc_mgt_t* p_
* dvbpsi_atsc_AttachMGT
*****************************************************************************/
/*!
* \fn
void dvbpsi_atsc_AttachMGT(dvbpsi_demux_t * p_demux, uint8_t i_table_id
,
dvbpsi_atsc_mgt_callback pf_callback, void* p_cb_data)
* \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)
*
* \brief Creation and initialization of a MGT decoder.
* \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
* 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);
* \brief Initialize a user-allocated dvbpsi_atsc_mgt_t 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
* \param b_current_next current next indicator
* \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
);
/*!
* \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.
* \param i_network_id network id
* \param i_version MGT version
...
...
src/tables/atsc_stt.h
View file @
5ce1bf15
...
...
@@ -65,9 +65,8 @@ typedef void (* dvbpsi_atsc_stt_callback)(void* p_cb_data, dvbpsi_atsc_stt_t* p_
* dvbpsi_atsc_AttachSTT
*****************************************************************************/
/*!
* \fn bool dvbpsi_atsc_AttachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
dvbpsi_atsc_stt_callback pf_stt_callback, void* p_cb_data);
*
* \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)
* \brief Creation and initialization of a STT decoder.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached
* \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
* 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.
* \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
* dvbpsi_atsc_InitSTT/dvbpsi_atsc_NewSTT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t* p_stt, uint8_t i_version,
int b_current_next, uint8_t i_protocol)
* \fn void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t *p_stt, uint8_t i_protocol)
* \brief Initialize a user-allocated dvbpsi_atsc_stt_t structure.
* \param p_stt pointer to the STT structure
* \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
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,
* bool b_current_next)
* \fn dvbpsi_atsc_stt_t *dvbpsi_atsc_NewSTT(uint8_t i_version, bool b_current_next)
* \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 b_current_next current next indicator
* \return p_stt pointer to the STT structure
...
...
src/tables/atsc_vct.h
View file @
5ce1bf15
...
...
@@ -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,
* 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.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
* \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,
*****************************************************************************/
/*!
* \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.
* \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
* dvbpsi_atsc_InitVCT
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_InitVCT(dvbpsi_atsc_vct_t* p_vct, uint8_t i_version,
bool b_current_next, uint8_t i_protocol, uint16_t i_ts_id, bool b_cable_vct)
* \fn 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)
* \brief Initialize a user-allocated dvbpsi_atsc_vct_t structure.
* \param p_vct pointer to the VCT structure
* \param i_protocol PSIP Protocol version.
...
...
@@ -188,7 +189,7 @@ void dvbpsi_atsc_EmptyVCT(dvbpsi_atsc_vct_t *p_vct);
* 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.
* \param p_vct pointer to the VCT structure
* \return nothing.
...
...
src/tables/bat.h
View file @
5ce1bf15
...
...
@@ -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
);
/*!
* \fn dvbpsi_DeleteBAT(dvbp
is
_bat_t *p_bat)
* \fn dvbpsi_DeleteBAT(dvbp
si
_bat_t *p_bat)
* \brief Clean and free a dvbpsi_bat_t structure.
* \param p_bat pointer to the BAT structure
* \return nothing.
...
...
src/tables/nit.h
View file @
5ce1bf15
...
...
@@ -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
);
/*!
* \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);
* \brief Allocate and initialize a new dvbpsi_nit_t structure.
* \param i_network_id network id
...
...
src/tables/pat.h
View file @
5ce1bf15
...
...
@@ -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
);
/*!
* \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.
* \param p_pat pointer to the PAT structure
* \return nothing.
...
...
src/tables/sis.h
View file @
5ce1bf15
...
...
@@ -107,6 +107,10 @@ typedef struct dvbpsi_sis_s
* \typedef struct dvbpsi_sis_cmd_splice_null_s dvbpsi_sis_cmd_splice_null_t
* \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
{
/* nothing */
...
...
@@ -116,6 +120,10 @@ typedef struct dvbpsi_sis_cmd_splice_null_s
* \typedef struct dvbpsi_sis_break_duration_s dvbpsi_sis_break_duration_t
* \brief splice event definition
*/
/*!
* \struct dvbpsi_sis_break_duration_s
* \brief splice break duration
*/
typedef
struct
dvbpsi_sis_break_duration_s
{
bool
b_auto_return
;
/*!< when true it denotes that the duration
...
...
@@ -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
* \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
{
uint8_t
component_tag
;
/*!< identifies the elementary PID stream containing
...
...
@@ -144,13 +156,17 @@ struct dvbpsi_sis_component_utc_splice_time_s
Maybe converted to UTC without use of
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
* \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
;
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
loop. A component is equivalent to
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
the Splice Point specified by the value of
splice_time() that follows. */
...
...
@@ -195,6 +211,10 @@ struct dvbpsi_sis_splice_event_s
* \typedef struct dvbpsi_sis_cmd_splice_schedule_s dvbpsi_sis_cmd_splice_schedule_t
* \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
{
uint8_t
i_splice_count
;
/*!< Count of splice events */
...
...
@@ -205,6 +225,10 @@ typedef struct dvbpsi_sis_cmd_splice_schedule_s
* \typedef struct dvbpsi_sis_splice_time_s dvbpsi_sis_splice_time_t
* \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
;
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
*/
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
* \typedef struct dvbpsi_sis_cmd_splice_insert_s dvbpsi_sis_cmd_splice_insert_t
* \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
{
uint32_t
i_splice_event_id
;
/*!< splice event identifier */
...
...
@@ -252,7 +284,7 @@ typedef struct dvbpsi_sis_cmd_splice_insert_s
bool
b_splice_immediate_flag
;
/*!< signals immediate splice insertion */
/* 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) */
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
* \typedef struct dvbpsi_sis_cmd_time_signal_s dvbpsi_sis_cmd_time_signal_t
* \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
{
dvbpsi_sis_splice_time_t
*
p_splice_time
;
/*!< splice time command */
...
...
@@ -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
* \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
{
/* nothing */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment