summaryrefslogtreecommitdiff
path: root/command/video.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2011-03-02 22:08:00 +0100
committerJochen Dolze <vdr@dolze.de>2011-03-02 22:08:00 +0100
commitdbcbcef08f7fd9cd09cac5a0db95df1fd24a55ed (patch)
tree8b548b33266c96c2572b9f6a013d3fd9b08f9f82 /command/video.cpp
parent4b0546e6215d96dbc56822433adece8a0f048195 (diff)
downloadvdr-plugin-markad-dbcbcef08f7fd9cd09cac5a0db95df1fd24a55ed.tar.gz
vdr-plugin-markad-dbcbcef08f7fd9cd09cac5a0db95df1fd24a55ed.tar.bz2
Fixed memory leak in AddMark
Fixed uninitialized variable error in video.cpp Added logo detection for permitting weak marks
Diffstat (limited to 'command/video.cpp')
-rw-r--r--command/video.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/command/video.cpp b/command/video.cpp
index be2cb5c..ffb24cf 100644
--- a/command/video.cpp
+++ b/command/video.cpp
@@ -313,9 +313,10 @@ int cMarkAdLogo::SobelPlane(int plane)
int cMarkAdLogo::Detect(int framenumber, int *logoframenumber)
{
bool extract=(macontext->Config->logoExtraction!=-1);
-
int rpixel=0,mpixel=0;
int processed=0;
+ *logoframenumber=-1;
+
for (int plane=0; plane<4; plane++)
{
if ((area.valid[plane]) || (extract))
@@ -353,6 +354,7 @@ int cMarkAdLogo::Detect(int framenumber, int *logoframenumber)
{
area.status=LOGO_INVISIBLE;
}
+ *logoframenumber=area.framenumber;
}
if (rpixel>=(mpixel*LOGO_VMARK))
@@ -858,7 +860,7 @@ MarkAdMarks *cMarkAdVideo::Process(int FrameNumber, int FrameNumberNext)
{
int logoframenumber;
int lret=logo->Process(FrameNumber,&logoframenumber);
- if ((lret>=-1) && (lret!=0))
+ if ((lret>=-1) && (lret!=0) && (logoframenumber!=-1))
{
if (lret>0)
{