Opened 18 years ago
Closed 18 years ago
#755 closed patch (fixed)
add handling of current/next program EIT information
Reported by: | Owned by: | danielk | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | mythtv | Version: | head |
Severity: | low | Keywords: | now/next |
Cc: | Ticket locked: | no |
Description
UK freeview uses the 4E/4F pid's for current/next program details. The current EIT scan ignores these - however they often seem to include last minute schedule changes. The patch below is all that seems to be needed to use them on dvb-t (only tested against ttusb-dec and bt8xx)
Index: mythtv/libs/libmythtv/siparser.cpp =================================================================== --- mythtv/libs/libmythtv/siparser.cpp (revision 8106) +++ mythtv/libs/libmythtv/siparser.cpp (working copy) @@ -573,6 +573,7 @@ ParseSDT(&head, &buffer[8], size-8); break; #ifdef USING_DVB_EIT + case 0x4E ... 0x4F: case 0x50 ... 0x6F: /* Standard Future Event Information Table(s) */ ParseDVBEIT(&head, &buffer[8], size-8); @@ -1293,7 +1294,8 @@ // TODO: This is temp Table[EVENTS]->DependencyMet(SERVICES); - Table[EVENTS]->AddPid(0x12,0x00,0x00,true); + Table[EVENTS]->AddPid(0x12,0x7F,0x80,true); + } /** \fn GetLanguagePriority(const QString&)
In looking at this I guessed that either the AddPid? has been assumed to be against DVB/SIParser or there has been a change in the definition of TableHandler::AddPid? that means the last changed line above seems to be logicaly incorrect, or I've misread the overrides! :) - the prototypes at svn 8106 are
EventHandler void AddPid(uint16_t pid,uint8_t filter, uint8_t mask, uint8_t key); TableHandler virtual void AddPid(uint16_t pid,uint8_t filter, uint8_t mask, uint8_t key = 0)
where key is used as an index into a QMap of added pid's It doesn't affect the current functionality but to help any later maintenance should the last line of the change be something like:
+ Table[EVENTS]->AddPid(0x12,0x7F,0x80,0x12);
Attachments (2)
Change History (6)
comment:1 Changed 18 years ago by
Milestone: | 0.19 → unknown |
---|
comment:2 Changed 18 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Changed 18 years ago by
Attachment: | nownext.patch added |
---|
patch to get now/next info working without long term EIT available
comment:3 Changed 18 years ago by
Keywords: | now/next added |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
Type: | enhancement → patch |
To get now next info working, I had to modify the ParseSDT routine in siparser.cpp to set EITPresent when either EIT_schedule_flag or EIT_present_following_flag is set.
This is needed when provider is not sending long term EIT info at all.
comment:4 Changed 18 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
(In [8239]) Close #755 by applying patch + comments
John Pullan confirmed that the current/next EIT tables were only left out because they wasn't considered useful at the time; but it now appears that they would be useful, at least in Australia.
The other change looks harmless and is technically more correct than the current code.