Opened 15 years ago
Closed 15 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)
by , 15 years ago
| Attachment: | caption-overwriting.patch added |
|---|
comment:1 by , 15 years ago
| Resolution: | → Fixed |
|---|---|
| Status: | new → closed |

Fixed in 69aeff3cf9f5f5ca8686