diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-04-08 17:00:31 +0200 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-04-08 17:00:31 +0200 |
commit | 0bb11d711bb02bad0cf4a8694522dff766aa1c54 (patch) | |
tree | 798e07e274d453b6faab28e7f12dd059797192c2 /command/markad-standalone.cpp | |
parent | a1f19e122cca43e5c07079e99e3544301cf3a1c8 (diff) | |
download | vdr-plugin-markad-0bb11d711bb02bad0cf4a8694522dff766aa1c54.tar.gz vdr-plugin-markad-0bb11d711bb02bad0cf4a8694522dff766aa1c54.tar.bz2 |
Added plugin setup, plugin main menu
Diffstat (limited to 'command/markad-standalone.cpp')
-rw-r--r-- | command/markad-standalone.cpp | 54 |
1 files changed, 24 insertions, 30 deletions
diff --git a/command/markad-standalone.cpp b/command/markad-standalone.cpp index 3eb2e05..0f13456 100644 --- a/command/markad-standalone.cpp +++ b/command/markad-standalone.cpp @@ -996,7 +996,8 @@ cMarkAdStandalone::cMarkAdStandalone(const char *Directory, bool BackupMarks, in int LogoWidth, int LogoHeight, bool DecodeVideo, bool DecodeAudio, bool IgnoreVideoInfo, bool IgnoreAudioInfo, const char *LogoDir, const char *MarkFileName, bool ASD, - bool noPid, bool OSD, const char *SVDRPHost, int SVDRPPort) + bool noPid, bool OSD, const char *SVDRPHost, int SVDRPPort, + bool Before) { directory=Directory; abort=false; @@ -1055,18 +1056,6 @@ cMarkAdStandalone::cMarkAdStandalone(const char *Directory, bool BackupMarks, in bIgnoreVideoInfo=true; } - if (!CheckTS(Directory)) - { - video_demux=NULL; - ac3_demux=NULL; - mp2_demux=NULL; - decoder=NULL; - video=NULL; - audio=NULL; - osd=NULL; - return; - } - if (!noPid) { CreatePidfile(Directory); @@ -1083,6 +1072,20 @@ cMarkAdStandalone::cMarkAdStandalone(const char *Directory, bool BackupMarks, in } } + if (Before) sleep(10); + + if (!CheckTS(Directory)) + { + video_demux=NULL; + ac3_demux=NULL; + mp2_demux=NULL; + decoder=NULL; + video=NULL; + audio=NULL; + osd=NULL; + return; + } + if (isTS) { if (!CheckPATPMT(Directory)) @@ -1321,13 +1324,7 @@ static void signal_handler(int sig) { case SIGTSTP: isyslog("paused by signal"); - sigset_t mask; - sigemptyset(&mask); - sigaddset(&mask, SIGTSTP); - sigprocmask(SIG_UNBLOCK, &mask, NULL); - signal(SIGTSTP,SIG_DFL); - kill(getpid(),SIGTSTP); - signal(SIGTSTP,signal_handler); + kill(getpid(),SIGSTOP); break; case SIGCONT: isyslog("continued by signal"); @@ -1709,13 +1706,13 @@ int main(int argc, char *argv[]) } if (pid != 0) { - isyslog("forked to pid %d",pid); + tsyslog("forked to pid %d",pid); return 0; // initial program immediately returns } } if ( bFork ) { - isyslog("(forked) pid %d", getpid()); + tsyslog("(forked) pid %d", getpid()); if (chdir("/")==-1) { perror("chdir"); @@ -1784,8 +1781,6 @@ int main(int argc, char *argv[]) } } - if (bBefore) sleep(10); - // now do the work... struct stat statbuf; if (stat(recDir,&statbuf)==-1) @@ -1800,12 +1795,6 @@ int main(int argc, char *argv[]) return -1; } - cmasta = new cMarkAdStandalone(recDir,bBackupMarks, logoExtraction, logoWidth, logoHeight, - bDecodeVideo,bDecodeAudio,bIgnoreVideoInfo,bIgnoreAudioInfo, - logoDirectory,markFileName,bASD,bNoPid,bOSD,svdrphost, - svdrpport); - if (!cmasta) return -1; - // ignore some signals signal(SIGHUP, SIG_IGN); @@ -1818,6 +1807,11 @@ int main(int argc, char *argv[]) signal(SIGTSTP, signal_handler); signal(SIGCONT, signal_handler); + cmasta = new cMarkAdStandalone(recDir,bBackupMarks, logoExtraction, logoWidth, logoHeight, + bDecodeVideo,bDecodeAudio,bIgnoreVideoInfo,bIgnoreAudioInfo, + logoDirectory,markFileName,bASD,bNoPid,bOSD,svdrphost, + svdrpport,bBefore); + if (!cmasta) return -1; cmasta->Process(recDir); delete cmasta; |