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, ...@@ -2870,7 +2870,8 @@ static char *EITConvertToUTF8( const unsigned char *psz_instring,
return psz_outstring; 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; demux_sys_t *p_sys = p_demux->p_sys;
dvbpsi_eit_event_t *p_evt; dvbpsi_eit_event_t *p_evt;
...@@ -2987,7 +2988,7 @@ static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit ) ...@@ -2987,7 +2988,7 @@ static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit )
} }
if( p_epg->i_event > 0 ) 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_length = 0;
p_sys->i_dvb_start = 0; p_sys->i_dvb_start = 0;
...@@ -3004,6 +3005,14 @@ static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit ) ...@@ -3004,6 +3005,14 @@ static void EITCallBack( demux_t *p_demux, dvbpsi_eit_t *p_eit )
dvbpsi_DeleteEIT( 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, static void PSINewTableCallBack( demux_t *p_demux, dvbpsi_handle h,
uint8_t i_table_id, uint16_t i_extension ) uint8_t i_table_id, uint16_t i_extension )
...@@ -3027,8 +3036,10 @@ static void PSINewTableCallBack( demux_t *p_demux, dvbpsi_handle h, ...@@ -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)", msg_Dbg( p_demux, "PSINewTableCallBack: table 0x%x(%d) ext=0x%x(%d)",
i_table_id, i_table_id, i_extension, i_extension ); i_table_id, i_table_id, i_extension, i_extension );
dvbpsi_AttachEIT( h, i_table_id, i_extension, dvbpsi_eit_callback cb = i_table_id == 0x4e ?
(dvbpsi_eit_callback)EITCallBack, p_demux ); (dvbpsi_eit_callback)EITCallBackCurrentFollowing :
(dvbpsi_eit_callback)EITCallBackSchedule;
dvbpsi_AttachEIT( h, i_table_id, i_extension, cb, p_demux );
} }
} }
#endif #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