author | Yan Yan <yan.yan@amlogic.com> | 2017-08-28 08:00:11 (GMT) |
---|---|---|
committer | Yan Yan <yan.yan@amlogic.com> | 2017-08-28 08:00:11 (GMT) |
commit | b6e6b440559338c2e0baef9a3344cb000d75c972 (patch) | |
tree | a4046e228585bd3ee5eb10e105d8b864b41c387e | |
parent | 4cd802260bdf57e6ecacbb0d5939d7394640a025 (diff) | |
download | libzvbi-b6e6b440559338c2e0baef9a3344cb000d75c972.zip libzvbi-b6e6b440559338c2e0baef9a3344cb000d75c972.tar.gz libzvbi-b6e6b440559338c2e0baef9a3344cb000d75c972.tar.bz2 |
PD#145985: cc: Handle EDM/ENM during caption processing in text mode
-rwxr-xr-x | src/caption.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/caption.c b/src/caption.c index 61e1913..7cd6cb6 100755 --- a/src/caption.c +++ b/src/caption.c @@ -897,10 +897,25 @@ erase_memory(struct caption *cc, cc_channel *ch, int page) vbi_page *pg = ch->pg + page; vbi_char *acp = pg->text; vbi_char c = cc->transp_space[ch >= &cc->channel[4]]; - int i; - - for (i = 0; i < COLUMNS * ROWS; acp++, i++) - *acp = c; + int i,j; + + if(ch >= &cc->channel[4]) + { + c = cc->transp_space[0]; + for(j=0; j<4; j++) + { + acp = (cc->channel[j].pg+0)->text; + for (i = 0; i < COLUMNS * ROWS; acp++, i++) + *acp = c; + + acp = (cc->channel[j].pg+1)->text; + for (i = 0; i < COLUMNS * ROWS; acp++, i++) + *acp = c; + } + } + else + for (i = 0; i < COLUMNS * ROWS; acp++, i++) + *acp = c; pg->dirty.y0 = 0; pg->dirty.y1 = ROWS - 1; |