[mythtv-commits] Ticket #13455: EIT/ETT broadcast data; title/description mismatch

MythTV noreply at mythtv.org
Thu Sep 19 07:43:30 UTC 2019


#13455: EIT/ETT broadcast data; title/description mismatch
----------------------------------+-------------------------------
 Reporter:  Roanld L Humble       |          Owner:  Klaas de Waal
     Type:  Bug Report - General  |         Status:  assigned
 Priority:  minor                 |      Milestone:  31.0
Component:  MythTV - EIT          |        Version:  v30-fixes
 Severity:  medium                |     Resolution:
 Keywords:                        |  Ticket locked:  0
----------------------------------+-------------------------------
Changes (by Klaas de Waal):

 * cc: Stuart Auchterlonie (added)
 * owner:  Karl Egly => Klaas de Waal
 * status:  new => assigned
 * milestone:  needs_triage => 31.0


Comment:

 The patch libmythtv.190506.v0.30.patch​ consists of two different parts,
 possibly relating to two different issues.

 Part 1: Adding mutex myLock in TVRec::run

 TVRec::run is started once for each capturecard. The additional lock
 enforces that TVRec::run cannot run twice on the same capturecard.
 However, this should never happen and if that happens this needs further
 investigation.
 To test if it called while already running please add some error checking
 code to TVRec::run like this:

 {{{
 /// \brief Event handling method, contains event loop.
 void TVRec::run(void)
 {
     // KdW test ticket #13455
     if (m_myLock.tryLock(0))
     {
             m_myLock.unlock();
         LOG(VB_GENERAL, LOG_INFO, LOC + "#13455 TVRec::run GOOD");
     }
     else
     {
         LOG(VB_GENERAL, LOG_ERR, LOC + "#13455 TVRec::run ERROR called
 while running");
     }
     QMutexLocker mylocker(&m_myLock);

     QMutexLocker lock(&m_stateChangeLock);

 }}}

 If errors do happen then please run mythbackend under gdb, set a
 breakpoint in the line with "TVRec::run ERROR" and make a backtrace with
 gdb when the breakpoint is hit.
 N.B. Code example uses the m_ prefix as is now standard in the master
 code.


 Part 2: Caching of ETT events

 The patch can be described as follows:

 Accept ETT events only after the corresponding EIT event has been
 received.

 This does make sense as it is unlikely that an ETT event, containing
 additional data for an EIT event, is sent before the corresponding EIT
 event has been sent. There is the possibility that mythbackend starts to
 receive just after the EIT event and just before the ETT event but that is
 a corner case that does not need to be coded for, given the high
 repetition rate of these events.

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


More information about the mythtv-commits mailing list