Ticket #3789: livetv_ringbuffer_switch_fail_fix.diff

File livetv_ringbuffer_switch_fail_fix.diff, 2.1 KB (added by stuartm, 19 years ago)

Fix for failure to switch livetv buffers (without the typo this time)

  • mythtv/libs/libmythtv/tv_rec.cpp

     
    117117      internalState(kState_None), desiredNextState(kState_None),
    118118      changeState(false), pauseNotify(true),
    119119      stateFlags(0), lastTuningRequest(0),
    120       // Previous recording info
    121       lastRecording(NULL),
     120      m_switchingBuffer(false),
    122121      // Current recording info
    123122      curRecording(NULL), autoRunJobs(JOB_NONE),
    124123      // Pending recording info
     
    13031302            else if (!has_rec && !rec_soon && curRecording &&
    13041303                     (now >= curRecording->endts))
    13051304            {
    1306                 if (lastRecording != curRecording)
     1305                if (!m_switchingBuffer)
    13071306                {
    1308                     lastRecording = curRecording;
     1307                    m_switchingBuffer = true;
    13091308
    13101309                    SwitchLiveTVRingBuffer(false, true);
    13111310
     
    13201319                            <<"starttm("
    13211320                            <<starttime.toString(Qt::ISODate)<<")");
    13221321                }
     1322                else
     1323                {
     1324                    VERBOSE(VB_RECORD, "Waiting for ringbuffer switch");
     1325                }
    13231326            }
    13241327            else
    13251328                enable_ui = false;
     
    30803083        curRecording = new ProgramInfo(*pginfo);
    30813084        curRecording->MarkAsInUse(true, "recorder");
    30823085    }
     3086
     3087    m_switchingBuffer = false;
    30833088}
    30843089
    30853090QString TVRec::TuningGetChanNum(const TuningRequest &request,
  • mythtv/libs/libmythtv/tv_rec.h

     
    348348    QDateTime      eitScanStartTime;
    349349    QWaitCondition triggerEventLoop;
    350350    QWaitCondition triggerEventSleep;
     351    bool           m_switchingBuffer;
    351352
    352     // Previous recording pointer (do not dereference)
    353     ProgramInfo *lastRecording;
    354 
    355353    // Current recording info
    356354    ProgramInfo *curRecording;
    357355    QDateTime    recordEndTime;