[mythtv] Regarding EIT

Robert Johnston anaerin at gmail.com
Tue Jun 22 19:43:55 UTC 2010


On 22/06/2010 10:10 AM, Tyler T wrote:
> Janne,
>
> Thank you for the detailed reply!
>
>>> Per a thread over on -users, I'm playing around with the EIT code
>>> (0.23) to stop it from constantly scanning for EPG data. However, the
>>> more I dig into it, I more I feel some aspects need to be discussed.
>>
>> I'm working on major EIT scanning changes for 0.24. I'll comment on your
>> points on by one and say what I've changed or plan to change.
>
> That's great news!
>
>> Planned to
>> prioritize by last scan time and available programming informations.
>
> Sounds good.

It's a real shame that EIT scanning can't be done more intelligently. 
Something like (Pseudo-code):

sBeginTime = New DateTime.Now();
EIT.OpenMultiplex(iMultiplex);
EIT.GetPacket();
While (!EIT.PacketSeenThisScan()) {
    EIT.ParsePacket();
    DB.Insert(EIT.ParsedScheduleData);
    EIT.GetPacket();
}
EIT.CloseMultiplex();
Job.Schedule(EIT,iMultiplex,(DateTime.Now() - sBeginTime) - iBuffer);

This scanning strategy would ensure that there is data available at all 
times, while minimising the time spent scanning for EIT data. It also 
means that if you have several different providers with differing 
amounts of EIT data provided, the whole scan isn't decided by the needs 
of the shortest-available provider.

The scheduling would have to be reasonably intelligent, ensuring that 
the job occurs some time between now and the time calculated (Basically, 
between now and the next time the system will run out of data) without 
impinging on existing recording rules.

Just a thought.


More information about the mythtv-dev mailing list