[mythtv] problem with eit-cache

Janne Grunau janne-mythtv at grunau.be
Thu May 7 11:13:12 UTC 2009


On Thu, May 07, 2009 at 12:06:29PM +0200, Markus Schulz wrote:
> Am Monday 04 May 2009 schrieb Otto Kolsi:
> > Janne Grunau wrote:
> > > On Tue, Apr 28, 2009 at 08:57:42PM +0200, Markus Schulz wrote:
> > >
> > >> These two shows are running consecutively but the first has the
> > >> _wrong_ title but correct description.
> > >
> > > I'm seeing this error too.
> >
> > This is exactly what I've been seeing for some time now (months?).
> >
> > What I noticed was that titles/descriptions got mixed when programs
> > had overlap. So the endtime of the first program could be e.g. 2sec -
> > 45sec later than the starttime of the second program. Can you check
> > if you have the same situation?
> >
> > I verified this with myth and outside Myth with several different
> > applications (dvbsnoop etc). I also wrote some quick hackish code to
> > fix some of these overlaps. That fixed the problem for me and I
> > haven't actually checked whether overlaps or title/description
> > corruption still occurs.
> >
> > I'd like to figure out what really is causing this and of cource to
> > find a proper fix for it :) Janne, I think you mentioned briefly in
> > IRC that one possibility would be to allow disabling of the "overlap
> > fixing algorithm" in eit.cpp because we now have multirec and it
> > doesn't hurt so much if programs have small overlapps..
> 
> But if overlapping is triggering this error how and where in myth-eit 
> code is a query which only updates either the title or the description 
> to get these mixes?

in eit.cpp: GetOverlappingPrograms() queries overlapping programs from the
database, GetMatch() tries to detect if one of the overlapping programs
is the same as the event that should be inserted. If it finds a match
the match is updated in UpdateDB(MSqlQuery&, const DBEvent&). This can
produce the mixes since it updates the fields according to the length.

The matching was buggy so that essential every program was considered a
match. This should be fixed and optimized now in trunk. I've just
backported simpler fixes so it still might be broken in -fixes.

> Furthermore, in my case i see no overlap...

Where? In the database? That's expected, MythTV changes start and times
to avoid overlapping programs.

Janne


More information about the mythtv-dev mailing list