Ticket #3789: livetv_ringbuffer_switch_fail_fix.diff
File livetv_ringbuffer_switch_fail_fix.diff, 2.1 KB (added by , 17 years ago) |
---|
-
mythtv/libs/libmythtv/tv_rec.cpp
117 117 internalState(kState_None), desiredNextState(kState_None), 118 118 changeState(false), pauseNotify(true), 119 119 stateFlags(0), lastTuningRequest(0), 120 // Previous recording info 121 lastRecording(NULL), 120 m_switchingBuffer(false), 122 121 // Current recording info 123 122 curRecording(NULL), autoRunJobs(JOB_NONE), 124 123 // Pending recording info … … 1303 1302 else if (!has_rec && !rec_soon && curRecording && 1304 1303 (now >= curRecording->endts)) 1305 1304 { 1306 if ( lastRecording != curRecording)1305 if (!m_switchingBuffer) 1307 1306 { 1308 lastRecording = curRecording;1307 m_switchingBuffer = true; 1309 1308 1310 1309 SwitchLiveTVRingBuffer(false, true); 1311 1310 … … 1320 1319 <<"starttm(" 1321 1320 <<starttime.toString(Qt::ISODate)<<")"); 1322 1321 } 1322 else 1323 { 1324 VERBOSE(VB_RECORD, "Waiting for ringbuffer switch"); 1325 } 1323 1326 } 1324 1327 else 1325 1328 enable_ui = false; … … 3080 3083 curRecording = new ProgramInfo(*pginfo); 3081 3084 curRecording->MarkAsInUse(true, "recorder"); 3082 3085 } 3086 3087 m_switchingBuffer = false; 3083 3088 } 3084 3089 3085 3090 QString TVRec::TuningGetChanNum(const TuningRequest &request, -
mythtv/libs/libmythtv/tv_rec.h
348 348 QDateTime eitScanStartTime; 349 349 QWaitCondition triggerEventLoop; 350 350 QWaitCondition triggerEventSleep; 351 bool m_switchingBuffer; 351 352 352 // Previous recording pointer (do not dereference)353 ProgramInfo *lastRecording;354 355 353 // Current recording info 356 354 ProgramInfo *curRecording; 357 355 QDateTime recordEndTime;