[vlc-commits] demux: ts: add comments for EIT

Francois Cartegnie git at videolan.org
Mon Dec 19 21:17:46 CET 2016


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Dec 19 13:59:54 2016 +0100| [a4f0215fb7f02deed7ed07dd285ec7c64710ca59] | committer: Francois Cartegnie

demux: ts: add comments for EIT

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

 modules/demux/mpeg/ts_psip.c | 4 +++-
 modules/demux/mpeg/ts_si.c   | 4 ++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/modules/demux/mpeg/ts_psip.c b/modules/demux/mpeg/ts_psip.c
index 9a75bc9..2918f27 100644
--- a/modules/demux/mpeg/ts_psip.c
+++ b/modules/demux/mpeg/ts_psip.c
@@ -434,7 +434,9 @@ static void ATSC_EIT_Callback( void *p_pid, dvbpsi_atsc_eit_t* p_eit )
                                                      p_basectx->p_stt->i_gps_utc_offset );
     EIT_DEBUG_TIMESHIFT( i_current_time );
 
-
+    /* Use PID for segmenting our EPG tables updates. 1 EIT/PID transmits 3 hours,
+     * with a max of 16 days over 128 EIT/PID. Unlike DVD, table ID is here fixed.
+     * see ATSC A/65 5.0 */
     vlc_epg_t *p_epg = vlc_epg_New( p_basectx->i_tabletype - ATSC_TABLE_TYPE_EIT_0,
                                     i_program_number );
     if( !p_epg )
diff --git a/modules/demux/mpeg/ts_si.c b/modules/demux/mpeg/ts_si.c
index 5e706ed..52a8286 100644
--- a/modules/demux/mpeg/ts_si.c
+++ b/modules/demux/mpeg/ts_si.c
@@ -394,6 +394,10 @@ static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit )
              p_eit->i_ts_id, p_eit->i_network_id,
              p_eit->i_segment_last_section_number, p_eit->i_last_table_id );
 
+    /* Use table ID for segmenting our EPG tables updates. 1 table id has 256 sections which
+     * represents 8 segements of 32 sections each. Thus a max of 24 hours per table ID
+     * (Should be even better with tableid+segmentid compound if dvbpsi would export segment id)
+     * see TS 101 211, 4.1.4.2.1 */
     p_epg = vlc_epg_New( p_eit->i_table_id, p_eit->i_extension );
     for( p_evt = p_eit->p_first_event; p_evt; p_evt = p_evt->p_next )
     {



More information about the vlc-commits mailing list