[mythtv-commits] Ticket #12121: Wrongly assumes movie.title is unique - skips following recordings
MythTV
noreply at mythtv.org
Sat Apr 19 12:49:00 UTC 2014
#12121: Wrongly assumes movie.title is unique - skips following recordings
-------------------------------------------+------------------------
Reporter: pmhahn@… | Owner: stuartm
Type: Bug Report - General | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - Mythfilldatabase | Version: 0.27-fixes
Severity: medium | Keywords: xmltv
Ticket locked: 0 |
-------------------------------------------+------------------------
Today I noticed again that MythTV no longer lists a series for recording.
I think this is related to
<http://www.mythtv.org/wiki/Duplicate_matching>.
I'm using epgdata.com in Germany.
The series in question is "Tatort", a German crime scene series produced
by different broadcasting stations in German. Perhaps because of that it's
listed as "movie" and not as series:
20140426_201404181655_de_qy.xml
{{{#!xml
<data>
<d1>56902101</d1><!-- tvshow_id: unique for this episode -->
<d10>100</d10><!-- category:movie -->
<d19>Tatort</d19><!-- title: equal for all episodes -->
<d20>Hochzeitsnacht</d20><!-- subtitle: different for all episodes -->
<d26>843</d26><!-- sequence number -->
}}}
This is converted by tv_grab_eu_epgdata into
{{{#!xml
<programme start="20140421023500 +0200" stop="20140421040500 +0200"
channel="ard.de">
<title>Tatort</title>
<sub-title>Hochzeitsnacht</sub-title>
<category>movie</category>
<category>Krimi</category>
<episode-num system="onscreen">843</episode-num>
}}}
When this is processed by mythfilldatabase/xmltvparser.cpp:
{{{#!c
510 if (ProgramInfo::kCategoryMovie == pginfo->categoryType)
511 programid = "MV";
...
523 QString seriesid =
QString::number(ELFHash(pginfo->title.toUtf8()));
524 pginfo->seriesId = seriesid;
525 programid.append(seriesid);
...
556 if (ProgramInfo::kCategoryMovie != pginfo->categoryType)
557 programid.clear();
}}}
Here the code assumes that the title of a movie can be used as a unique
identifier for detecting duplicates and does not clear the programid. As
such it is always used, which prevent recording any subsequent episodes.
That code is there since 347ea031 Oscar Carlsson 2005-01-30 23:25:12.
I think the condition in line 556 should be removed: programid looks like
an optimization too me to identify unique programs, It it isn't set,
MythTV will fall back to what-ever the user has configured in the
recording rule to use (title, title+subtitle, title+subtitle+description).
But setting programid to a wrong (not-unique) value actually breaks
things.
Sadly the XMLTV XML format has no way to pass the "tvshow_id" to MythTV as
a programid.
Changing tv_grab_eu_epgdata to put all movies with a sequence_id>=1 into
the "series" category instead of the "movie" category also doesn't work,
as movies with sequels also use sequence_id>=1; e.g. "Terminator 2" has
sequence_id=2.
--
Ticket URL: <https://code.mythtv.org/trac/ticket/12121>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list