dvbsub: do not clear subtitles more than once

Origin commit data
------------------
Branch: ni/coolstream
Commit: 7f10c6673e
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2012-03-14 (Wed, 14 Mar 2012)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2012-03-14 19:46:33 +01:00
parent 317f8b58b2
commit 17eaf977c7

View File

@@ -161,6 +161,7 @@ void cDvbSubtitleBitmaps::Draw(int &min_x, int &min_y, int &max_x, int &max_y)
// dbgconverter("\n"); // dbgconverter("\n");
} }
static int screen_w, screen_h, screen_x, screen_y;
// --- cDvbSubtitleConverter ------------------------------------------------- // --- cDvbSubtitleConverter -------------------------------------------------
cDvbSubtitleConverter::cDvbSubtitleConverter(void) cDvbSubtitleConverter::cDvbSubtitleConverter(void)
@@ -191,10 +192,10 @@ cDvbSubtitleConverter::cDvbSubtitleConverter(void)
//if(DebugConverter) //if(DebugConverter)
// av_log_set_level(AV_LOG_INFO); // av_log_set_level(AV_LOG_INFO);
min_x = CFrameBuffer::getInstance()->getScreenWidth(); screen_w = min_x = CFrameBuffer::getInstance()->getScreenWidth();
min_y = CFrameBuffer::getInstance()->getScreenHeight(); screen_h = min_y = CFrameBuffer::getInstance()->getScreenHeight();
max_x = CFrameBuffer::getInstance()->getScreenX(); screen_x = max_x = CFrameBuffer::getInstance()->getScreenX();
max_y = CFrameBuffer::getInstance()->getScreenY(); screen_y = max_y = CFrameBuffer::getInstance()->getScreenY();
Timeout.Set(0xFFFF*1000); Timeout.Set(0xFFFF*1000);
} }
@@ -235,6 +236,11 @@ void cDvbSubtitleConverter::Clear(void)
// dbgconverter("cDvbSubtitleConverter::Clear: x=% d y= %d, w= %d, h= %d\n", min_x, min_y, max_x-min_x, max_y-min_y); // dbgconverter("cDvbSubtitleConverter::Clear: x=% d y= %d, w= %d, h= %d\n", min_x, min_y, max_x-min_x, max_y-min_y);
if(running && (max_x-min_x > 0) && (max_y-min_y > 0)) { if(running && (max_x-min_x > 0) && (max_y-min_y > 0)) {
CFrameBuffer::getInstance()->paintBackgroundBoxRel (min_x, min_y, max_x-min_x, max_y-min_y); CFrameBuffer::getInstance()->paintBackgroundBoxRel (min_x, min_y, max_x-min_x, max_y-min_y);
/* reset area to clear */
min_x = screen_w;
min_y = screen_h;
max_x = screen_x;
max_y = screen_h;
//CFrameBuffer::getInstance()->paintBackground(); //CFrameBuffer::getInstance()->paintBackground();
} }
} }