Opened 16 years ago

Closed 15 years ago

#6612 closed patch (fixed)

LiveTV: Channel Changing Failure

Reported by: tralph11@… Owned by: Shane Shrybman
Priority: minor Milestone: 0.24
Component: MythTV - Video Playback Version: head
Severity: low Keywords:
Cc: Ticket locked: no

Description

While running current trunk (20682) changing channels frequently causes the frontend to exit playback. In this particular case the backend never creates the actual recording although it appears the dummy recording exists.

Attachments (12)

mbe_fail_ch_change.log (143.2 KB ) - added by tralph11@… 16 years ago.
mythbackend log using -v record,channel,siparser
mfe_fail_ch_change.log (146.5 KB ) - added by tralph11@… 16 years ago.
mythfrontend log using -v playback
LiveTV_DTV_ringbuffer_check_debug.diff (2.6 KB ) - added by Shane Shrybman 16 years ago.
Add ringbuffer check to mpeg and dvb recorders for LiveTV
DTV_StartNewFile_debug.diff (4.4 KB ) - added by Shane Shrybman 16 years ago.
Implement StartNewFile() for DTV recorders (Writes first PAT/PMT to file)
NVP_video_actually_paused_fix.diff (836 bytes ) - added by Shane Shrybman 16 years ago.
Fix for video_actually_paused state and don't check PrebufferEnoughFrames() when paused.
TVRec_EventLoop_timeout_while_WaitingForSignal.diff (785 bytes ) - added by Shane Shrybman 16 years ago.
Shorten the timeout for the main TVRec EventLoop wait when waiting for signal
LiveTV_DTV_ringbuffer_check_debug2.diff (2.2 KB ) - added by Shane Shrybman 16 years ago.
Replaces previous LiveTV_DTV_ringbuffer_check_debug.diff patch
dvbstreamhandler_RemoveListener_tryLock.diff (659 bytes ) - added by Shane Shrybman 16 years ago.
Debugging patch for dvbstreamhandler (possible _listener_lock contention)
mbe_trylock_failure.log.gz (46.3 KB ) - added by tralph11@… 16 years ago.
mythbackend log for tryLock patch using -v record,channel,siparser
NVP_PrebufferEnoughFrames_tweaks.diff (1.6 KB ) - added by Shane Shrybman 16 years ago.
Wait a little longer for prebuffering
TVRec_fix_switching_buffer_race.diff (738 bytes ) - added by Shane Shrybman 16 years ago.
Fix race causing short 1-2 second files in LiveTV
LiveTV_no_previewgen_for_dummy.diff (605 bytes ) - added by Shane Shrybman 16 years ago.

Download all attachments as: .zip

Change History (19)

by tralph11@…, 16 years ago

Attachment: mbe_fail_ch_change.log added

mythbackend log using -v record,channel,siparser

by tralph11@…, 16 years ago

Attachment: mfe_fail_ch_change.log added

mythfrontend log using -v playback

comment:1 by Shane Shrybman, 16 years ago

Milestone: unknown0.22
Owner: changed from Isaac Richards to Shane Shrybman
Severity: mediumlow
Status: newaccepted

by Shane Shrybman, 16 years ago

Add ringbuffer check to mpeg and dvb recorders for LiveTV

by Shane Shrybman, 16 years ago

Attachment: DTV_StartNewFile_debug.diff added

Implement StartNewFile() for DTV recorders (Writes first PAT/PMT to file)

comment:2 by Shane Shrybman, 16 years ago

Type: defectpatch

Two test patches attached. Both are not in their final states, they contain extra debugging.

This could help both DVB and HD PVR LiveTV users (other DTV recorders not done yet).

If you test please report success/failure and post backend log with -v record.

by Shane Shrybman, 16 years ago

Fix for video_actually_paused state and don't check PrebufferEnoughFrames() when paused.

by Shane Shrybman, 16 years ago

Shorten the timeout for the main TVRec EventLoop wait when waiting for signal

by Shane Shrybman, 16 years ago

Replaces previous LiveTV_DTV_ringbuffer_check_debug.diff patch

by Shane Shrybman, 16 years ago

Debugging patch for dvbstreamhandler (possible _listener_lock contention)

by tralph11@…, 16 years ago

Attachment: mbe_trylock_failure.log.gz added

mythbackend log for tryLock patch using -v record,channel,siparser

comment:3 by shane, 16 years ago

(In [20733]) Refs #6612. Fix for NVP video_actually_paused state flutter.

When paused, the video_actually_paused variable was set to false at the top of NVP::DisplayNormalFrame() then immediately set to true in DisplayPauseFrame(). Fix by having DisplayNormalFrame() set it based on paused variable.

Also, do not check PrebufferEnoughFrames() when paused, this could consume all or most of our prebuffering attempts and then we fail (too) early when the file becomes available, this is more prevalent in LiveTV.

Thanks to elmojo, stuarta and GreyFoxx for testing.

by Shane Shrybman, 16 years ago

Wait a little longer for prebuffering

by Shane Shrybman, 16 years ago

Fix race causing short 1-2 second files in LiveTV

by Shane Shrybman, 16 years ago

comment:4 by shane, 16 years ago

(In [20781]) Refs #3789, Refs #6612. Fix race when switching LiveTV buffers.

comment:5 by shane, 16 years ago

(In [20782]) Refs #6612. Do not bother with preview generation for dummy files.

comment:6 by Stuart Auchterlonie, 16 years ago

Milestone: 0.220.24

Bumping open 0.22 milestone tickets to 0.24

comment:7 by Shane Shrybman, 15 years ago

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.