[mythtv-commits] Ticket #7861: Closed captions become "stuck"
MythTV
mythtv at cvs.mythtv.org
Tue Jan 5 00:03:51 UTC 2010
#7861: Closed captions become "stuck"
------------------------------------------------+---------------------------
Reporter: Jim Stichnoth <stichnot@…> | Owner: janne
Type: patch | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - Video Playback | Version: unknown
Severity: medium | Mlocked: 0
------------------------------------------------+---------------------------
Occasionally, the timecode for a closed caption is corrupt and is treated
as a very large number, corresponding to a timecode far in the future.
When this is encountered during playback, subsequent closed captions are
blocked until a seek operation clears the caption buffer. The result is
that the previous caption appears to be stuck (if the offending caption is
a "clear" operation), or that no subsequent captions are displayed.
I have encountered this problem in ATSC broadcasts using the HDHR. More
commonly, lossless transcodes of ATSC/HDHR recordings seem to sometimes
corrupt some caption timecodes, though unfortunately I haven't been able
to track down the source of the corruption in mythtranscode.
When a new caption is written to the buffer, this patch tries to guess
whether the reader appears to be stuck waiting on a caption whose
timestamp is too large. It does this by checking whether it is writing a
timestamp that is smaller than the timestamp being waited on but larger
than the previously read timestamp. For example, if the sequence of
timestamps is 1000, 9999999, 2000, and the reader is waiting on 9999999,
then the write of 2000 (which is between 1000 and 9999999) will deduce
that the reader is stuck. When this happens, the timestamp that the
reader is waiting on is reset to a value reasonably close to the
previously read timestamp, so that it becomes unstuck.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/7861>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list