Commit 6186747b authored by Laurent Aimar's avatar Laurent Aimar

Updated current EIT event only on Current/Following EIT tables.

parent 644a03b1
......@@ -2870,7 +2870,8 @@ static char *EITConvertToUTF8( const unsigned char *psz_instring,
return psz_outstring;
}
static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit )
static void EITCallBack( demux_t *p_demux,
dvbpsi_eit_t *p_eit, bool b_current_following )
{
demux_sys_t *p_sys = p_demux->p_sys;
dvbpsi_eit_event_t *p_evt;
......@@ -2987,7 +2988,7 @@ static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit )
}
if( p_epg->i_event > 0 )
{
if( p_eit->i_service_id == p_sys->i_current_program )
if( p_eit->i_service_id == p_sys->i_current_program && b_current_following )
{
p_sys->i_dvb_length = 0;
p_sys->i_dvb_start = 0;
......@@ -3004,6 +3005,14 @@ static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit )
dvbpsi_DeleteEIT( p_eit );
}
static void EITCallBackCurrentFollowing( demux_t *p_demux, dvbpsi_eit_t *p_eit )
{
EITCallBack( p_demux, p_eit, true );
}
static void EITCallBackSchedule( demux_t *p_demux, dvbpsi_eit_t *p_eit )
{
EITCallBack( p_demux, p_eit, false );
}
static void PSINewTableCallBack( demux_t *p_demux, dvbpsi_handle h,
uint8_t i_table_id, uint16_t i_extension )
......@@ -3027,8 +3036,10 @@ static void PSINewTableCallBack( demux_t *p_demux, dvbpsi_handle h,
msg_Dbg( p_demux, "PSINewTableCallBack: table 0x%x(%d) ext=0x%x(%d)",
i_table_id, i_table_id, i_extension, i_extension );
dvbpsi_AttachEIT( h, i_table_id, i_extension,
(dvbpsi_eit_callback)EITCallBack, p_demux );
dvbpsi_eit_callback cb = i_table_id == 0x4e ?
(dvbpsi_eit_callback)EITCallBackCurrentFollowing :
(dvbpsi_eit_callback)EITCallBackSchedule;
dvbpsi_AttachEIT( h, i_table_id, i_extension, cb, p_demux );
}
}
#endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment