Opened 14 years ago

Closed 14 years ago

#1120 closed defect (fixed)

Live->recording fails to stop at the endtime if playback continues.

Reported by: bjm Owned by: danielk
Priority: minor Milestone: 0.19
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

To reproduce, enter live TV and change channels to a program that is about to end. Press "R". Continue watching until after the end time of the program. The recording continues in the same file and with the same program information rather than starting a new file for the show that follows.

In this case, "Vanity Fair" ends at 4:10pm and is followed by "Inventing the Abbotts".

16:06:26 selected the channel in live mode

16:06:40 pressed "R" anmd continued to watch

16:10:24 endtime plus overrecordseconds

The recording should have stopped and the playback session should have started recording "Inventing the Abbotts" and added it to the tvchain I suppose. However. stopping recording and exiting playback when the user hits the end of the recording would be acceptable also. Instead, there is a cycle of "Enabling Full LiveTV UI" and "AddRecording?() recid: 7278" ('Vanity Fair' though it has ended).

16:11:05 hit ESC in the player ending the recording.

Master log with mythbackend -v record

2006-01-25 16:06:26.725 Chain: Appended@2 '2230_20060125160626'
[mpeg @ 0xb774b360]Parser not found for Codec Id: 94210 !
2006-01-25 16:06:26.769 RecBase(/dev/video1): SetRingBuffer(0xafe24628) '/video/mythtv/2230_20060125160626.mpg'
2006-01-25 16:06:26.775 TVRec(3): RingBufferChanged()
2006-01-25 16:06:26.780 Chain: Updated endtime for '2323_20060125160614' to 20060125160626
2006-01-25 16:06:26.784 Finished recording Golf Central: channel 2323
2006-01-25 16:06:26.793 TVRec(3): SetFlags(RingBufferReset,) -> RunMainLoop,CancelNextRecording,AskAllowRecording,NeedToStartRecorder,RecorderRunning,RingBufferReset,
2006-01-25 16:06:26.800 TVRec(3): ClearFlags(NeedToStartRecorder,) -> RunMainLoop,CancelNextRecording,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:06:26.804 TVRec(3): SetChannel() -- end
0: start_time: 0.036 duration: 0.832
1: start_time: 225.262 duration: 0.895
2: start_time: 0.026 duration: 0.816
stream: start_time: 0.289 duration: 2512.565 bitrate=22 kb/s
2006-01-25 16:06:26.833 AFD: Opened codec 0x81a0c10, id(MPEG2VIDEO) type(Video)
2006-01-25 16:06:26.880 AFD: Opened codec 0x82fa710, id(MP2) type(Audio)
2006-01-25 16:06:40.066 TVRec(3): Failed to find channel() on current input (S-Video 0) of card (3).
2006-01-25 16:06:40.076 TVRec(3): Failed to find channel() on any input of card (3).
2006-01-25 16:06:41.334 TVRec(3): SetLiveRecording(1)
2006-01-25 16:06:41.343 TVRec(3): SetLiveRecording() -- record
2006-01-25 16:06:41.408 TVRec(3): ClearFlags(CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:06:41.408 Scheduler: AddRecording() recid: 7278
2006-01-25 16:06:41.462 Reschedule requested for id 7278.
2006-01-25 16:06:42.780 Scheduled 353 items in 1.3 = 0.13 match + 1.15 place
2006-01-25 16:06:42.804 scheduler: Last message repeated 6 times
2006-01-25 16:06:42.811 scheduler: Scheduled items
2006-01-25 16:09:40.161 Running HouseKeeping
2006-01-25 16:10:24.557 TVRec(3): Enabling Full LiveTV UI.
2006-01-25 16:10:25.645 TVRec(3): ClearFlags(CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:10:25.645 Scheduler: AddRecording() recid: 7278
2006-01-25 16:10:25.654 Scheduler: Not adding recording, 'Vanity Fair' is already in reclist.
2006-01-25 16:10:26.652 TVRec(3): Enabling Full LiveTV UI.
2006-01-25 16:10:27.694 TVRec(3): ClearFlags(CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:10:27.694 Scheduler: AddRecording() recid: 7278
2006-01-25 16:10:27.701 Scheduler: Not adding recording, 'Vanity Fair' is already in reclist.

...[repeats every two seconds]...

2006-01-25 16:10:59.559 TVRec(3): Enabling Full LiveTV UI.
2006-01-25 16:11:00.611 TVRec(3): ClearFlags(CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:00.611 Scheduler: AddRecording() recid: 7278
2006-01-25 16:11:00.621 Scheduler: Not adding recording, 'Vanity Fair' is already in reclist.
2006-01-25 16:11:01.619 TVRec(3): Enabling Full LiveTV UI.
2006-01-25 16:11:02.670 TVRec(3): ClearFlags(CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:02.670 Scheduler: AddRecording() recid: 7278
2006-01-25 16:11:02.680 Scheduler: Not adding recording, 'Vanity Fair' is already in reclist.
2006-01-25 16:11:03.679 TVRec(3): Enabling Full LiveTV UI.
2006-01-25 16:11:04.726 TVRec(3): ClearFlags(CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:04.726 Scheduler: AddRecording() recid: 7278
2006-01-25 16:11:04.731 Scheduler: Not adding recording, 'Vanity Fair' is already in reclist.
2006-01-25 16:11:05.139 StopLiveTV(void) curRec: 0xafe13528 pseudoRec: 0xafe361f8
2006-01-25 16:11:05.151 TVRec(3): Changing from WatchingLiveTV to RecordingOnly
2006-01-25 16:11:05.156 TVRec(3): ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:05.161 TVRec(3): SetFlags(AskAllowRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:05.164 TVRec(3): ClearFlags(FinishRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:05.168 TVRec(3): Changing from RecordingOnly to None
2006-01-25 16:11:05.172 TVRec(3): ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:05.209 TVRec(3): SetFlags(AskAllowRecording,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReset,
2006-01-25 16:11:05.212 TVRec(3): Request: Program(no) channel() input() flags(CloseRec,KillRingBuffer,)
2006-01-25 16:11:05.265 TVRec(3): ClearFlags(RecorderRunning,) -> RunMainLoop,AskAllowRecording,RingBufferReset,
2006-01-25 16:11:05.324 Chain: Updated endtime for '2230_20060125160626' to 20060125161105
[mpeg @ 0xb774b360]2006-01-25 16:11:05.387 Finished recording Vanity Fair: channel 2230
Parser not found for Codec Id: 94210 !
2006-01-25 16:11:05.451 scheduler: Finished recording
2006-01-25 16:11:05.461 TVRec(3): ClearFlags(RecorderRunning,) -> RunMainLoop,AskAllowRecording,RingBufferReset,
2006-01-25 16:11:05.464 TVRec(3): Tearing down RingBuffer
2006-01-25 16:11:05.468 TVRec(3): ClearFlags(PENDINGACTIONS,) -> RunMainLoop,AskAllowRecording,RingBufferReset,
2006-01-25 16:11:05.476 Reschedule requested for id 0.
0: start_time: 0.910 duration: 25.132
1: start_time: 226.190 duration: 25.140
2: start_time: 0.873 duration: 25.138
stream: start_time: 9.697 duration: 2782.863 bitrate=577 kb/s
2006-01-25 16:11:05.492 AFD: Opened codec 0x823d8f0, id(MPEG2VIDEO) type(Video)
2006-01-25 16:11:06.247 AFD: Opened codec 0x8204200, id(MP2) type(Audio)
2006-01-25 16:11:08.978 Scheduled 352 items in 3.5 = 0.02 match + 3.47 place
2006-01-25 16:11:08.991 scheduler: Scheduled items

Attachments (1)

1120-v1.patch (2.8 KB) - added by danielk 14 years ago.
possible fix

Download all attachments as: .zip

Change History (4)

Changed 14 years ago by danielk

Attachment: 1120-v1.patch added

possible fix

comment:1 Changed 14 years ago by danielk

Bruce, this removes the offending code (identified by Isaac).

I tested it with scheduled and 'R'ecord recordings with a 5 second overrecord and it worked as expected. But I'll let you test it before I apply.

comment:2 Changed 14 years ago by bjm

Verified that this works for local or remote, master or slave. In all cases the reocrding ended at the endtime plus overrecordseconds then a new file for the next program started a second or two later. Playback would continue and the behavior of "O", for example, would change back to Browse mode rather than Menu. "R" again after starting record changes mode and recording status back properly and transitions to the next program at the endtime correctly so I'd say that with the patch, TOGGLERECORD is fully functioning.

comment:3 Changed 14 years ago by danielk

Resolution: fixed
Status: newclosed

(In [8735]) Fixes #1120, by applying patch.

Note: See TracTickets for help on using tickets.