[vlc-commits] demux: ts: psip: parse every section on callback

Francois Cartegnie git at videolan.org
Wed Jun 21 21:34:25 CEST 2017


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Jun 21 19:27:18 2017 +0200| [5ed9ee316aba32eb64f959bc438e5d3c480c366c] | committer: Francois Cartegnie

demux: ts: psip: parse every section on callback

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5ed9ee316aba32eb64f959bc438e5d3c480c366c
---

 modules/demux/mpeg/ts_psip.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/modules/demux/mpeg/ts_psip.c b/modules/demux/mpeg/ts_psip.c
index afb1d50d85..00fc59c45b 100644
--- a/modules/demux/mpeg/ts_psip.c
+++ b/modules/demux/mpeg/ts_psip.c
@@ -577,9 +577,12 @@ static void ATSC_ETT_RawCallback( dvbpsi_t *p_handle, const dvbpsi_psi_section_t
                                   void *p_base_pid )
 {
     VLC_UNUSED( p_handle );
-    dvbpsi_atsc_ett_t *p_ett = DVBPlague_ETT_Decode( p_section );
-    if( p_ett ) /* Send to real callback */
-        ATSC_ETT_Callback( p_base_pid, p_ett );
+    for( ; p_section; p_section = p_section->p_next )
+    {
+        dvbpsi_atsc_ett_t *p_ett = DVBPlague_ETT_Decode( p_section );
+        if( p_ett ) /* Send to real callback */
+            ATSC_ETT_Callback( p_base_pid, p_ett );
+    }
 }
 
 static void ATSC_VCT_Callback( void *p_cb_basepid, dvbpsi_atsc_vct_t* p_vct )
@@ -812,9 +815,12 @@ static void ATSC_STT_RawCallback( dvbpsi_t *p_handle, const dvbpsi_psi_section_t
                                   void *p_base_pid )
 {
     VLC_UNUSED( p_handle );
-    dvbpsi_atsc_stt_t *p_stt = DVBPlague_STT_Decode( p_section );
-    if( p_stt ) /* Send to real callback */
-        ATSC_STT_Callback( p_base_pid, p_stt );
+    for( ; p_section ; p_section = p_section->p_next )
+    {
+        dvbpsi_atsc_stt_t *p_stt = DVBPlague_STT_Decode( p_section );
+        if( p_stt ) /* Send to real callback */
+            ATSC_STT_Callback( p_base_pid, p_stt );
+    }
 }
 
 bool ATSC_Attach_Dvbpsi_Base_Decoders( dvbpsi_t *p_handle, void *p_base_pid )



More information about the vlc-commits mailing list