author | Yan Yan <yan.yan@amlogic.com> | 2017-08-29 02:54:04 (GMT) |
---|---|---|
committer | Yan Yan <yan.yan@amlogic.com> | 2017-08-29 02:54:04 (GMT) |
commit | b1f759d21868dc9e8068518fa4b812daf9a4fc59 (patch) | |
tree | 3d0bd7de4fe0bcad1472154795bef375db23e798 | |
parent | b6e6b440559338c2e0baef9a3344cb000d75c972 (diff) | |
download | libzvbi-b1f759d21868dc9e8068518fa4b812daf9a4fc59.zip libzvbi-b1f759d21868dc9e8068518fa4b812daf9a4fc59.tar.gz libzvbi-b1f759d21868dc9e8068518fa4b812daf9a4fc59.tar.bz2 |
PD#145985: Change EDM handling method.
-rwxr-xr-x | src/caption.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/caption.c b/src/caption.c index 7cd6cb6..1e18e93 100755 --- a/src/caption.c +++ b/src/caption.c @@ -899,23 +899,8 @@ erase_memory(struct caption *cc, cc_channel *ch, int page) vbi_char c = cc->transp_space[ch >= &cc->channel[4]]; 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; + for (i = 0; i < COLUMNS * ROWS; acp++, i++) + *acp = c; pg->dirty.y0 = 0; pg->dirty.y1 = ROWS - 1; @@ -1211,7 +1196,17 @@ caption_command(vbi_decoder *vbi, struct caption *cc, // s1, s4: EDM always before EOC if (ch->mode != MODE_POP_ON) erase_memory(cc, ch, ch->hidden); - + + /* Received this cmd in text mode */ + if(cc->curr_chan > 3) + { + for(i=0; i<4; i++, ch = cc->channel[i]) + { + erase_memory (cc, ch, 0); + erase_memory (cc, ch, 1); + } + } + erase_memory(cc, ch, ch->hidden ^ 1); clear(ch->pg + (ch->hidden ^ 1)); |