diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-03-17 11:59:36 +0100 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-03-17 11:59:36 +0100 |
commit | c579345b78b87bfbe9b1ce4cbe1be50c0d9dd11a (patch) | |
tree | 0d11070937587948790575db9aa1188c62582497 /markad-standalone.cpp | |
parent | 216d281a0ea6140a6c1e0190a3ea2ae9ff5e467a (diff) | |
download | vdr-plugin-markad-c579345b78b87bfbe9b1ce4cbe1be50c0d9dd11a.tar.gz vdr-plugin-markad-c579345b78b87bfbe9b1ce4cbe1be50c0d9dd11a.tar.bz2 |
Hopefully fixed frame counter error
Diffstat (limited to 'markad-standalone.cpp')
-rw-r--r-- | markad-standalone.cpp | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/markad-standalone.cpp b/markad-standalone.cpp index 7929738..70844c6 100644 --- a/markad-standalone.cpp +++ b/markad-standalone.cpp @@ -166,22 +166,18 @@ bool cMarkAdStandalone::ProcessFile(const char *Directory, int Number) } //printf("%05i( %c )\n",framecnt,frametypes[macontext.Video.Info.Pict_Type]); framecnt++; + if (macontext.Video.Info.Pict_Type==MA_I_TYPE) + { + lastiframe=framecnt-1; + } } bool dRes=true; if ((decoder) && (bDecodeVideo)) dRes=decoder->DecodeVideo(&macontext,pkt,pktlen); if (dRes) { - if (macontext.Video.Info.Pict_Type==MA_I_TYPE) + if ((framecnt-lastiframe)<=3) { - if (!isTS) - { - lastiframe=framecnt-2; - } - else - { - lastiframe=framecnt-1; - } //SaveFrame(lastiframe); // TODO: JUST FOR DEBUGGING! mark=video->Process(lastiframe); AddMark(mark); @@ -610,12 +606,13 @@ bool cMarkAdStandalone::CheckPATPMT(const char *Directory) return true; } +const char cMarkAdStandalone::frametypes[8]={'?','I','P','B','D','S','s','b'}; + cMarkAdStandalone::cMarkAdStandalone(const char *Directory, bool BackupMarks, int LogoExtraction, int LogoWidth, int LogoHeight, bool DecodeVideo, bool DecodeAudio, bool IgnoreVideoInfo, bool IgnoreAudioInfo, const char *LogoDir, const char *MarkFileName) { - const char frametypes[8]={'?','I','P','B','D','S','s','b'}; recvnumber=255; abort=false; @@ -704,7 +701,7 @@ cMarkAdStandalone::cMarkAdStandalone(const char *Directory, bool BackupMarks, in if (!LoadInfo(Directory)) { - if (bDecodeVideo) esyslog("markad [%i]: failed loading info - logo detection impossible",recvnumber); + if (bDecodeVideo) esyslog("markad [%i]: failed loading info - logo detection disabled",recvnumber); } if (MarkFileName[0]) marks.SetFileName(MarkFileName); |