diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-09-29 21:53:17 +0200 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-09-29 21:53:17 +0200 |
commit | 190b1e31a688117783b09a6edbbb15257655b9c2 (patch) | |
tree | 55ae1cb8e3921ee6986412f4ff89433ca7a0b92a | |
parent | eb7318ae2c5783f6c4c14805b0d8bf9cba2b2d64 (diff) | |
download | vdr-plugin-markad-190b1e31a688117783b09a6edbbb15257655b9c2.tar.gz vdr-plugin-markad-190b1e31a688117783b09a6edbbb15257655b9c2.tar.bz2 |
Small bugfix in combination with start mark in "long" distance
-rw-r--r-- | command/markad-standalone.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/command/markad-standalone.cpp b/command/markad-standalone.cpp index fbae828..9e865fd 100644 --- a/command/markad-standalone.cpp +++ b/command/markad-standalone.cpp @@ -191,10 +191,10 @@ void cMarkAdStandalone::CheckStartStop(int lastiframe) iStart=lastiframe; if (asprintf(&buf,"assumed start of broadcast (%i)",iStart)!=-1) { - /* if the last mark is an aspectratio change start mark, + /* if the last mark is an aspectratio-/channel-/borderchange mark, then use this mark if the distance is below 5 Minutes */ - clMark *last=marks.GetLast(); - if (last) + clMark *last=marks.GetPrev(iStart,MT_START,0xF); + if ((last) && (last->type!=MT_LOGOSTART)) { int MINMARKDIFF=(int) (macontext.Video.Info.FramesPerSecond*300); if (iStart-last->position<=MINMARKDIFF) @@ -205,6 +205,8 @@ void cMarkAdStandalone::CheckStartStop(int lastiframe) // calculate new stop position based on new start iStop=-(last->position+(macontext.Info.Length*macontext.Video.Info.FramesPerSecond)); iStart=0; + // delete all marks till now + marks.DelTill(last->position); free(buf); return; } |