summaryrefslogtreecommitdiff
authorYan Yan <yan.yan@amlogic.com>2017-11-09 05:55:29 (GMT)
committer Yan Yan <yan.yan@amlogic.com>2017-11-09 09:18:15 (GMT)
commitf058aa9b624ffcf661295287c64b6d062f3a2d2f (patch)
treeecbc25a565dd07231a052a1127e3d825d7b1bfd3
parent04b4df76a6298c2c36de520ae6daebb0f993e390 (diff)
downloadlibzvbi-f058aa9b624ffcf661295287c64b6d062f3a2d2f.zip
libzvbi-f058aa9b624ffcf661295287c64b6d062f3a2d2f.tar.gz
libzvbi-f058aa9b624ffcf661295287c64b6d062f3a2d2f.tar.bz2
cc: Fix 608 cc reveal problem and window preset mismatch [1/1]
PD# 152764 Change-Id: I94e4d28c81eda4aaf70b2641f53e6bf94b2f1cb5
Diffstat
-rwxr-xr-xsrc/caption.c6
-rwxr-xr-xsrc/dtvcc.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/caption.c b/src/caption.c
index 3ebed98..47680f9 100755
--- a/src/caption.c
+++ b/src/caption.c
@@ -811,6 +811,8 @@ update(cc_channel *ch)
vbi_char *acp = ch->line - ch->pg[ch->hidden].text + ch->pg[ch->hidden^1].text;
memcpy(acp, ch->line, sizeof(*acp) * COLUMNS);
+
+ render(ch->pg + 1, ch->row);
}
static void
@@ -821,6 +823,7 @@ word_break(struct caption *cc, cc_channel *ch, int upd)
/*
* Add a leading and trailing space.
*/
+#if 0
if (ch->col > ch->col1) {
vbi_char c = ch->line[ch->col1];
@@ -838,7 +841,7 @@ word_break(struct caption *cc, cc_channel *ch, int upd)
ch->line[ch->col] = c;
}
}
-
+#endif
if (!upd || ch->mode == MODE_POP_ON)
return;
@@ -881,6 +884,7 @@ put_char(struct caption *cc, cc_channel *ch, vbi_char c)
if ((c.unicode & 0x7F) == 0x20)
word_break(cc, ch, 1);
+ update(ch);
}
static inline cc_channel *
diff --git a/src/dtvcc.c b/src/dtvcc.c
index 05c0789..c3b570c 100755
--- a/src/dtvcc.c
+++ b/src/dtvcc.c
@@ -2856,7 +2856,7 @@ dtvcc_define_window (struct dtvcc_decoder * dc,
pen_style_id = c & 7;
if (window_style_id > 0) {
- dw->style = window_styles[window_style_id];
+ dw->style = window_styles[window_style_id-1];
} else if (0 == (ds->created & window_map)) {
dw->style = window_styles[1];
}