[mythtv] GetProgramGuide does not return the good program list

Michael T. Dean mtdean at thirdcontact.com
Wed Sep 17 18:19:39 UTC 2008


On 09/17/2008 01:38 PM, Xavier Hervy wrote:
> Paul Harrison wrote:
>   
>> xavier hervy wrote:
>>> After reading the mythxml.cpp source code , I believe the function
>>> GetProgramGuide does not return the right subset of programs.
>>>
>>>
>>> the function use the following parameters StartTime, EndTime,
>>> NumOfChannels, StartChanId and Details
>>>
>>> At the moment the function return the programs which start at or after
>>> "StartTime" and finish before or at "EndTime"
>>>
>>> 543 QString sSQL = "WHERE program.chanid >= :StartChanId "
>>> 544                "AND program.chanid <= :EndChanId "
>>> 545                "AND program.starttime >= :StartDate "
>>> 546                "AND program.endtime <= :EndDate "
>>> 547                "GROUP BY program.starttime, channel.channum, "
>>> 548                "channel.callsign, program.title "
>>> 549                "ORDER BY program.chanid ";
>>>
>>>
>>> To build a programs guide, I would expect the function to return the
>>> program guide between StartTime and EndTime for the channel StartChanId
>>> and the following (NumOfChannels-1) channel(s). 
>>> Including:
>>> programs which start before Starttime and finish after EndTime
>>> programs which start at or after Starttime and start before EndTime
>>> programs which ends after Starttime and finish at or before EndTime
>>> as bellow:
>>> WHERE program.chanid >= :StartChanId 
>>> AND program.chanid <= :EndChanId 
>>> AND ( 
>>> ( program.starttime <= :StartDate AND   program.endtime >= :StartDate ) 
>>>   OR 
>>> ( program.starttime >= :StartDate AND   program.endtime > :StartDate )
>>>  OR 
>>> ( program.starttime < :EndDate AND program.endtime <= :EndDate ) 
>>> )
>>> GROUP BY program.starttime, channel.channum, 
>>> channel.callsign, program.title 
>>> ORDER BY program.chanid 
>>> Do I miss something obvious or should I open a trac ticket and submit a
>>> patch ?
>> There's already a ticket open for this. 
>> http://cvs.mythtv.org/trac/ticket/4956.
>>   
>>     
> I should search before ...
>   
>> Maybe you could test the patch there and report if it works as you would 
>> expect which would help whoever eventually decides to look at this.
>>     
> Seems to do the same but in a more simple way. I should study boole's 
> logic a bit more :)
> I will try and report on it...

Note, also, that patch won't go into -fixes, so if you're trying to use 
this for a client that you want to work with 0.21-fixes, you should read 
http://www.gossamer-threads.com/lists/mythtv/dev/341118#341118 (and the 
rest of that thread and the post linked from that post).

And, even if the patch did go into -fixes, you'd have to find a way to 
tell all your users that they need 0.21-fixes after a specific SVN 
revision, which will be a huge mess of confusion for you and your 
users.  Therefore, the best bet is to use the "old" approach for 
0.21-fixes and the "new" (post patch) approach (assuming the patch is 
applied) for 0.22+.  The MyMote developer was able to do this without 
problems (and is working on a resource-constrained device, so it should 
work on your client, too).

Mike


More information about the mythtv-dev mailing list