Opened 13 years ago

Closed 13 years ago

#9565 closed Patch - Bug Fix (Fixed)

CEA-708 caption lines write one over top of the other in some programs

Reported by: Clayton Smith <argilo@…> Owned by: danielk
Priority: minor Milestone: unknown
Component: MythTV - ATSC Version: 0.24-fixes
Severity: medium Keywords: cea-708
Cc: Ticket locked: no

Description

In some programs with scrolling CEA-708 closed captions, all the lines of the captioning get written one over top of the other on a single line. I had a look at the caption stream to see what was going on, and it looks like the following:

DefineWindow? (with 3 rows, 32 columns) SetPenLocation? (to row 3, column 1) ...characters... <CR> DefineWindow? (with 3 rows, 32 columns) SetPenLocation? (to row 3, column 1) ...characters... <CR>

The trouble is that CC708Window::DefineWindow? (if the row lock is false) allocates one more row than was requested. The carriage return at the end of each row of characters moves the pen to this extra row, but then SetPenLocation? moves it back up and the same row gets overwritten, and no scrolling ever occurs.

I have patched this by changing CC708Window::DefineWindow? so that it never allocates more rows than requested. This fixed the problem, and didn't cause any problems for the 10 or so other shows I tested with.

Attachments (1)

caption-overwriting.patch (654 bytes) - added by Clayton Smith <argilo@…> 13 years ago.

Download all attachments as: .zip

Change History (2)

Changed 13 years ago by Clayton Smith <argilo@…>

Attachment: caption-overwriting.patch added

comment:1 Changed 13 years ago by markk

Resolution: Fixed
Status: newclosed

Fixed in 69aeff3cf9f5f5ca8686

Note: See TracTickets for help on using tickets.