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
c9cdefea
Commit
c9cdefea
authored
Dec 10, 2015
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATSC EIT: Rename API's
parent
fa75c0a9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
129 additions
and
34 deletions
+129
-34
examples/dvbinfo/libdvbpsi.c
examples/dvbinfo/libdvbpsi.c
+3
-3
src/tables/atsc_eit.c
src/tables/atsc_eit.c
+15
-15
src/tables/atsc_eit.h
src/tables/atsc_eit.h
+111
-16
No files found.
examples/dvbinfo/libdvbpsi.c
View file @
c9cdefea
...
...
@@ -698,7 +698,7 @@ static void handle_subtable(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_e
fprintf
(
stderr
,
"dvbinfo: Failed to attach ATSC VCT subdecoder
\n
"
);
break
;
case
0xCB
:
/* ATSC EIT */
if
(
!
dvbpsi_atsc_
AttachEIT
(
p_dvbpsi
,
i_table_id
,
i_extension
,
handle_atsc_EIT
,
p_data
))
if
(
!
dvbpsi_atsc_
eit_attach
(
p_dvbpsi
,
i_table_id
,
i_extension
,
handle_atsc_EIT
,
p_data
))
fprintf
(
stderr
,
"dvbinfo: Failed to attach ATSC EIT subdecoder
\n
"
);
break
;
case
0xCC
:
/* ATSC ETT */
...
...
@@ -2092,7 +2092,7 @@ static void handle_atsc_EIT(void* p_data, dvbpsi_atsc_eit_t* p_eit)
printf
(
"
\t
EIT events
\n
"
);
DumpATSCEITEventDescriptors
(
p_eit
->
p_first_event
);
DumpDescriptors
(
"
\t
| ]"
,
p_eit
->
p_first_descriptor
);
dvbpsi_atsc_
DeleteEIT
(
p_eit
);
dvbpsi_atsc_
eit_delete
(
p_eit
);
}
...
...
@@ -2375,7 +2375,7 @@ static void DeleteTableDecoder(dvbpsi_t *p_dvbpsi, uint8_t i_table, uint16_t i_e
case
0xC7
:
dvbpsi_atsc_DetachMGT
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC MGT */
case
0xC8
:
/* ATSC VCT */
case
0xC9
:
dvbpsi_atsc_DetachVCT
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC VCT */
case
0xCB
:
dvbpsi_atsc_
DetachEIT
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC EIT */
case
0xCB
:
dvbpsi_atsc_
eit_detach
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC EIT */
case
0xCC
:
dvbpsi_atsc_DetachETT
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC ETT */
case
0xCD
:
dvbpsi_atsc_DetachSTT
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC STT */
#ifdef TS_USE_SCTE_SIS
...
...
src/tables/atsc_eit.c
View file @
c9cdefea
...
...
@@ -76,11 +76,11 @@ static void dvbpsi_atsc_DecodeEITSections(dvbpsi_atsc_eit_t* p_eit,
dvbpsi_psi_section_t
*
p_section
);
/*****************************************************************************
* dvbpsi_atsc_
AttachEIT
* dvbpsi_atsc_
eit_attach
*****************************************************************************
* Initialize a EIT subtable decoder.
*****************************************************************************/
bool
dvbpsi_atsc_
AttachEIT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
bool
dvbpsi_atsc_
eit_attach
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
dvbpsi_atsc_eit_callback
pf_callback
,
void
*
p_cb_data
)
{
assert
(
p_dvbpsi
);
...
...
@@ -118,11 +118,11 @@ bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
}
/*****************************************************************************
* dvbpsi_atsc_
DetachEIT
* dvbpsi_atsc_
eit_detach
*****************************************************************************
* Close a EIT decoder.
*****************************************************************************/
void
dvbpsi_atsc_
DetachEIT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
)
void
dvbpsi_atsc_
eit_detach
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
)
{
assert
(
p_dvbpsi
);
...
...
@@ -148,18 +148,18 @@ void dvbpsi_atsc_DetachEIT(dvbpsi_t * p_dvbpsi, uint8_t i_table_id, uint16_t i_e
dvbpsi_atsc_eit_decoder_t
*
p_eit_decoder
=
(
dvbpsi_atsc_eit_decoder_t
*
)
p_dec
;
if
(
p_eit_decoder
->
p_building_eit
)
dvbpsi_atsc_
DeleteEIT
(
p_eit_decoder
->
p_building_eit
);
dvbpsi_atsc_
eit_delete
(
p_eit_decoder
->
p_building_eit
);
p_eit_decoder
->
p_building_eit
=
NULL
;
dvbpsi_decoder_delete
(
p_dec
);
p_dec
=
NULL
;
}
/*****************************************************************************
* dvbpsi_atsc_
InitEIT
* dvbpsi_atsc_
eit_init
*****************************************************************************
* Initialize a pre-allocated dvbpsi_atsc_eit_t structure.
*****************************************************************************/
void
dvbpsi_atsc_
InitEIT
(
dvbpsi_atsc_eit_t
*
p_eit
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
void
dvbpsi_atsc_
eit_init
(
dvbpsi_atsc_eit_t
*
p_eit
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
uint8_t
i_protocol
,
uint16_t
i_source_id
,
bool
b_current_next
)
{
...
...
@@ -176,24 +176,24 @@ void dvbpsi_atsc_InitEIT(dvbpsi_atsc_eit_t* p_eit, uint8_t i_table_id, uint16_t
p_eit
->
p_first_descriptor
=
NULL
;
}
dvbpsi_atsc_eit_t
*
dvbpsi_atsc_
NewEIT
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
dvbpsi_atsc_eit_t
*
dvbpsi_atsc_
eit_new
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
uint8_t
i_protocol
,
uint16_t
i_source_id
,
bool
b_current_next
)
{
dvbpsi_atsc_eit_t
*
p_eit
;
p_eit
=
(
dvbpsi_atsc_eit_t
*
)
malloc
(
sizeof
(
dvbpsi_atsc_eit_t
));
if
(
p_eit
!=
NULL
)
dvbpsi_atsc_
InitEIT
(
p_eit
,
i_table_id
,
i_extension
,
i_version
,
dvbpsi_atsc_
eit_init
(
p_eit
,
i_table_id
,
i_extension
,
i_version
,
i_protocol
,
i_source_id
,
b_current_next
);
return
p_eit
;
}
/*****************************************************************************
* dvbpsi_atsc_
EmptyEIT
* dvbpsi_atsc_
eit_empty
*****************************************************************************
* Clean a dvbpsi_atsc_eit_t structure.
*****************************************************************************/
void
dvbpsi_atsc_
EmptyEIT
(
dvbpsi_atsc_eit_t
*
p_eit
)
void
dvbpsi_atsc_
eit_empty
(
dvbpsi_atsc_eit_t
*
p_eit
)
{
dvbpsi_atsc_eit_event_t
*
p_event
=
p_eit
->
p_first_event
;
...
...
@@ -210,10 +210,10 @@ void dvbpsi_atsc_EmptyEIT(dvbpsi_atsc_eit_t* p_eit)
p_eit
->
p_first_descriptor
=
NULL
;
}
void
dvbpsi_atsc_
DeleteEIT
(
dvbpsi_atsc_eit_t
*
p_eit
)
void
dvbpsi_atsc_
eit_delete
(
dvbpsi_atsc_eit_t
*
p_eit
)
{
if
(
p_eit
)
dvbpsi_atsc_
EmptyEIT
(
p_eit
);
dvbpsi_atsc_
eit_empty
(
p_eit
);
free
(
p_eit
);
p_eit
=
NULL
;
}
...
...
@@ -300,7 +300,7 @@ static void dvbpsi_ReInitEIT(dvbpsi_atsc_eit_decoder_t *p_decoder, const bool b_
{
/* Free structures */
if
(
p_decoder
->
p_building_eit
)
dvbpsi_atsc_
DeleteEIT
(
p_decoder
->
p_building_eit
);
dvbpsi_atsc_
eit_delete
(
p_decoder
->
p_building_eit
);
}
p_decoder
->
p_building_eit
=
NULL
;
}
...
...
@@ -351,7 +351,7 @@ static bool dvbpsi_AddSectionEIT(dvbpsi_t *p_dvbpsi, dvbpsi_atsc_eit_decoder_t *
/* Initialize the structures if it's the first section received */
if
(
!
p_decoder
->
p_building_eit
)
{
p_decoder
->
p_building_eit
=
dvbpsi_atsc_
NewEIT
(
p_section
->
i_table_id
,
p_decoder
->
p_building_eit
=
dvbpsi_atsc_
eit_new
(
p_section
->
i_table_id
,
p_section
->
i_extension
,
p_section
->
i_version
,
p_section
->
p_payload_start
[
0
],
...
...
src/tables/atsc_eit.h
View file @
c9cdefea
...
...
@@ -99,10 +99,10 @@ typedef struct dvbpsi_atsc_eit_s
typedef
void
(
*
dvbpsi_atsc_eit_callback
)(
void
*
p_cb_data
,
dvbpsi_atsc_eit_t
*
p_new_eit
);
/*****************************************************************************
* dvbpsi_atsc_
AttachEIT
* dvbpsi_atsc_
eit_attach
*****************************************************************************/
/*!
* \fn bool dvbpsi_atsc_
AttachEIT
(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* \fn bool dvbpsi_atsc_
eit_attach
(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.
...
...
@@ -113,14 +113,31 @@ typedef void (* dvbpsi_atsc_eit_callback)(void* p_cb_data, dvbpsi_atsc_eit_t* p_
* \param p_cb_data private data given in argument to the callback.
* \return true if everything went ok, false otherwise
*/
bool
dvbpsi_atsc_
AttachEIT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
bool
dvbpsi_atsc_
eit_attach
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
dvbpsi_atsc_eit_callback
pf_callback
,
void
*
p_cb_data
);
/*!
* \brief dvbpsi_atsc_AttachEIT is deprecated use @see dvbpsi_atsc_eit_attach() instead.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached
* \param i_table_id Table ID, 0xCB.
* \param i_extension Table ID extension, here TS ID.
* \param pf_callback function to call back on new EIT.
* \param p_cb_data private data given in argument to the callback.
* \return true if everything went ok, false otherwise
*/
__attribute__
((
deprecated
,
unused
))
inline
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
)
{
return
dvbpsi_atsc_eit_attach
(
p_dvbpsi
,
i_table_id
,
i_extension
,
pf_callback
,
p_cb_data
);
}
/*****************************************************************************
* dvbpsi_eit_detach
* dvbpsi_
atsc_
eit_detach
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_
DetachEIT
(dvbpsi_t *p_dvbpsi, uint8_t i_table_id,
* \fn void dvbpsi_atsc_
eit_detach
(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.
...
...
@@ -128,13 +145,26 @@ bool dvbpsi_atsc_AttachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
* \param i_extension Table ID extension, here TS ID.
* \return nothing.
*/
void
dvbpsi_atsc_DetachEIT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
);
void
dvbpsi_atsc_eit_detach
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
);
/*!
* \brief dvbpsi_atsc_DetachEIT is deprecated use @see dvbpsi_atsc_eit_detach() instead.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
* \param i_table_id Table ID, 0xCB.
* \param i_extension Table ID extension, here TS ID.
* \return nothing.
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_DetachEIT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
)
{
dvbpsi_atsc_eit_detach
(
p_dvbpsi
,
i_table_id
,
i_extension
);
}
/*****************************************************************************
* dvbpsi_atsc_
InitEIT/dvbpsi_atsc_NewEIT
* dvbpsi_atsc_
eit_init
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_
InitEIT
(dvbpsi_atsc_eit_t* p_eit, uint8_t i_table_id, uint16_t i_extension,
* \fn void dvbpsi_atsc_
eit_init
(dvbpsi_atsc_eit_t* p_eit, uint8_t i_table_id, uint16_t i_extension,
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.
...
...
@@ -147,11 +177,33 @@ void dvbpsi_atsc_DetachEIT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
* \param b_current_next current next indicator
* \return nothing.
*/
void
dvbpsi_atsc_
InitEIT
(
dvbpsi_atsc_eit_t
*
p_eit
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
void
dvbpsi_atsc_
eit_init
(
dvbpsi_atsc_eit_t
*
p_eit
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
uint8_t
i_protocol
,
uint16_t
i_source_id
,
bool
b_current_next
);
/*!
* \fn dvbpsi_atsc_eit_t *dvbpsi_atsc_NewEIT(uint8_t i_table_id, uint16_t i_extension,
* \brief dvbpsi_atsc_InitEIT is deprecated use @see dvbpsi_atsc_eit_init() instead.
* \param p_eit pointer to the EIT structure
* \param i_table_id Table ID, 0xCB.
* \param i_extension Table ID extension, here TS ID.
* \param i_version EIT version
* \param i_protocol PSIP Protocol version.
* \param i_source_id Source id.
* \param b_current_next current next indicator
* \return nothing.
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_InitEIT
(
dvbpsi_atsc_eit_t
*
p_eit
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
uint8_t
i_protocol
,
uint16_t
i_source_id
,
bool
b_current_next
)
{
dvbpsi_atsc_eit_init
(
p_eit
,
i_table_id
,
i_extension
,
i_version
,
i_protocol
,
i_source_id
,
b_current_next
);
}
/*****************************************************************************
* dvbpsi_atsc_eit_new
*****************************************************************************/
/*!
* \fn dvbpsi_atsc_eit_t *dvbpsi_atsc_eit_new(uint8_t i_table_id, uint16_t i_extension,
uint8_t i_version, uint8_t i_protocol,
uint16_t i_source_id, bool b_current_next)
* \brief Allocate and initialize a new dvbpsi_eit_t structure. Use ObjectRefDec to delete it.
...
...
@@ -163,28 +215,71 @@ void dvbpsi_atsc_InitEIT(dvbpsi_atsc_eit_t* p_eit, uint8_t i_table_id, uint16_t
* \param b_current_next current next indicator
* \return p_eit pointer to the EIT structure or NULL on error
*/
dvbpsi_atsc_eit_t
*
dvbpsi_atsc_
NewEIT
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
dvbpsi_atsc_eit_t
*
dvbpsi_atsc_
eit_new
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
uint8_t
i_protocol
,
uint16_t
i_source_id
,
bool
b_current_next
);
/*!
* \brief dvbpsi_atsc_NewEIT is deprecated use @see dvbpsi_atsc_eit_new() instead.
* \param i_table_id Table ID, 0xCB.
* \param i_extension Table ID extension, here TS ID.
* \param i_version EIT version
* \param i_protocol PSIP Protocol version.
* \param i_source_id Source id.
* \param b_current_next current next indicator
* \return p_eit pointer to the EIT structure or NULL on error
*/
__attribute__
((
deprecated
,
unused
))
inline
dvbpsi_atsc_eit_t
*
dvbpsi_atsc_NewEIT
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
uint8_t
i_protocol
,
uint16_t
i_source_id
,
bool
b_current_next
)
{
return
dvbpsi_atsc_eit_new
(
i_table_id
,
i_extension
,
i_version
,
i_protocol
,
i_source_id
,
b_current_next
);
}
/*****************************************************************************
* dvbpsi_atsc_
EmptyEIT
* dvbpsi_atsc_
eit_empty
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_
EmptyEIT
(dvbpsi_atsc_eit_t* p_eit)
* \fn void dvbpsi_atsc_
eit_empty
(dvbpsi_atsc_eit_t* p_eit)
* \brief Clean a dvbpsi_eit_t structure.
* \param p_eit pointer to the EIT structure
* \return nothing.
*/
void
dvbpsi_atsc_EmptyEIT
(
dvbpsi_atsc_eit_t
*
p_eit
);
void
dvbpsi_atsc_eit_empty
(
dvbpsi_atsc_eit_t
*
p_eit
);
/*!
* \brief dvbpsi_atsc_EmptyEIT is deprecated use @see dvbpsi_atsc_eit_empty() instead.
* \param p_eit pointer to the EIT structure
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_EmptyEIT
(
dvbpsi_atsc_eit_t
*
p_eit
)
{
dvbpsi_atsc_eit_empty
(
p_eit
);
}
/*****************************************************************************
* dvbpsi_atsc_eit_delete
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_
DeleteEIT
(dvbpsi_atsc_eit_t *p_eit)
* \fn void dvbpsi_atsc_
eit_delete
(dvbpsi_atsc_eit_t *p_eit)
* \brief Clean and free a dvbpsi_eit_t structure.
* \param p_eit pointer to the EIT structure
* \return nothing.
*/
void
dvbpsi_atsc_DeleteEIT
(
dvbpsi_atsc_eit_t
*
p_eit
);
void
dvbpsi_atsc_eit_delete
(
dvbpsi_atsc_eit_t
*
p_eit
);
/*!
* \brief dvbpsi_atsc_DeleteEIT is deprecated use @see dvbpsi_atsc_eit_delete() instead.
* \param p_eit pointer to the EIT structure
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_DeleteEIT
(
dvbpsi_atsc_eit_t
*
p_eit
)
{
dvbpsi_atsc_eit_delete
(
p_eit
);
}
#ifdef __cplusplus
};
...
...
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