Ticket #13269: 13269-eit-debug1.patch

File 13269-eit-debug1.patch, 7.3 KB (added by gigem, 6 years ago)
  • mythtv/libs/libmythtv/eitscanner.cpp

    diff --git a/mythtv/libs/libmythtv/eitscanner.cpp b/mythtv/libs/libmythtv/eitscanner.cpp
    index 3a67c6d760..b20b5d6f01 100644
    a b EITScanner::EITScanner(uint _cardnum) 
    3535      exitThread(false),
    3636      rec(NULL),                  activeScan(false),
    3737      activeScanStopped(true),    activeScanTrigTime(0),
     38      activeScanNextChanIndex(INT_MAX),
    3839      cardnum(_cardnum)
    3940{
    4041    QStringList langPref = iso639_get_language_list();
    void EITScanner::run(void) 
    128129            }
    129130
    130131            if (activeScanNextChan == activeScanChannels.end())
     132            {
    131133                activeScanNextChan = activeScanChannels.begin();
     134                activeScanNextChanIndex = 0;
     135                LOG(VB_EIT, LOG_INFO,
     136                    LOC_ID + QString("##EITScanner::run1 %1 of %2")
     137                    .arg(activeScanNextChanIndex)
     138                    .arg(activeScanChannels.size()));
     139            }
    132140
    133141            if (!(*activeScanNextChan).isEmpty())
    134142            {
    void EITScanner::run(void) 
    147155            activeScanNextTrig = MythDate::current()
    148156                .addSecs(activeScanTrigTime);
    149157            ++activeScanNextChan;
     158            if (activeScanChannels.size())
     159            {
     160                activeScanNextChanIndex =
     161                    (activeScanNextChanIndex+1) % activeScanChannels.size();
     162                LOG(VB_EIT, LOG_INFO,
     163                    LOC_ID + QString("##EITScanner::run2 %1 of %2")
     164                    .arg(activeScanNextChanIndex)
     165                    .arg(activeScanChannels.size()));
     166            }
    150167
    151168            // 24 hours ago
    152169#if QT_VERSION < QT_VERSION_CHECK(5,8,0)
    void EITScanner::StartActiveScan(TVRec *_rec, uint max_seconds_per_source) 
    272289    // order when the backend is first started up.
    273290    if (activeScanChannels.size())
    274291    {
    275         uint randomStart = random() % activeScanChannels.size();
    276         activeScanNextChan = activeScanChannels.begin()+randomStart;
     292        // Start on a random channel the first time.  For all
     293        // subsequent times, start on the next channel.  This makes
     294        // sure the immediately following channels get scanned in a
     295        // timely manner if we keep erroring out on the previous
     296        // channel.
     297        if (activeScanNextChanIndex >= activeScanChannels.size())
     298            activeScanNextChanIndex = random();
     299        else
     300            activeScanNextChanIndex += 1;
     301        activeScanNextChanIndex =
     302            activeScanNextChanIndex % activeScanChannels.size();
     303        activeScanNextChan =
     304            activeScanChannels.begin() + activeScanNextChanIndex;
     305        LOG(VB_EIT, LOG_INFO,
     306            LOC_ID + QString("##EITScanner::StartActiveScan1 %1 of %2")
     307            .arg(activeScanNextChanIndex)
     308            .arg(activeScanChannels.size()));
    277309
    278310        activeScanNextTrig = MythDate::current();
    279311        activeScanTrigTime = max_seconds_per_source;
  • mythtv/libs/libmythtv/eitscanner.h

    diff --git a/mythtv/libs/libmythtv/eitscanner.h b/mythtv/libs/libmythtv/eitscanner.h
    index 9d604021aa..e8853f7b75 100644
    a b class EITScanner : public QRunnable 
    6565    uint             activeScanTrigTime;
    6666    QStringList      activeScanChannels;
    6767    QStringList::iterator activeScanNextChan;
     68    uint             activeScanNextChanIndex;
    6869
    6970    uint             cardnum;
    7071
  • mythtv/libs/libmythtv/tv_rec.cpp

    diff --git a/mythtv/libs/libmythtv/tv_rec.cpp b/mythtv/libs/libmythtv/tv_rec.cpp
    index c6a9d71385..d4fc42327c 100644
    a b void TVRec::HandleStateChange(void) 
    10911091    changeState = false;
    10921092
    10931093    eitScanStartTime = MythDate::current();
     1094    LOG(VB_CHANNEL, LOG_INFO,
     1095        LOC + QString("##TVRec::HandleStateChange1a %1")
     1096        .arg(eitScanStartTime.toString()));
    10941097    if (scanner && (internalState == kState_None))
    10951098    {
    10961099        eitScanStartTime = eitScanStartTime.addSecs(
    10971100            eitCrawlIdleStart + eit_start_rand(eitTransportTimeout));
     1101        LOG(VB_CHANNEL, LOG_INFO,
     1102            LOC + QString("##TVRec::HandleStateChange1b %1")
     1103            .arg(eitScanStartTime.toString()));
    10981104    }
    10991105    else
     1106    {
    11001107        eitScanStartTime = eitScanStartTime.addYears(1);
     1108        LOG(VB_CHANNEL, LOG_INFO,
     1109            LOC + QString("##TVRec::HandleStateChange1c %1")
     1110            .arg(eitScanStartTime.toString()));
     1111    }
    11011112}
    11021113#undef TRANSITION
    11031114#undef SET_NEXT
    void TVRec::run(void) 
    12931304    ClearFlags(kFlagExitPlayer | kFlagFinishRecording, __FILE__, __LINE__);
    12941305
    12951306    eitScanStartTime = MythDate::current();
     1307    LOG(VB_CHANNEL, LOG_INFO,
     1308        LOC + QString("##TVRec::run1a %1")
     1309        .arg(eitScanStartTime.toString()));
    12961310    // check whether we should use the EITScanner in this TVRec instance
    12971311    if (CardUtil::IsEITCapable(genOpt.inputtype) &&
    12981312        (!GetDTVChannel() || GetDTVChannel()->IsMaster()) &&
    void TVRec::run(void) 
    13011315        scanner = new EITScanner(inputid);
    13021316        eitScanStartTime = eitScanStartTime.addSecs(
    13031317            eitCrawlIdleStart + eit_start_rand(eitTransportTimeout));
     1318        LOG(VB_CHANNEL, LOG_INFO,
     1319            LOC + QString("##TVRec::run1b %1")
     1320            .arg(eitScanStartTime.toString()));
    13041321    }
    13051322    else
     1323    {
    13061324        eitScanStartTime = eitScanStartTime.addYears(1);
     1325        LOG(VB_CHANNEL, LOG_INFO,
     1326            LOC + QString("##TVRec::run1c %1")
     1327            .arg(eitScanStartTime.toString()));
     1328    }
    13071329
    13081330    while (HasFlags(kFlagRunMainLoop))
    13091331    {
    void TVRec::run(void) 
    14501472                LOG(VB_EIT, LOG_INFO, LOC +
    14511473                    "EIT scanning disabled for this input.");
    14521474                eitScanStartTime = eitScanStartTime.addYears(1);
     1475                LOG(VB_CHANNEL, LOG_INFO,
     1476                    LOC + QString("##TVRec::run2a %1")
     1477                    .arg(eitScanStartTime.toString()));
    14531478            }
    14541479            else if (!get_use_eit(GetInputId()))
    14551480            {
    14561481                LOG(VB_EIT, LOG_INFO, LOC +
    14571482                    "EIT scanning disabled for all sources on this input.");
    14581483                eitScanStartTime = eitScanStartTime.addYears(1);
     1484                LOG(VB_CHANNEL, LOG_INFO,
     1485                    LOC + QString("##TVRec::run2b %1")
     1486                    .arg(eitScanStartTime.toString()));
    14591487            }
    14601488            else
    14611489            {
    void TVRec::run(void) 
    14751503                    SetFlags(kFlagEITScannerRunning, __FILE__, __LINE__);
    14761504                    eitScanStartTime =
    14771505                        QDateTime::currentDateTime().addYears(1);
     1506                    LOG(VB_CHANNEL, LOG_INFO,
     1507                        LOC + QString("##TVRec::run3a %1")
     1508                        .arg(eitScanStartTime.toString()));
    14781509                }
    14791510                else
    14801511                {
    void TVRec::run(void) 
    14831514                            "because input %2 is busy")
    14841515                        .arg(inputid).arg(busy_input.inputid));
    14851516                    eitScanStartTime = eitScanStartTime.addSecs(300);
     1517                    LOG(VB_CHANNEL, LOG_INFO,
     1518                        LOC + QString("##TVRec::run3b %1")
     1519                        .arg(eitScanStartTime.toString()));
    14861520                }
    14871521                inputsLock.unlock();
    14881522            }