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
911ec44e
Commit
911ec44e
authored
Dec 10, 2015
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATSC STT: Rename API's
parent
9d6928c6
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
129 additions
and
36 deletions
+129
-36
examples/dvbinfo/libdvbpsi.c
examples/dvbinfo/libdvbpsi.c
+3
-3
src/tables/atsc_stt.c
src/tables/atsc_stt.c
+17
-17
src/tables/atsc_stt.h
src/tables/atsc_stt.h
+109
-16
No files found.
examples/dvbinfo/libdvbpsi.c
View file @
911ec44e
...
...
@@ -706,7 +706,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 ETT subdecoder
\n
"
);
break
;
case
0xCD
:
/* ATSC STT */
if
(
!
dvbpsi_atsc_
AttachSTT
(
p_dvbpsi
,
i_table_id
,
i_extension
,
handle_atsc_STT
,
p_data
))
if
(
!
dvbpsi_atsc_
stt_attach
(
p_dvbpsi
,
i_table_id
,
i_extension
,
handle_atsc_STT
,
p_data
))
fprintf
(
stderr
,
"dvbinfo: Failed to attach ATSC STT subdecoder
\n
"
);
break
;
#ifdef TS_USE_SCTE_SIS
...
...
@@ -2139,7 +2139,7 @@ static void handle_atsc_STT(void* p_data, dvbpsi_atsc_stt_t *p_stt)
printf
(
"
\t\t
Hour of day : %d
\n
"
,
i_hour
);
DumpDescriptors
(
"
\t
| ]"
,
p_stt
->
p_first_descriptor
);
dvbpsi_atsc_
DeleteSTT
(
p_stt
);
dvbpsi_atsc_
stt_delete
(
p_stt
);
}
static
void
DumpRSTEvents
(
const
char
*
str
,
dvbpsi_rst_event_t
*
p_event
)
...
...
@@ -2377,7 +2377,7 @@ static void DeleteTableDecoder(dvbpsi_t *p_dvbpsi, uint8_t i_table, uint16_t i_e
case
0xC9
:
dvbpsi_atsc_DetachVCT
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC VCT */
case
0xCB
:
dvbpsi_atsc_eit_detach
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC EIT */
case
0xCC
:
dvbpsi_atsc_ett_detach
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC ETT */
case
0xCD
:
dvbpsi_atsc_
DetachSTT
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC STT */
case
0xCD
:
dvbpsi_atsc_
stt_detach
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* ATSC STT */
#ifdef TS_USE_SCTE_SIS
case
0xFC
:
dvbpsi_sis_detach
(
p_dvbpsi
,
i_table
,
i_extension
);
break
;
/* SIS */
#endif
...
...
src/tables/atsc_stt.c
View file @
911ec44e
...
...
@@ -66,11 +66,11 @@ static void dvbpsi_atsc_DecodeSTTSections(dvbpsi_atsc_stt_t* p_stt,
dvbpsi_psi_section_t
*
p_section
);
/*****************************************************************************
* dvbpsi_atsc_
AttachSTT
* dvbpsi_atsc_
stt_attach
*****************************************************************************
* Initialize a STT subtable decoder.
*****************************************************************************/
bool
dvbpsi_atsc_
AttachSTT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
bool
dvbpsi_atsc_
stt_attach
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
dvbpsi_atsc_stt_callback
pf_stt_callback
,
void
*
p_cb_data
)
{
assert
(
p_dvbpsi
);
...
...
@@ -109,11 +109,11 @@ bool dvbpsi_atsc_AttachSTT(dvbpsi_t* p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
}
/*****************************************************************************
* dvbpsi_atsc_
DetachSTT
* dvbpsi_atsc_
stt_detach
*****************************************************************************
* Close a STT decoder.
*****************************************************************************/
void
dvbpsi_atsc_
DetachSTT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
)
void
dvbpsi_atsc_
stt_detach
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
)
{
assert
(
p_dvbpsi
);
...
...
@@ -141,18 +141,18 @@ void dvbpsi_atsc_DetachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
dvbpsi_atsc_stt_decoder_t
*
p_stt_decoder
=
(
dvbpsi_atsc_stt_decoder_t
*
)
p_dec
;
if
(
p_stt_decoder
->
p_building_stt
)
dvbpsi_atsc_
DeleteSTT
(
p_stt_decoder
->
p_building_stt
);
dvbpsi_atsc_
stt_delete
(
p_stt_decoder
->
p_building_stt
);
p_stt_decoder
->
p_building_stt
=
NULL
;
dvbpsi_decoder_delete
(
p_dec
);
p_dec
=
NULL
;
}
/*****************************************************************************
* dvbpsi_atsc_
InitSTT
* dvbpsi_atsc_
stt_init
*****************************************************************************
* Initialize a pre-allocated dvbpsi_atsc_stt_t structure.
*****************************************************************************/
void
dvbpsi_atsc_
InitSTT
(
dvbpsi_atsc_stt_t
*
p_stt
,
uint8_t
i_table_id
,
void
dvbpsi_atsc_
stt_init
(
dvbpsi_atsc_stt_t
*
p_stt
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
bool
b_current_next
)
{
assert
(
p_stt
);
...
...
@@ -167,40 +167,40 @@ void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t *p_stt, uint8_t i_table_id,
}
/*****************************************************************************
* dvbpsi_atsc_
NewSTT
* dvbpsi_atsc_
stt_new
*****************************************************************************
* Allocate and initialize a dvbpsi_atsc_stt_t structure.
*****************************************************************************/
dvbpsi_atsc_stt_t
*
dvbpsi_atsc_
NewSTT
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
dvbpsi_atsc_stt_t
*
dvbpsi_atsc_
stt_new
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
bool
b_current_next
)
{
dvbpsi_atsc_stt_t
*
p_stt
;
p_stt
=
(
dvbpsi_atsc_stt_t
*
)
malloc
(
sizeof
(
dvbpsi_atsc_stt_t
));
if
(
p_stt
!=
NULL
)
dvbpsi_atsc_
InitSTT
(
p_stt
,
i_table_id
,
i_extension
,
i_version
,
b_current_next
);
dvbpsi_atsc_
stt_init
(
p_stt
,
i_table_id
,
i_extension
,
i_version
,
b_current_next
);
return
p_stt
;
}
/*****************************************************************************
* dvbpsi_atsc_
EmptySTT
* dvbpsi_atsc_
stt_empty
*****************************************************************************
* Clean a dvbpsi_atsc_stt_t structure.
*****************************************************************************/
void
dvbpsi_atsc_
EmptySTT
(
dvbpsi_atsc_stt_t
*
p_stt
)
void
dvbpsi_atsc_
stt_empty
(
dvbpsi_atsc_stt_t
*
p_stt
)
{
dvbpsi_DeleteDescriptors
(
p_stt
->
p_first_descriptor
);
p_stt
->
p_first_descriptor
=
NULL
;
}
/*****************************************************************************
* dvbpsi_atsc_
DeleteSTT
* dvbpsi_atsc_
stt_delete
*****************************************************************************
* Empty and Delere a dvbpsi_atsc_stt_t structure.
*****************************************************************************/
void
dvbpsi_atsc_
DeleteSTT
(
dvbpsi_atsc_stt_t
*
p_stt
)
void
dvbpsi_atsc_
stt_delete
(
dvbpsi_atsc_stt_t
*
p_stt
)
{
if
(
p_stt
)
dvbpsi_atsc_
EmptySTT
(
p_stt
);
dvbpsi_atsc_
stt_empty
(
p_stt
);
free
(
p_stt
);
p_stt
=
NULL
;
}
...
...
@@ -241,7 +241,7 @@ static void dvbpsi_ReInitSTT(dvbpsi_atsc_stt_decoder_t *p_decoder, const bool b_
{
/* Free structures */
if
(
p_decoder
->
p_building_stt
)
dvbpsi_atsc_
DeleteSTT
(
p_decoder
->
p_building_stt
);
dvbpsi_atsc_
stt_delete
(
p_decoder
->
p_building_stt
);
}
p_decoder
->
p_building_stt
=
NULL
;
}
...
...
@@ -284,7 +284,7 @@ static bool dvbpsi_AddSectionSTT(dvbpsi_t *p_dvbpsi, dvbpsi_atsc_stt_decoder_t *
/* Initialize the structures if it's the first section received */
if
(
!
p_decoder
->
p_building_stt
)
{
p_decoder
->
p_building_stt
=
dvbpsi_atsc_
NewSTT
(
p_section
->
i_table_id
,
p_section
->
i_extension
,
p_decoder
->
p_building_stt
=
dvbpsi_atsc_
stt_new
(
p_section
->
i_table_id
,
p_section
->
i_extension
,
p_section
->
i_version
,
p_section
->
b_current_next
);
if
(
!
p_decoder
->
p_building_stt
)
return
false
;
...
...
src/tables/atsc_stt.h
View file @
911ec44e
...
...
@@ -71,10 +71,10 @@ typedef struct dvbpsi_atsc_stt_s
typedef
void
(
*
dvbpsi_atsc_stt_callback
)(
void
*
p_cb_data
,
dvbpsi_atsc_stt_t
*
p_new_stt
);
/*****************************************************************************
* dvbpsi_atsc_
AttachSTT
* dvbpsi_atsc_
stt_attach
*****************************************************************************/
/*!
* \fn bool dvbpsi_atsc_
AttachSTT
(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension,
* \fn bool dvbpsi_atsc_
stt_attach
(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
...
...
@@ -84,14 +84,32 @@ typedef void (* dvbpsi_atsc_stt_callback)(void* p_cb_data, dvbpsi_atsc_stt_t* p_
* \param p_cb_data private data given in argument to the callback.
* \return true if everything went ok else false
*/
bool
dvbpsi_atsc_
AttachSTT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
bool
dvbpsi_atsc_
stt_attach
(
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 dvbpsi_atsc_AttachSTT is deprecated use @see dvbpsi_atsc_stt_attach() instead.
* \param p_eit pointer to the EIT structure
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached
* \param i_table_id Table ID, 0xCD.
* \param i_extension Table ID extension, here it should be 0.
* \param pf_stt_callback function to call back on new STT.
* \param p_cb_data private data given in argument to the callback.
* \return true if everything went ok else false
*/
__attribute__
((
deprecated
,
unused
))
inline
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
)
{
return
dvbpsi_atsc_stt_attach
(
p_dvbpsi
,
i_table_id
,
i_extension
,
pf_stt_callback
,
p_cb_data
);
}
/*****************************************************************************
* dvbpsi_atsc_
DetachSTT
* dvbpsi_atsc_
stt_detach
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_
DetachSTT
(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
* \fn void dvbpsi_atsc_
stt_detach
(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extension)
*
* \brief Destroy a STT decoder.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
...
...
@@ -100,13 +118,27 @@ bool dvbpsi_atsc_AttachSTT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_ex
* (Required to match prototype for demux)
* \return nothing.
*/
void
dvbpsi_atsc_DetachSTT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_externsion
);
void
dvbpsi_atsc_stt_detach
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_externsion
);
/*!
* \brief dvbpsi_atsc_DetachSTT is deprecated use @see dvbpsi_atsc_stt_detach() instead.
* \param p_dvbpsi dvbpsi handle to Subtable demultiplexor to which the decoder is attached.
* \param i_table_id Table ID, 0xCD.
* \param i_extension Table extension, ignored as this should always be 0.
* (Required to match prototype for demux)
* \return nothing.
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_DetachSTT
(
dvbpsi_t
*
p_dvbpsi
,
uint8_t
i_table_id
,
uint16_t
i_externsion
)
{
dvbpsi_atsc_stt_detach
(
p_dvbpsi
,
i_table_id
,
i_externsion
);
}
/*****************************************************************************
* dvbpsi_atsc_
InitSTT/dvbpsi_atsc_NewSTT
* dvbpsi_atsc_
stt_init
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_
InitSTT
(dvbpsi_atsc_stt_t *p_stt, uint8_t i_table_id,
* \fn void dvbpsi_atsc_
stt_init
(dvbpsi_atsc_stt_t *p_stt, uint8_t i_table_id,
uint16_t i_extension, uint8_t i_protocol,
bool b_current_next)
* \brief Initialize a user-allocated dvbpsi_atsc_stt_t structure.
...
...
@@ -117,11 +149,30 @@ void dvbpsi_atsc_DetachSTT(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_
InitSTT
(
dvbpsi_atsc_stt_t
*
p_stt
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
void
dvbpsi_atsc_
stt_init
(
dvbpsi_atsc_stt_t
*
p_stt
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_protocol
,
bool
b_current_next
);
/*!
* \fn dvbpsi_atsc_stt_t *dvbpsi_atsc_NewSTT(uint8_t i_table_id, uint16_t i_extension,
* \brief dvbpsi_atsc_InitSTT is deprecated use @see dvbpsi_atsc_stt_init() instead.
* \param p_stt pointer to the STT structure
* \param i_table_id Table ID, 0xCD.
* \param i_extension Table extension, ignored as this should always be 0.
* \param i_protocol PSIP Protocol version.
* \param b_current_next current next indicator
* \return nothing.
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_InitSTT
(
dvbpsi_atsc_stt_t
*
p_stt
,
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_protocol
,
bool
b_current_next
)
{
dvbpsi_atsc_stt_init
(
p_stt
,
i_table_id
,
i_extension
,
i_protocol
,
b_current_next
);
}
/*****************************************************************************
* dvbpsi_atsc_stt_new
*****************************************************************************/
/*!
* \fn dvbpsi_atsc_stt_t *dvbpsi_atsc_stt_new(uint8_t i_table_id, uint16_t i_extension,
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 i_table_id Table ID, 0xCD.
...
...
@@ -130,27 +181,69 @@ void dvbpsi_atsc_InitSTT(dvbpsi_atsc_stt_t *p_stt, uint8_t i_table_id, uint16_t
* \param b_current_next current next indicator
* \return p_stt pointer to the STT structure
*/
dvbpsi_atsc_stt_t
*
dvbpsi_atsc_
NewSTT
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
dvbpsi_atsc_stt_t
*
dvbpsi_atsc_
stt_new
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
bool
b_current_next
);
/*!
* \brief dvbpsi_atsc_NewSTT is deprecated use @see dvbpsi_atsc_stt_new() instead.
* \param i_table_id Table ID, 0xCD.
* \param i_extension Table extension, ignored as this should always be 0.
* \param i_version PSIP Protocol version.
* \param b_current_next current next indicator
* \return p_stt pointer to the STT structure
*/
__attribute__
((
deprecated
,
unused
))
inline
dvbpsi_atsc_stt_t
*
dvbpsi_atsc_NewSTT
(
uint8_t
i_table_id
,
uint16_t
i_extension
,
uint8_t
i_version
,
bool
b_current_next
)
{
return
dvbpsi_atsc_stt_new
(
i_table_id
,
i_extension
,
i_version
,
b_current_next
);
}
/*****************************************************************************
* dvbpsi_atsc_
EmptySTT
* dvbpsi_atsc_
stt_empty
*****************************************************************************/
/*!
* \fn void dvbpsi_atsc_
EmptySTT
(dvbpsi_atsc_stt_t* p_stt)
* \fn void dvbpsi_atsc_
stt_empty
(dvbpsi_atsc_stt_t* p_stt)
* \brief Clean a dvbpsi_atsc_stt_t structure.
* \param p_stt pointer to the STT structure
* \return nothing.
*/
void
dvbpsi_atsc_
EmptySTT
(
dvbpsi_atsc_stt_t
*
p_stt
);
void
dvbpsi_atsc_
stt_empty
(
dvbpsi_atsc_stt_t
*
p_stt
);
/*!
* \fn dvbpsi_atsc_DeleteSTT(dvbpsi_atsc_stt_t *p_stt)
* \brief dvbpsi_atsc_EmptySTT is deprecated use @see dvbpsi_atsc_stt_empty() instead.
* \brief Clean a dvbpsi_atsc_stt_t structure.
* \param p_stt pointer to the STT structure
* \return nothing.
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_EmptySTT
(
dvbpsi_atsc_stt_t
*
p_stt
)
{
dvbpsi_atsc_stt_empty
(
p_stt
);
}
/*****************************************************************************
* dvbpsi_atsc_stt_delete
*****************************************************************************/
/*!
* \fn dvbpsi_atsc_stt_delete(dvbpsi_atsc_stt_t *p_stt)
* \brief Clean and free a dvbpsi_atsc_stt_t structure.
* \param p_stt pointer to the STT structure
* \return nothing.
*/
void
dvbpsi_atsc_DeleteSTT
(
dvbpsi_atsc_stt_t
*
p_stt
);
void
dvbpsi_atsc_stt_delete
(
dvbpsi_atsc_stt_t
*
p_stt
);
/*!
* \brief dvbpsi_atsc_DeleteSTT is deprecated use @see dvbpsi_atsc_stt_delete() instead.
* \brief Clean a dvbpsi_atsc_stt_t structure.
* \param p_stt pointer to the STT structure
* \return nothing.
*/
__attribute__
((
deprecated
,
unused
))
inline
void
dvbpsi_atsc_DeleteSTT
(
dvbpsi_atsc_stt_t
*
p_stt
)
{
dvbpsi_atsc_stt_delete
(
p_stt
);
}
#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