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
63d5c0cb
Commit
63d5c0cb
authored
Nov 18, 2009
by
Marian Durkovic
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Avoid empty SI tables and always deliver valid ones.
parent
57393efc
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
32 additions
and
107 deletions
+32
-107
src/tables/cat.c
src/tables/cat.c
+3
-12
src/tables/cat.h
src/tables/cat.h
+2
-5
src/tables/eit.c
src/tables/eit.c
+3
-12
src/tables/eit.h
src/tables/eit.h
+2
-5
src/tables/nit.c
src/tables/nit.c
+3
-12
src/tables/nit.h
src/tables/nit.h
+2
-5
src/tables/pat.c
src/tables/pat.c
+3
-12
src/tables/pat.h
src/tables/pat.h
+2
-5
src/tables/pmt.c
src/tables/pmt.c
+3
-12
src/tables/pmt.h
src/tables/pmt.h
+2
-5
src/tables/sdt.c
src/tables/sdt.c
+3
-12
src/tables/sdt.h
src/tables/sdt.h
+2
-5
src/tables/tot.h
src/tables/tot.h
+2
-5
No files found.
src/tables/cat.c
View file @
63d5c0cb
...
...
@@ -248,19 +248,10 @@ void dvbpsi_GatherCATSections(dvbpsi_decoder_t* p_decoder,
else
{
if
(
(
p_cat_decoder
->
b_current_valid
)
&&
(
p_cat_decoder
->
current_cat
.
i_version
==
p_section
->
i_version
))
&&
(
p_cat_decoder
->
current_cat
.
i_version
==
p_section
->
i_version
)
&&
(
p_cat_decoder
->
current_cat
.
b_current_next
==
p_section
->
b_current_next
))
{
/* Signal a new CAT if the previous one wasn't active */
if
(
(
!
p_cat_decoder
->
current_cat
.
b_current_next
)
&&
(
p_section
->
b_current_next
))
{
dvbpsi_cat_t
*
p_cat
=
(
dvbpsi_cat_t
*
)
malloc
(
sizeof
(
dvbpsi_cat_t
));
p_cat_decoder
->
current_cat
.
b_current_next
=
1
;
*
p_cat
=
p_cat_decoder
->
current_cat
;
p_cat_decoder
->
pf_callback
(
p_cat_decoder
->
p_cb_data
,
p_cat
);
}
/* Don't decode since this version is already decoded */
b_append
=
0
;
}
...
...
src/tables/cat.h
View file @
63d5c0cb
...
...
@@ -28,11 +28,8 @@
* \author Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
* \brief Application interface for the CAT decoder and the CAT generator.
*
* Application interface for the CAT decoder and the CAT generator. New
* decoded CAT tables are sent by callback to the application. If a table
* wasn't active (b_current_next == 0) and the next is the same but active
* (b_current_next == 1) then the two lists are empty and should be
* caught from the previous structure.
* Application interface for the CAT decoder and the CAT generator.
* New decoded CAT tables are sent by callback to the application.
*/
#ifndef _DVBPSI_CAT_H_
...
...
src/tables/eit.c
View file @
63d5c0cb
...
...
@@ -342,19 +342,10 @@ void dvbpsi_GatherEITSections(dvbpsi_decoder_t * p_psi_decoder,
else
{
if
(
(
p_eit_decoder
->
b_current_valid
)
&&
(
p_eit_decoder
->
current_eit
.
i_version
==
p_section
->
i_version
))
&&
(
p_eit_decoder
->
current_eit
.
i_version
==
p_section
->
i_version
)
&&
(
p_eit_decoder
->
current_eit
.
b_current_next
==
p_section
->
b_current_next
))
{
/* Signal a new EIT if the previous one wasn't active */
if
(
(
!
p_eit_decoder
->
current_eit
.
b_current_next
)
&&
(
p_section
->
b_current_next
))
{
dvbpsi_eit_t
*
p_eit
=
(
dvbpsi_eit_t
*
)
malloc
(
sizeof
(
dvbpsi_eit_t
));
p_eit_decoder
->
current_eit
.
b_current_next
=
1
;
*
p_eit
=
p_eit_decoder
->
current_eit
;
p_eit_decoder
->
pf_callback
(
p_eit_decoder
->
p_cb_data
,
p_eit
);
}
/* Don't decode since this version is already decoded */
b_append
=
0
;
}
...
...
src/tables/eit.h
View file @
63d5c0cb
...
...
@@ -26,11 +26,8 @@
* \author Christophe Massiot <massiot@via.ecp.fr>
* \brief Application interface for the EIT decoder and the EIT generator.
*
* Application interface for the EIT decoder and the EIT generator. New
* decoded EIT are sent by callback to the application. If a table
* wasn't active (b_current_next == 0) and the next is the same but active
* (b_current_next == 1) then the event information list is empty and should
* be caught from the previous structure.
* Application interface for the EIT decoder and the EIT generator.
* New decoded EIT tables are sent by callback to the application.
*/
#ifndef _DVBPSI_EIT_H_
...
...
src/tables/nit.c
View file @
63d5c0cb
...
...
@@ -375,19 +375,10 @@ void dvbpsi_GatherNITSections(dvbpsi_decoder_t * p_decoder,
else
{
if
(
(
p_nit_decoder
->
b_current_valid
)
&&
(
p_nit_decoder
->
current_nit
.
i_version
==
p_section
->
i_version
))
&&
(
p_nit_decoder
->
current_nit
.
i_version
==
p_section
->
i_version
)
&&
(
p_nit_decoder
->
current_nit
.
b_current_next
==
p_section
->
b_current_next
))
{
/* Signal a new NIT if the previous one wasn't active */
if
(
(
!
p_nit_decoder
->
current_nit
.
b_current_next
)
&&
(
p_section
->
b_current_next
))
{
dvbpsi_nit_t
*
p_nit
=
(
dvbpsi_nit_t
*
)
malloc
(
sizeof
(
dvbpsi_nit_t
));
p_nit_decoder
->
current_nit
.
b_current_next
=
1
;
*
p_nit
=
p_nit_decoder
->
current_nit
;
p_nit_decoder
->
pf_callback
(
p_nit_decoder
->
p_cb_data
,
p_nit
);
}
/* Don't decode since this version is already decoded */
b_append
=
0
;
}
...
...
src/tables/nit.h
View file @
63d5c0cb
...
...
@@ -28,11 +28,8 @@
* \author Johann Hanne
* \brief Application interface for the NIT decoder and the NIT generator.
*
* Application interface for the NIT decoder and the NIT generator. New
* decoded NIT tables are sent by callback to the application. If a table
* wasn't active (b_current_next == 0) and the next is the same but active
* (b_current_next == 1) then the two lists are empty and should be
* caught from the previous structure.
* Application interface for the NIT decoder and the NIT generator.
* New decoded NIT tables are sent by callback to the application.
*/
#ifndef _DVBPSI_NIT_H_
...
...
src/tables/pat.c
View file @
63d5c0cb
...
...
@@ -265,19 +265,10 @@ void dvbpsi_GatherPATSections(dvbpsi_decoder_t* p_decoder,
else
{
if
(
(
p_pat_decoder
->
b_current_valid
)
&&
(
p_pat_decoder
->
current_pat
.
i_version
==
p_section
->
i_version
))
&&
(
p_pat_decoder
->
current_pat
.
i_version
==
p_section
->
i_version
)
&&
(
p_pat_decoder
->
current_pat
.
b_current_next
==
p_section
->
b_current_next
))
{
/* Signal a new PAT if the previous one wasn't active */
if
(
(
!
p_pat_decoder
->
current_pat
.
b_current_next
)
&&
(
p_section
->
b_current_next
))
{
dvbpsi_pat_t
*
p_pat
=
(
dvbpsi_pat_t
*
)
malloc
(
sizeof
(
dvbpsi_pat_t
));
p_pat_decoder
->
current_pat
.
b_current_next
=
1
;
*
p_pat
=
p_pat_decoder
->
current_pat
;
p_pat_decoder
->
pf_callback
(
p_pat_decoder
->
p_cb_data
,
p_pat
);
}
/* Don't decode since this version is already decoded */
b_append
=
0
;
}
...
...
src/tables/pat.h
View file @
63d5c0cb
...
...
@@ -26,11 +26,8 @@
* \author Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
* \brief Application interface for the PAT decoder and the PAT generator.
*
* Application interface for the PAT decoder and the PAT generator. New
* decoded PAT tables are sent by callback to the application. If a table
* wasn't active (b_current_next == 0) and the next is the same but active
* (b_current_next == 1) then the program list is empty and should be
* caught from the previous structure.
* Application interface for the PAT decoder and the PAT generator.
* New decoded PAT tables are sent by callback to the application.
*/
#ifndef _DVBPSI_PAT_H_
...
...
src/tables/pmt.c
View file @
63d5c0cb
...
...
@@ -338,19 +338,10 @@ void dvbpsi_GatherPMTSections(dvbpsi_decoder_t* p_decoder,
else
{
if
(
(
p_pmt_decoder
->
b_current_valid
)
&&
(
p_pmt_decoder
->
current_pmt
.
i_version
==
p_section
->
i_version
))
&&
(
p_pmt_decoder
->
current_pmt
.
i_version
==
p_section
->
i_version
)
&&
(
p_pmt_decoder
->
current_pmt
.
b_current_next
==
p_section
->
b_current_next
))
{
/* Signal a new PMT if the previous one wasn't active */
if
(
(
!
p_pmt_decoder
->
current_pmt
.
b_current_next
)
&&
(
p_section
->
b_current_next
))
{
dvbpsi_pmt_t
*
p_pmt
=
(
dvbpsi_pmt_t
*
)
malloc
(
sizeof
(
dvbpsi_pmt_t
));
p_pmt_decoder
->
current_pmt
.
b_current_next
=
1
;
*
p_pmt
=
p_pmt_decoder
->
current_pmt
;
p_pmt_decoder
->
pf_callback
(
p_pmt_decoder
->
p_cb_data
,
p_pmt
);
}
/* Don't decode since this version is already decoded */
b_append
=
0
;
}
...
...
src/tables/pmt.h
View file @
63d5c0cb
...
...
@@ -26,11 +26,8 @@
* \author Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
* \brief Application interface for the PMT decoder and the PMT generator.
*
* Application interface for the PMT decoder and the PMT generator. New
* decoded PMT tables are sent by callback to the application. If a table
* wasn't active (b_current_next == 0) and the next is the same but active
* (b_current_next == 1) then the two lists are empty and should be
* caught from the previous structure.
* Application interface for the PMT decoder and the PMT generator.
* New decoded PMT tables are sent by callback to the application.
*/
#ifndef _DVBPSI_PMT_H_
...
...
src/tables/sdt.c
View file @
63d5c0cb
...
...
@@ -339,19 +339,10 @@ void dvbpsi_GatherSDTSections(dvbpsi_decoder_t * p_psi_decoder,
else
{
if
(
(
p_sdt_decoder
->
b_current_valid
)
&&
(
p_sdt_decoder
->
current_sdt
.
i_version
==
p_section
->
i_version
))
&&
(
p_sdt_decoder
->
current_sdt
.
i_version
==
p_section
->
i_version
)
&&
(
p_sdt_decoder
->
current_sdt
.
b_current_next
==
p_section
->
b_current_next
))
{
/* Signal a new SDT if the previous one wasn't active */
if
(
(
!
p_sdt_decoder
->
current_sdt
.
b_current_next
)
&&
(
p_section
->
b_current_next
))
{
dvbpsi_sdt_t
*
p_sdt
=
(
dvbpsi_sdt_t
*
)
malloc
(
sizeof
(
dvbpsi_sdt_t
));
p_sdt_decoder
->
current_sdt
.
b_current_next
=
1
;
*
p_sdt
=
p_sdt_decoder
->
current_sdt
;
p_sdt_decoder
->
pf_callback
(
p_sdt_decoder
->
p_cb_data
,
p_sdt
);
}
/* Don't decode since this version is already decoded */
b_append
=
0
;
}
...
...
src/tables/sdt.h
View file @
63d5c0cb
...
...
@@ -26,11 +26,8 @@
* \author Johan Bilien <jobi@via.ecp.fr>
* \brief Application interface for the SDT decoder and the SDT generator.
*
* Application interface for the SDT decoder and the SDT generator. New
* decoded SDT are sent by callback to the application. If a table
* wasn't active (b_current_next == 0) and the next is the same but active
* (b_current_next == 1) then the service description list is empty and should
* be caught from the previous structure.
* Application interface for the SDT decoder and the SDT generator.
* New decoded SDT tables are sent by callback to the application.
*/
#ifndef _DVBPSI_SDT_H_
...
...
src/tables/tot.h
View file @
63d5c0cb
...
...
@@ -28,11 +28,8 @@
* \author Johann Hanne
* \brief Application interface for the TDT/TOT decoder and the TDT/TOT generator.
*
* Application interface for the TDT/TOT decoder and the TDT/TOT generator. New
* decoded TDT/TOT tables are sent by callback to the application. If a table
* wasn't active (b_current_next == 0) and the next is the same but active
* (b_current_next == 1) then the two lists are empty and should be
* caught from the previous structure.
* Application interface for the TDT/TOT decoder and the TDT/TOT generator.
* New decoded TDT/TOT tables are sent by callback to the application.
*/
#ifndef _DVBPSI_TOT_H_
...
...
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