summaryrefslogtreecommitdiff
path: root/command/markad-standalone.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'command/markad-standalone.cpp')
-rw-r--r--command/markad-standalone.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/command/markad-standalone.cpp b/command/markad-standalone.cpp
index 23a1ae3..498c6df 100644
--- a/command/markad-standalone.cpp
+++ b/command/markad-standalone.cpp
@@ -524,6 +524,25 @@ void cMarkAdStandalone::AddMark(MarkAdMark *Mark)
if (comment) isyslog("%s",comment);
+ if ((Mark->Type==MT_LOGOSTART) && (!iStart) && (Mark->Position<abs(iStop)))
+ {
+ clMark *prev=marks.GetPrev(Mark->Position,MT_LOGOSTOP);
+ if (prev)
+ {
+ int MARKDIFF=(int) (macontext.Video.Info.FramesPerSecond*10);
+ if ((Mark->Position-prev->position)<MARKDIFF)
+ {
+ double distance=(Mark->Position-prev->position)/macontext.Video.Info.FramesPerSecond;
+ isyslog("mark distance too short (%.1fs), deleting %i,%i",distance,
+ prev->position,Mark->Position);
+ if (!macontext.Video.Options.WeakMarksOk) inBroadCast=false;
+ marks.Del(prev);
+ if (comment) free(comment);
+ return;
+ }
+ }
+ }
+
if (((Mark->Type & 0x0F)==MT_STOP) && (!iStart) && (Mark->Position<abs(iStop)))
{
clMark *prev=marks.GetPrev(Mark->Position,(Mark->Type & 0xF0)|MT_START);
@@ -532,7 +551,7 @@ void cMarkAdStandalone::AddMark(MarkAdMark *Mark)
int MARKDIFF;
if ((Mark->Type & 0xF0)==MT_LOGOCHANGE)
{
- MARKDIFF=(int) (macontext.Video.Info.FramesPerSecond*240);
+ MARKDIFF=(int) (macontext.Video.Info.FramesPerSecond*180);
}
else
{