[vlc-devel] commit: INPUT: Properly remove SDT and EPG entries on exit ( Marian Ďurkovič )

Marian Ďurkovič md at bts.sk
Mon Sep 14 20:04:31 CEST 2009


On Mon, Sep 14, 2009 at 07:33:53PM +0200, Laurent Aimar wrote:
> Hi
> 
> On Mon, Sep 14, 2009, git version control wrote:
> > vlc | branch: master | Marian Ďurkovič <md at bts.sk> | Mon Sep 14 16:52:31 2009 +0200| [6fc6b16d506665d3ee4ede58c444de68491a61bc] | committer: Marian Ďurkovič 
> > 
> > INPUT: Properly remove SDT and EPG entries on exit
>  For the SDT, as they are valid for a really long time, I do think it is
> better to let them live at eof.
>  For EPG entries, because of their low level updates (especially for
> the EIT others") it makes sense to let them live after the eof.

Before this change, the code was removing those as soon as first SDT/EIT
packet was seen on new playback. So even if EPG was cached, the arrival
of EIT p/f immediately cleared the whole table - so the cached entries
were visible for only a second or so.

At the same time, it had *catastrophic* side-effects on new playback startup,
as during startup phase input_SendEventMeta() is called many times. Each call
processed the whole EPG table with many long entries using QT4 functions,
resulting in 100 % CPU utilization on Core2 Duo for 5 seconds. During this 
time VLC interface was completely hung and playback was jerky if not missing
completely.

As for the rate of uptades, EIT p/f must be transmitted once per 5 seconds,
and the whole schedule once per 30 seconds IIRC. So yes, caching might
improve the availability of 7-day schedule entries, but the above
side-effects are not acceptable IMHO.  

   With kind regards,

        M.



More information about the vlc-devel mailing list