[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