[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