Opened 19 years ago
Closed 19 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 Changed 19 years ago by
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 Changed 19 years ago by
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: