summaryrefslogtreecommitdiff
path: root/command/markad-standalone.cpp
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2010-08-09 23:45:30 +0200
committerJochen Dolze <vdr@dolze.de>2010-08-09 23:45:30 +0200
commit462f8e37728c3d835e9a922f4fb4b11c7619ea9d (patch)
tree0d5b1514f945797aa3038a97d1d421747ff85727 /command/markad-standalone.cpp
parentade86712df523fc7c10545cfe450b59f39a71ba7 (diff)
downloadvdr-plugin-markad-462f8e37728c3d835e9a922f4fb4b11c7619ea9d.tar.gz
vdr-plugin-markad-462f8e37728c3d835e9a922f4fb4b11c7619ea9d.tar.bz2
Fixed AC3 demux error on restart
Diffstat (limited to 'command/markad-standalone.cpp')
-rw-r--r--command/markad-standalone.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/command/markad-standalone.cpp b/command/markad-standalone.cpp
index c0b7599..adb65f4 100644
--- a/command/markad-standalone.cpp
+++ b/command/markad-standalone.cpp
@@ -419,7 +419,7 @@ void cMarkAdStandalone::AddMark(MarkAdMark *Mark)
}
else
{
- fastexit=true;
+ if (!bGenIndex) fastexit=true;
return;
}
}
@@ -443,7 +443,7 @@ void cMarkAdStandalone::AddMark(MarkAdMark *Mark)
case MT_STOP:
marks.Del(last);
iStop=0;
- fastexit=true;
+ if (!bGenIndex) fastexit=true;
break;
default:
esyslog("please report this! *1");
@@ -473,7 +473,7 @@ void cMarkAdStandalone::AddMark(MarkAdMark *Mark)
case MT_STOP:
marks.DelTill(last->position,false);
iStop=0;
- fastexit=true;
+ if (!bGenIndex) fastexit=true;
break;
default:
esyslog("please report this! *2");
@@ -902,6 +902,7 @@ void cMarkAdStandalone::Reset()
marksAligned=false;
marks.DelAll();
+ marks.CloseIndex(directory,isTS);
memset(&macontext.Video.Info,0,sizeof(macontext.Video.Info));
memset(&macontext.Audio.Info,0,sizeof(macontext.Audio.Info));
@@ -983,12 +984,13 @@ void cMarkAdStandalone::Process(const char *Directory)
if (marks.Save(Directory,macontext.Video.Info.FramesPerSecond,isTS))
{
bool bIndexError=false;
- if (marks.CheckIndex(Directory,isTS,&bIndexError))
+ if (marks.CheckIndex(Directory,isTS,bGenIndex ? framecnt : 0,&bIndexError))
{
if (bIndexError)
{
if (bGenIndex)
{
+ isyslog("index contains errors");
if (RegenerateIndex())
{
isyslog("recreated index");