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: | 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)
Change History (2)
Changed 13 years ago by
Attachment: | caption-overwriting.patch added |
---|
comment:1 Changed 13 years ago by
Resolution: | → Fixed |
---|---|
Status: | new → closed |
Fixed in 69aeff3cf9f5f5ca8686