[mythtv] Active EIT scanner and idle shutdown of backend

Roger James roger at beardandsandals.co.uk
Sat Feb 2 13:32:07 UTC 2013


A couple of years I disabled all active EIT scanning as that was the 
only way I could get my backend to to idle shutdown. This was even after 
the fix for ticket #3597 was applied.

I recently turned it back on again to see if things had changed in 
fixes-0.26. They have not. I still cannot get my backend to shut down. 
The sequence of events is as follows.

1. The eit scanner finds some events. These can be for any program new 
or old whether or not there is a recording schedule for it. This means 
that here in UK DVB-T land the scanner will pretty much continually find 
new events. The scanner will then at least every 60 seconds queue a 
scheduler MATCH 0 0 0 request.

2. The scheduler will find a MATCH request in its queue and because 
HandleRequest will always return true for a match request it will set 
statuschanged to true.

3. When the scheduler calls HandleIdleShutdown the fact that 
statuschanged is true will cause the shutdown timer to be reset!

I cannot see how the patch in #3297 can ever have worked if the scanner 
continues to find events even though those events may be irrelevant to 
any recording schedules.

Please can anyone confirm this!

I can see two possible ways to fix this.

1. Stop the scanner requesting a reschedule if none of the events in its 
queue relate to active recordings schedules. I do not think this is the 
best way to go about it as mixes a lot of scheduling functionality into 
the scanner.

2. Change the scheduler logic to only return statuschanged if recording 
schedules have actually been changed.


P.S. Slightly off topic.

Can anyone explain to me the logic in the scanner regarding tableids. I 
can almost understand preferring 4E before 4F before anything in the 50s 
and 60s. But I cannot see anything in the spec about ordering of the 50s 
and 60s. I wonder if this causes us to queue unnecessary eit events?

More information about the mythtv-dev mailing list