[mythtv-commits] Ticket #11739: EIT over the air program guide title description mismatch FIXED/SOLVED

MythTV noreply at mythtv.org
Thu Jan 9 23:21:07 UTC 2014


#11739: EIT over the air program guide title description mismatch FIXED/SOLVED
-----------------------------------+-----------------------------
 Reporter:  deadletterfile@…       |          Owner:  stuarta
     Type:  Bug Report - General   |         Status:  assigned
 Priority:  minor                  |      Milestone:  0.28
Component:  MythTV - General       |        Version:  Master Head
 Severity:  medium                 |     Resolution:
 Keywords:  EIT title description  |  Ticket locked:  0
-----------------------------------+-----------------------------

Comment (by deadletterfile@…):

 I apologize for my patch being a unified patch of my Mythtv changes
 regarding bugs 11739 and 11476. It confused things for the Mythtv
 programmers
 trying to address these potential issues.

 I have two avenues to which you might address your attention, in addition
 to any
 you investigate.

 1) I reverted back to eliminating the three lines of code mentioned in
 comment
 #1. I am not sure of the programmer's original intent, but have been
 pleased
 with the result of omitting these lines in eliminating mismatches in
 Mythtv.

 2) At the same time, I changed set up in mythtv-setup to only use one
 tuner
 card for EIT data collection. I believe multiple cards collecting EIT data
 can cause program/description mismatches.

 I still strongly believe the implementation of the QMutexLocker is flawed
 in eithelper.cpp -> `EITHelper::ProcessEvents`. I eliminated these two
 lines:
         eitList_lock.unlock();
         eitList_lock.lock();
 from the function. It appears to me use of the above lines would apply to
 QMutex code, and should not be used. If I am correct, perhaps this bug
 exists elsewhere in the code. Removal of these lines seems to solve 2) for
 me.

 http://qt-project.org/doc/qt-4.8/qmutexlocker.html

 Details...

 I made two changes after posting comment #1 and have been running on those
 changes since then and am very pleased with the result.
 1) I went back to commenting out the three lines of code in
 programdata.cpp
 `DBEvent::UpdateDB` as noted below:

     if (match.subtitle.length() >= lsubtitle.length())
         lsubtitle = match.subtitle;

 `//`    if (match.description.length() >= ldesc.length())
 `//`    if (match.description.length() >= 2)
 `//`        ldesc = match.description;

     if (lcategory.isEmpty() && !match.category.isEmpty())
         lcategory = match.category;

 2) I have 22 stations on about 15 transponders. I have been using only one
 tuner
 card to collect EIT data for months. Over 48 hours, in casually attempting
 to
 find a program/description mismatch, I could find only one. Last night I
 set all
 tuner cards to collect EIT data. This morning, program/description
 mismatches
 were common, but only on one transponder (with three stations). This was
 decidedly NOT the behavior months ago, it was over all transponders.
 However
 this was a short test. I returned to using only one card for EIT
 collection,
 waited an hour for EIT data refresh, and all program/description
 mismatches
 resolved themselves. I have never had mismatched descriptions cross
 channels or
 transponders. If a program had a mismatched description, it was always
 from
 another program on that channel.

 After making this test, I discovered the two lines from 2) had crept back
 into
 my code. I recompiled and retested with multiple cards gathering EIT data.
 It
 has been two hours and no program/mismatches have been found.
 I admit this is a short test but hints at 2) being an issue if multiple
 cards
 are gathering EIT data. Thank you for your time.

 I look forward to your investigation of these issues. I will be happy to
 assist
 if requested.

--
Ticket URL: <http://code.mythtv.org/trac/ticket/11739#comment:6>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list