Add support to Brazilian ISDB-T OTA EPG (always in UTC-3)
I use Tvheadend 4.1-1434~g4fdd552 in an Ubuntu64 box and a DiBcom 8000 ISDB-T USB receiver. Everything works nice except the OTA EPG/EIT. All programs are presented fine in EIT but with a 1 hour time shift (ahead) during daylight savings time (DST). When not in DST (March-December), program times are ok. I am using the "EIT Local Time" option in the network settings.
Investigating the problem, I found that ISDB-T in Brazil ALWAYS uses UTC-3 time in EIT as a fixed reference, irrespective of DST and where you are in the country, as per the official standard (ABNT NBR 15603). The problem is that not all parts of Brazil are in UTC-3. In particular, during daylight savings time (DST) most of the country is under UTC-2 and the standard doesn't allow for DST changes in EIT. It's the receiver that has to adjust for such situations (similarly to what the DVB standard does for UTC+0 time). So, in my case EIT is provided using UTC-3 times and my computer is (correctly) in UTC-2, as I am in Sao Paulo during DST, producing the wrong time shift in the EIT.
It seems to me that the "EIT Local Time" option in Tvheadend may be not enough to handle this case. I think an option to use UTC+X as the EIT reference would be needed.