Superb quality and spec AB-Com PULSe 4K SE. Crazy offer! Only £99! FREE UK DELIVERY! 4K UHD, Enigma 2, Multiboot 4 images & more!...
Superb quality and spec AB-Com PULSe 4K Rev II Twin Satellite tuner only £149! FREE UK DELIVERY! 4K UHD, Enigma 2, SATA HDD facility, Multiboot 4 images & more!...

[ViX_Misc] EPG Refresh, iEPG and VPS

As far as i am aware, crossepg loads without any preprocessing in E2 as raw data, so probably has the eventid in its raw data that is also read by the opentv built-in reader code but not used.
So that would mean "event_id" would not be available for this comparison, right?
 
A program start time only has to change by only 1 minute, and the already existing function that was used by the opentv reader to submit its data to cache would generate a different eventId to the one already cached for that same event. It also does not match with that of the now/next eit.

You can test this little patch to use the actual REAL opentv eventId data, as that would then match exactly with the now/next EIT eventId for PDC checking and should produce exactly the same timer EIT numbers as was created by CrossEPG. See how this affects any program overlapping also?

I don't do any builds for OpenViX anymore, so I cant test this myself on an OpenViX image. I don't have an OpenViX supported box since they dropped my xpeedlx3.
 

Attachments

Thanks,

We can make an image available if you want one.
 
@LraiZer, is the whole EPG cache just populated using sid, tsid, and onid? No namespace or orbital position? e.g. a "uniqueEPGKey" does not have either of those.
https://github.com/OpenPLi/enigma2/blob/develop/lib/dvb/epgcache.h#L30-L74

If true how is possible to avoid collisions between different satellites or between satellite and terrestrial, and other combinations of S/T/C? Or does it rely on luck?
 
Cache has no namespace or orbital position, just "uniqueEPGKey" from sid, tsid, and onid. If it matches between any type of T/S/C, then it rely's on the cache source type. These are priority checks performed before overwriting any current cached data.

Cache also has a type to check against where the epg came from, this is eg. if(source > type):
Code:
https://github.com/OpenPLi/enigma2/blob/3664db5f91860c05a80962ec9127f885daecd515/lib/dvb/epgcache.cpp#L40
The only epg with a lower write priority than opentv at the moment is EPG_IMPORT, but you may notice epg from this EPG_IMPORT sets a do not update from eit flag on its uniqueEPGKey's.
Code:
https://github.com/OpenPLi/enigma2/blob/103d129496df5b236473dc134d2554ba45456f9c/lib/dvb/epgcache.h#L249
Based on same uniqueEPGKey from different epg sources:

EIT schedule would overwrite FREESAT_SCHEDULE
FREESAT_SCHEDULE_OTHER would overwrite VIRGIN_SCHEDULE
OPENTV would not overwrite any of the above..
 
How can we verify if EIT and OpenTV are using the same event_id. Can you see it in SI?
 
E.g. I can see it here... but I wouldn't have a clue where to find it in OpenTV data.

event_id.webp
 
Thanks @Huevos. I used the TS analyser also to compare the event ids I could see in the timer entries. Obviously only could check the Freesat info as the OpenTV data is held in private tables, but I'm assuming the event ids are consistent between OpenTv and Freesat?
 
While work is being done on OpenTV EPG may I ask if anyone can think of a way it might be made to work for Radio as well as TV.
 
+1 on this. I wonder if the private sections for the radio EPG on the OpenTV transponder have somehow changed in a way that they are not being retrieved or parsed correctly. The standard Freesat EIT data for the radio channels works ok.
 
Create a timer from ONLY the EIT enabled epg for a next program as it populates by only EIT now/next data.
Then delete that timer and clear the epg and create another timer from ONLY the OpenTV epg for the exact same program.

You will see that eit="18742" for both are now identical as OpenTV eventId is no longer based on start time!

EIT now/next timer:
Code:
<timer begin="1612017720" end="1612026900" serviceref="1:0:1:1929:7FF:2:11A0000:0:0:0:" repeated="0" name="?MOTD Live: West Bromwich Albion...?" description="...v Fulham. Live coverage of West Bromwich Albion v Fulham. Also in HD. [S]" afterevent="auto" eit="18742" justplay="0" always_zap="0" pipzap="0" zap_wakeup="always" rename_repeat="1" conflict_detection="1" descramble="1" record_ecm="0">

OpenTV timer:
Code:
<timer begin="1612017720" end="1612026900" serviceref="1:0:1:1929:7FF:2:11A0000:0:0:0:" repeated="0" name="MOTD Live: West Bromwich Albion v Fulham" description="Live coverage of West Bromwich Albion v Fulham. Also in HD. [S]" afterevent="auto" eit="18742" justplay="0" always_zap="0" pipzap="0" zap_wakeup="always" rename_repeat="1" conflict_detection="1" descramble="1" record_ecm="0">
 
+1 on this. I wonder if the private sections for the radio EPG on the OpenTV transponder have somehow changed in a way that they are not being retrieved or parsed correctly. The standard Freesat EIT data for the radio channels works ok.
What is the status of that in Cross?
 
FWIW, this is what I see on freeview (only), SD and HD....

