Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#2244 closed defect (fixed)

If external tuning program fails, program still gets marked as recorded

Reported by: mythtv@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: 0.19
Severity: low Keywords:
Cc: mythtv@… Ticket locked: no

Description

I'm running MythTV 0.19. One of my tuners is hooked up to a Motorola cable box, connected via a serial port, and controlled via the dct-channel program. This evening, our digital cable went out, so dct-channel would fail when trying to tune a digital cable channel. So, when it tried to record a program on digital cable, this happened:

2006-08-24 21:59:31.536 TVRec(18): Changing from None to RecordingOnly? 2006-08-24 21:59:32.570 ret_pid(0) child(6711) status(0x0) 2006-08-24 21:59:33.578 ret_pid(0) child(6711) status(0x0) 2006-08-24 21:59:34.586 ret_pid(0) child(6711) status(0x0) 2006-08-24 21:59:35.594 ret_pid(0) child(6711) status(0x0) 2006-08-24 21:59:36.602 ret_pid(0) child(6711) status(0x0) 2006-08-24 21:59:37.610 ret_pid(0) child(6711) status(0x0) 2006-08-24 21:59:38.618 ret_pid(0) child(6711) status(0x0) 2006-08-24 21:59:39.626 ret_pid(0) child(6711) status(0x0) Communication failed after 5 tries 0 2006-08-24 21:59:40.634 ret_pid(6711) child(6711) status(0x100) 2006-08-24 21:59:40.639 ChannelBase?: external tuning program exited with error 1 2006-08-24 21:59:40.639 TVRec(18) Error: Failed to set channel to 301. Reverting to kState_None 2006-08-24 21:59:40.640 TVRec(18): Changing from RecordingOnly? to None

..this is fine and good (it cancelled the recording, as expected, since it can't tune it); however, the program was marked as Previously Recorded, so it wasn't automatically scheduled to re-record. I had to go "Forget Old" in Mythweb to get it to re-schedule the recording.

Change History (3)

comment:1 Changed 13 years ago by cpinkham

Resolution: fixed
Status: newclosed

(In [11198]) If we fail to change the channel and abort a recording then call ProgramInfo::ForgetHistory?() to forget we tried so it so the scheduler can reschedule if possible.

Closes #2244.

comment:2 Changed 13 years ago by cpinkham

(In [11199]) If we fail to change the channel and abort a recording then call ProgramInfo::ForgetHistory?() to forget we tried so it so the scheduler can reschedule if possible.

Carries over [11198] from head. References #2244.

comment:3 Changed 13 years ago by cpinkham

(In [11211]) Add a rsFailed recording status and use this when the recorder fails to tune in the channel.

When a recording fails to start, the scheduler is notified and the recording metadata and any file created are deleted. The oldrecorded table retains the history that the recording was tried but had a recstatus of rsFailed (-9).

This should really fix #2244. Once it has some time in head, I'll merge it over to -fixes since this is more invasive than my original non-fix.

Note: See TracTickets for help on using tickets.