diff options
author | Jochen Dolze <vdr@dolze.de> | 2011-04-16 13:05:31 +0200 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2011-04-16 13:05:31 +0200 |
commit | 55141b21b3b6c937614009f76b8340e42a0f50af (patch) | |
tree | 3cb8c5ed45ad30b002f32c0db33b488e53ab83a7 /command/markad-standalone.cpp | |
parent | afc27021e3c8542f7a966ea732e30212b786b923 (diff) | |
download | vdr-plugin-markad-55141b21b3b6c937614009f76b8340e42a0f50af.tar.gz vdr-plugin-markad-55141b21b3b6c937614009f76b8340e42a0f50af.tar.bz2 |
Disabling pre-/post timer on live recordings
Prevent overwriting logfiles when two instances start on same recording
New logo for Sat1Comedy
Changed logo for Puls4 Austria
Changed logo for ComedyCentral (still bad)
Diffstat (limited to 'command/markad-standalone.cpp')
-rw-r--r-- | command/markad-standalone.cpp | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/command/markad-standalone.cpp b/command/markad-standalone.cpp index 1ec9b7a..4096477 100644 --- a/command/markad-standalone.cpp +++ b/command/markad-standalone.cpp @@ -1929,7 +1929,7 @@ bool cMarkAdStandalone::CreatePidfile() if (stat(procname,&statbuf)!=-1) { // found another, running markad - isyslog("another instance is running on this recording"); + fprintf(stderr,"another instance is running on %s",directory); abort=duplicate=true; } } @@ -2020,6 +2020,23 @@ cMarkAdStandalone::cMarkAdStandalone(const char *Directory, const MarkAdConfig * macontext.Info.DPid.Type=MARKAD_PIDTYPE_AUDIO_AC3; macontext.Info.APid.Type=MARKAD_PIDTYPE_AUDIO_MP2; + if (!config->NoPid) + { + CreatePidfile(); + if (abort) return; + } + + if (LOG2REC) + { + char *fbuf; + if (asprintf(&fbuf,"%s/markad.log",directory)!=-1) + { + if (freopen(fbuf,"w+",stdout)) {}; + SetFileUID(fbuf); + free(fbuf); + } + } + isyslog("starting v%s",VERSION); isyslog("on %s",Directory); @@ -2041,14 +2058,14 @@ cMarkAdStandalone::cMarkAdStandalone(const char *Directory, const MarkAdConfig * bDecodeVideo=true; } - if (!config->NoPid) + if (config->Before) sleep(10); + + if (strstr(directory,"/@")) { - CreatePidfile(); - if (abort) return; + isyslog("live-recording, disabling pre-/post timer"); + bIgnoreTimerInfo=true; } - if (config->Before) sleep(10); - if (!CheckTS()) return; if (isTS) @@ -2206,7 +2223,7 @@ cMarkAdStandalone::~cMarkAdStandalone() etime,framecnt,framecnt2,ftime,ptime); } - if (osd) + if ((osd) && (!duplicate)) { if (abort) { @@ -2926,17 +2943,6 @@ int main(int argc, char *argv[]) signal(SIGTSTP, signal_handler); signal(SIGCONT, signal_handler); - if (LOG2REC) - { - char *fbuf; - if (asprintf(&fbuf,"%s/markad.log",recDir)!=-1) - { - if (freopen(fbuf,"w+",stdout)) {}; - if (chown(fbuf,statbuf.st_uid, statbuf.st_gid)) {}; - free(fbuf); - } - } - cmasta = new cMarkAdStandalone(recDir,&config); if (!cmasta) return -1; |