Jump to content


Photo

EIT weekly EPG for greek provider Nova


  • Please log in to reply
21 replies to this topic

#1 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 21 December 2010 - 17:18

Greek provider Nova started transmitting weekly EPG in EIT format, in greek and english language. They use a non-standard pid, 0x1388, on transponders 12130H and 10930H (Hotbird 13). Is there a way to "tell" enigma2 to check this pid and import EIT epg? On standard pid 0x12 they only transmit now/next epg (this is read from enigma2)

PID found: 18 (0x0012) [SECTION: Event Information Table (EIT) - other transport stream, present/following]
PID found: 5000 (0x1388) [SECTION: Event Information Table (EIT) - other transport stream, schedule]


Thank you

Re: EIT weekly EPG for greek provider Nova #2 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 24 December 2010 - 02:20

do they use standard EIT format? Or do they use custom descriptors?

Re: EIT weekly EPG for greek provider Nova #3 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 24 December 2010 - 13:58

How can I check that? I can upload a dvbsnoop binary log if this will help. dvbsnoop in decode mode seems to understand the EIT information, so I think they must use compatible format.

I would like to apply a patch on epgcache.cpp to force it use pid 5000 (0x1388) for testing purposes but after a complete image build the enigma2 source is deleted from build-vuduo/tmp . Is there a way to keep this source in order to apply the change and create a proper diff file? I am not very familiar with bitbake.

Re: EIT weekly EPG for greek provider Nova #4 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 24 December 2010 - 14:55

If we are pretty sure the format is according to the EIT standard, I would just introduce a new EIT reader, on the custom pid.
But if we are not sure about the format, it's probably a waste of time.

If you want to experiment with the epgcache / epgreaders, remove rm_work from local.conf, and you will be able to force a new compile in the old workdir.

Re: EIT weekly EPG for greek provider Nova #5 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 25 December 2010 - 00:51

If we are pretty sure the format is according to the EIT standard, I would just introduce a new EIT reader, on the custom pid.
But if we are not sure about the format, it's probably a waste of time.

If you want to experiment with the epgcache / epgreaders, remove rm_work from local.conf, and you will be able to force a new compile in the old workdir.



I did as you suggested, removed rm_work and modified epgcache.cpp to try pid 0x1388. enigma2 loaded a full 7 days epg after leaving it for about 3 minutes in one of the channels transmitted on transponders from 10930H or 12130H. The only missing events were the now/next , because my modified enigma2 binary wasn't reading those events from pid 0x12.

How can I continue from here to apply a patch that doesn't affect normal now/next EPG parsing?

Re: EIT weekly EPG for greek provider Nova #6 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 25 December 2010 - 11:35

we have to add a new epgreader. Look at the freesat readers for instance, there are two, on different pids.
Would be great if you could save me some work by supplying a patch ;)

Re: EIT weekly EPG for greek provider Nova #7 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 25 December 2010 - 12:45

we have to add a new epgreader. Look at the freesat readers for instance, there are two, on different pids.
Would be great if you could save me some work by supplying a patch ;)



I'll try, which files should I look at? epgcache.cpp only or there are more?

Because I am not really familiar with bitbake, the correct way to recompile a package is by manually removing stamp files? or you can do this with some command parameter to bitbake?

Thank you for your help.

Re: EIT weekly EPG for greek provider Nova #8 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 25 December 2010 - 13:36

epgcache.cpp and epcache.h
Though we would also want a config option to enable/disable the reader, but I can take care of that afterwards.

force compile:

bitbake -f -c compile enigma2
(or point to the bb file with -b ../../openembedded/recipes/....bb to speed things up by avoiding the bb cache)

Re: EIT weekly EPG for greek provider Nova #9 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 26 December 2010 - 00:43

Thank you pieterg, will take a look at it from Monday.

Re: EIT weekly EPG for greek provider Nova #10 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 6 January 2011 - 00:17

I made some progress on this. I have patched epgcache.cpp/epgcache.h similarly to the viasat patch. Nova EIT EPG is transmitting two tables, some channels as 0x50 (schedule) and some other as 0x60 (schedule_other), both in the same pid. Everything else is standard EIT. I've also looked at the freesat code but it seems quite complicated, do I have to do a patch similar to freesat? A patch similar to viasat is far more easy for me but if it is not going to be accepted, i will look further the freesat way.

Re: EIT weekly EPG for greek provider Nova #11 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 6 January 2011 - 00:26

the freesat parser is way more complicated. And also the stuff which keep track of 'unseen' tables.
I actually only meant you could create additional section readers, just like freesat. Wasn't aware that we had viasat as an easier example ;)

Re: EIT weekly EPG for greek provider Nova #12 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 7 January 2011 - 15:41

I have a small question. At the following code:

	   enum {PRIVATE=0, NOWNEXT=1, SCHEDULE=2, SCHEDULE_OTHER=4
#ifdef ENABLE_MHW_EPG
	   ,MHW=8
#endif
#ifdef ENABLE_FREESAT
	   ,FREESAT_NOWNEXT=16
	   ,FREESAT_SCHEDULE=32
	   ,FREESAT_SCHEDULE_OTHER=64
#endif
	   ,VIASAT=256
	   ,EPG_IMPORT=0x80000000
	   };

can I continue with values over 256? I want to add two more values, NETMED_SCHEDULE and NETMED_SCHEDULE_OTHER. Value 128 is free, I would use 512 and 1024. Is this ok?

Re: EIT weekly EPG for greek provider Nova #13 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 7 January 2011 - 17:18

512 and 1024 are ok
believe we had 128 for freesat, but we removed it again (after viasat was already added)

Re: EIT weekly EPG for greek provider Nova #14 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 7 January 2011 - 17:42

Patch is complete, I tested it and it works fine. Do you want me to put changes around #ifdef ENABLE_NETMED , #endif sections?

Re: EIT weekly EPG for greek provider Nova #15 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 7 January 2011 - 19:03

no the ifdef's are not really required.
That's just so that people can build images without stuff which might be 'owned' by providers.
But since everything is reversed, and doesn't contain any provider code, I see no reason for that.

Re: EIT weekly EPG for greek provider Nova #16 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 7 January 2011 - 19:30

I prepared them with #ifdef NETMED ... #endif .

I attach two diff files in zip format, one for epgcache.h and one for epgcache.cpp . In epgcache.cpp and function eEPGCache::channel_data::readDataNetmed , I am not sure if the second part of the function is needed (I actually copied it from eEPGCache::channel_data::readData)

Attached Files



Re: EIT weekly EPG for greek provider Nova #17 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 7 January 2011 - 19:46

I think I made something wrong in uploaded patch. Please ignore it, I'll upload again.


edit: OK, here it is (some @ifdef were wrong in previous one)

Attached Files



Re: EIT weekly EPG for greek provider Nova #18 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 7 January 2011 - 19:57

we should probably try to optimize epgcache.cpp a bit, and let sources share the same readData, to avoid code duplication.
But other than that, it looks OK to me.

Re: EIT weekly EPG for greek provider Nova #19 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 7 January 2011 - 20:06

The viasat patch utilises same function by modifing data[0] and then checking for values D0 ... DF, E0 ... EF. I didn't want to interfere on this, thus I created a new function that shares some code.

Re: EIT weekly EPG for greek provider Nova #20 charos

  • Member
  • 9 posts

0
Neutral

Posted 27 January 2011 - 22:24

Is this pushed to the image (any nightly builds)?


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users