Code:
<timer begin="1612017780" end="1612026960" serviceref="1:0:1:104F:104F:233A:EEEE0000:0:0:0:" repeated="0" rename_repeat="1" name="MOTD Live: West Bromwich Albion..." description="...v Fulham. Live coverage of West Bromwich Albion v Fulham. Also in HD. [S]" afterevent="auto" justplay="0" always_zap="0" pipzap="0" conflict_detection="1" descramble="1" record_ecm="0" isAutoTimer="0" [COLOR="#FF0000"]eit="18746"[/COLOR] tags="MOTD_Live:_West_Bromwich_Albion...">
<timer begin="1612017781" end="1612026960" serviceref="1:0:19:4484:4089:233A:EEEE0000:0:0:0:" repeated="0" rename_repeat="1" name="MOTD Live: West Bromwich Albion..." description="...v Fulham. Live coverage of West Bromwich Albion v Fulham. [S] [HD]" afterevent="auto" justplay="0" always_zap="0" pipzap="0" conflict_detection="1" descramble="1" record_ecm="0" isAutoTimer="0" [COLOR="#FF0000"]eit="19322"[/COLOR] tags="MOTD_Live:_West_Bromwich_Albion...">
 
FWIW, this is what I see on freeview (only), SD and HD....

Code:
<timer begin="1612017780" end="1612026960" serviceref="1:0:1:104F:104F:233A:EEEE0000:0:0:0:" repeated="0" rename_repeat="1" name="MOTD Live: West Bromwich Albion..." description="...v Fulham. Live coverage of West Bromwich Albion v Fulham. Also in HD. [S]" afterevent="auto" justplay="0" always_zap="0" pipzap="0" conflict_detection="1" descramble="1" record_ecm="0" isAutoTimer="0" [COLOR="#FF0000"]eit="18746"[/COLOR] tags="MOTD_Live:_West_Bromwich_Albion...">
<timer begin="1612017781" end="1612026960" serviceref="1:0:19:4484:4089:233A:EEEE0000:0:0:0:" repeated="0" rename_repeat="1" name="MOTD Live: West Bromwich Albion..." description="...v Fulham. Live coverage of West Bromwich Albion v Fulham. [S] [HD]" afterevent="auto" justplay="0" always_zap="0" pipzap="0" conflict_detection="1" descramble="1" record_ecm="0" isAutoTimer="0" [COLOR="#FF0000"]eit="19322"[/COLOR] tags="MOTD_Live:_West_Bromwich_Albion...">

Two different services so the event_id is different.
 
What is the status of that in Cross?

TV services only. Cross doesn't seem to be able to get radio EPG either. I am pretty sure it used to work, but I don't know if I always had Freesat EPG enabled in the past - too much wine may have killed brain cells.
 
Create a timer from ONLY the EIT enabled epg for a next program as it populates by only EIT now/next data.
Then delete that timer and clear the epg and create another timer from ONLY the OpenTV epg for the exact same program.

You will see that eit="18742" for both are now identical as OpenTV eventId is no longer based on start time!

EIT now/next timer:
Code:
<timer begin="1612017720" end="1612026900" serviceref="1:0:1:1929:7FF:2:11A0000:0:0:0:" repeated="0" name="?MOTD Live: West Bromwich Albion...?" description="...v Fulham. Live coverage of West Bromwich Albion v Fulham. Also in HD. [S]" afterevent="auto" eit="18742" justplay="0" always_zap="0" pipzap="0" zap_wakeup="always" rename_repeat="1" conflict_detection="1" descramble="1" record_ecm="0">

OpenTV timer:
Code:
<timer begin="1612017720" end="1612026900" serviceref="1:0:1:1929:7FF:2:11A0000:0:0:0:" repeated="0" name="MOTD Live: West Bromwich Albion v Fulham" description="Live coverage of West Bromwich Albion v Fulham. Also in HD. [S]" afterevent="auto" eit="18742" justplay="0" always_zap="0" pipzap="0" zap_wakeup="always" rename_repeat="1" conflict_detection="1" descramble="1" record_ecm="0">

One more question: :)
So event_id is the same in both cases, so if a change is detected the event entry will be modified...
What would happen if the data in epgcache if the event were removed from EIT and OpenTV SI?
 
I think there is something wrong with the patch. It is blocking some Freesat EPG. This is 28.2, BBC One HD for London Area. I was getting EPG and set a timer before I updated the image.
 

Attachments

  • epg options.webp
    epg options.webp
    39 KB · Views: 15
  • patched opentv.webp
    patched opentv.webp
    44 KB · Views: 18
I can't reproduce that. I started with OpenTV setup.

1.webp

Reconfigured to your setup, deleted epgcache, switched to BBC One HD.

2.webp
 
Also notice in my screen grabs that Freesat reader is truncating the titles.
 
I can't reproduce that. I started with OpenTV setup.

Reconfigured to your setup, deleted epgcache, switched to BBC One HD.

I found that changing some settings in
menu -> setup -> epg -> settings and then pressing green to save also seemed to required a reboot of the box. When I was testing for now/next operation I first deleted the epg cache, then saved the now empty RAM cache to disk before rebooting the box.
 

OpenViX Feeds Status

Back
Top