Opened 20 years ago
Closed 20 years ago
#262 closed defect (fixed)
Exiting LiveTV not possible from an off-air channel at startup
Reported by: | danielk | Owned by: | danielk |
---|---|---|---|
Priority: | major | Milestone: | 0.19 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description (last modified by )
This is related to #277, but is different.
If we are on an off-air channel when we start-up keys are processed. So there is a workaround to this problem, change to an on-air channel and then exit.
Change History (2)
comment:1 by , 20 years ago
Description: | modified (diff) |
---|---|
Priority: | blocker → major |
Severity: | high → medium |
Status: | new → assigned |
Summary: | Exiting LiveTV not possible when there is no signal on the first channel → Exiting LiveTV not possible from an off-air channel at startup |
comment:2 by , 20 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
(In [7177]) Fixes #262.
There were essentially two problems. One was that hitting ESC while the signal OSD was on screen just exited the OSD, not the player. Then the OSD reappeared once there was a new signal message. This is why it appeared to be quiting but then it didn't quit.
The second problem was that AbortStartRecorderThread() was called after "QMutexLocker lock(&stateChangeLock)" in HandleStateChange(), this meant that if you hit ESC twice you still didn't exit because the StartRecorderPost() needed access to lock the stateChangeLock before it exited. Since HandleStateChange() wouldn't release the lock until StartRecorderPost() exited, we had a classic deadlock.
I also fixed two other somewhat related problems: