diff -r -u -X diff.exclude myth.14959.1126a/mythtv/libs/libmythtv/tv_play.cpp myth.14959.1126b/mythtv/libs/libmythtv/tv_play.cpp
|
|
|
521 | 521 | // Channel changing state variables |
522 | 522 | queuedChanNum(""), |
523 | 523 | muteTimer(new QTimer(this)), |
524 | | lockTimerOn(false), |
| 524 | lockTimerOn(false), tunerIsLocked(false), |
525 | 525 | // previous channel functionality state variables |
526 | 526 | prevChanKeyCnt(0), prevChanTimer(new QTimer(this)), |
527 | 527 | // channel browsing state variables |
… |
… |
|
813 | 813 | tvchain = new LiveTVChain(); |
814 | 814 | tvchain->InitializeNewChain(gContext->GetHostName()); |
815 | 815 | |
| 816 | tunerIsLocked = false; |
816 | 817 | ChangeState(kState_WatchingLiveTV); |
817 | 818 | switchToRec = NULL; |
818 | 819 | |
… |
… |
|
4227 | 4228 | queuedInput = ""; |
4228 | 4229 | queuedChanNum = ""; |
4229 | 4230 | queuedChanID = 0; |
| 4231 | tunerIsLocked = false; |
4230 | 4232 | } |
4231 | 4233 | |
4232 | 4234 | void TV::AddKeyToInputQueue(char key) |
… |
… |
|
4750 | 4752 | { |
4751 | 4753 | QMutexLocker locker(&osdlock); |
4752 | 4754 | |
4753 | | if (!GetOSD() || browsemode || !queuedChanNum.isEmpty()) |
| 4755 | if (browsemode || !queuedChanNum.isEmpty()) |
4754 | 4756 | { |
4755 | 4757 | if (&lastSignalMsg != &strlist) |
4756 | 4758 | lastSignalMsg = strlist; |
… |
… |
|
4870 | 4872 | //GetOSD()->ClearAllText("signal_info"); |
4871 | 4873 | //GetOSD()->SetText("signal_info", infoMap, -1); |
4872 | 4874 | |
4873 | | GetOSD()->ClearAllText("channel_number"); |
4874 | | GetOSD()->SetText("channel_number", infoMap, osd_prog_info_timeout); |
4875 | 4875 | |
4876 | 4876 | infoMap["description"] = sigDesc; |
4877 | | GetOSD()->ClearAllText("program_info"); |
4878 | | GetOSD()->SetText("program_info", infoMap, osd_prog_info_timeout); |
| 4877 | if (GetOSD()) { |
| 4878 | GetOSD()->ClearAllText("channel_number"); |
| 4879 | GetOSD()->SetText("channel_number", infoMap, osd_prog_info_timeout); |
| 4880 | |
| 4881 | GetOSD()->ClearAllText("program_info"); |
| 4882 | GetOSD()->SetText("program_info", infoMap, osd_prog_info_timeout); |
| 4883 | } |
4879 | 4884 | |
4880 | 4885 | lastSignalMsg.clear(); |
4881 | 4886 | lastSignalMsgTime.start(); |
4882 | 4887 | |
4883 | 4888 | // Turn off lock timer if we have an "All Good" or good PMT |
4884 | | if (allGood || (pmt == "M")) |
| 4889 | if (allGood || (pmt == "M")) { |
| 4890 | tunerIsLocked = true; |
4885 | 4891 | lockTimerOn = false; |
| 4892 | } |
4886 | 4893 | } |
4887 | 4894 | |
4888 | 4895 | void TV::UpdateOSDTimeoutMessage(void) |
… |
… |
|
4893 | 4900 | { |
4894 | 4901 | QString input = activerecorder->GetInput(); |
4895 | 4902 | uint timeout = activerecorder->GetSignalLockTimeout(input); |
4896 | | timed_out = lockTimerOn && ((uint)lockTimer.elapsed() > timeout); |
| 4903 | timed_out = !tunerIsLocked && lockTimerOn && ((uint)lockTimer.elapsed() > timeout); |
4897 | 4904 | } |
4898 | 4905 | OSD *osd = GetOSD(); |
4899 | 4906 | |
diff -r -u -X diff.exclude myth.14959.1126a/mythtv/libs/libmythtv/tv_play.h myth.14959.1126b/mythtv/libs/libmythtv/tv_play.h
|
|
|
513 | 513 | // Channel changing timeout notification variables |
514 | 514 | QTime lockTimer; |
515 | 515 | bool lockTimerOn; |
| 516 | bool tunerIsLocked; |
516 | 517 | |
517 | 518 | // Previous channel functionality state variables |
518 | 519 | str_vec_t prevChan; ///< Previous channels |