[mythtv] Trunk EIT problems with overlapping programs
Otto Kolsi
otto at kolsi.fi
Mon Jan 12 19:14:22 UTC 2009
I've been having problems with DVB-T EIT in Finland since moving from
-fixes to trunk. I've tried to debug it but haven't got into any real
conclusion.. and now I'd like to sum my findings and ask if anyone could
give further info or help on this. This could be related to broadcasting
company's EIT data and is not necessarily related to -fixes to trunk update.
Setup is simple, 10 channels and all are coming from the one EIT source.
Problem is visible with couple of channels (YLE TV1, YLE TV2, YLE Teema)
and it is related to overlapping programs.
Here's an example. EIT has data for program B, DB is checked for
overlapping programs and one overlap (program A) is found (2sec overlap):
A: Jan 12 22:05:19 2009 - Jan 12 22:50:02 2009, Raja - the Border
B: Jan 12 22:50:00 2009 - Jan 12 23:34:58 2009, Hädän hetkellä
I don't go through the exact code path, but the end result is that
there's only 1 overlapping program and match -value is so great that we
go into UpdateDB() where program B info is first updated with selective
values from the overlapping program A and then the data is updated to DB.
UpdateDB() code checks if title, description etc. lengths are greater in
match/overlapping program and then uses the data which is longer. This
sounds very very strange to me (there is probably use case that I don't
know of).
What happens in above case is that match title (prog A) is longer and
thus it is used. But then the description is shorter so it is not used.
End result is that we have data in DB with title A and description B.
In my case, what would be needed is just some kind of detection that
programs have couple of seconds overlap and then a way to cut one
endtime little bit shorter. Updating values (title, desc., ...) based on
the length is not right.
Can anyone help me with this one? Early in debugging I was able to "fix"
the data so that I searched these overlapping endtimes and shortened
those in eit.cpp. Also I could brake random program just by adding 5sec
extension to its endtime. So this kind of situation should be possible
to reproduce by anyone.
--
Otto
More information about the mythtv-dev
mailing list