summaryrefslogtreecommitdiff
path: root/orkaudio/OrkAudio.cpp
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2007-07-30 14:32:19 +0000
committerHenri Herscher <henri@oreka.org>2007-07-30 14:32:19 +0000
commit72fda6ebe7d6245b57178441c6355eb9d2402747 (patch)
treed5683a93b1e4d0efee26995caeeccd55faae0d8c /orkaudio/OrkAudio.cpp
parent483b0c94e1754d01c934dc3421527fc6eefa3ebd (diff)
Added non-lookback recording mode.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@458 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/OrkAudio.cpp')
-rw-r--r--orkaudio/OrkAudio.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/orkaudio/OrkAudio.cpp b/orkaudio/OrkAudio.cpp
index 148c64f..a5a0386 100644
--- a/orkaudio/OrkAudio.cpp
+++ b/orkaudio/OrkAudio.cpp
@@ -26,6 +26,7 @@
#include "messages/DeleteTapeMsg.h"
#include "messages/CaptureMsg.h"
#include "messages/TestMsg.h"
+#include "messages/RecordMsg.h"
#include "Config.h"
#include "LogManager.h"
#include "ImmediateProcessing.h"
@@ -167,7 +168,7 @@ void Transcode(CStdString &file)
bp->AddAudioTape(tape);
// Wait for completion
- while(!DaemonSingleton::instance()->IsStopping())
+ while(!Daemon::Singleton()->IsStopping())
{
ACE_OS::sleep(1);
}
@@ -198,11 +199,19 @@ void MainThread()
ObjectFactory::GetSingleton()->RegisterObject(objRef);
objRef.reset(new ReportingSkipTapeMsg);
ObjectFactory::GetSingleton()->RegisterObject(objRef);
+ objRef.reset(new RecordMsg);
+ ObjectFactory::GetSingleton()->RegisterObject(objRef);
//objRef.reset(new TestMsg);
//ObjectFactory::GetSingleton()->RegisterObject(objRef);
ConfigManager::Instance()->Initialize();
+ bool capturePluginOk = false;
+ if(CapturePluginProxy::Singleton()->Initialize())
+ {
+ capturePluginOk = true;
+ }
+
std::list<ACE_DLL> pluginDlls;
LoadPlugins(pluginDlls);
@@ -213,8 +222,8 @@ void MainThread()
FilterRegistry::instance()->RegisterFilter(filter);
filter.reset(new GsmToPcmFilter());
FilterRegistry::instance()->RegisterFilter(filter);
- filter.reset(new IlbcToPcmFilter());
- FilterRegistry::instance()->RegisterFilter(filter);
+ filter.reset(new IlbcToPcmFilter());
+ FilterRegistry::instance()->RegisterFilter(filter);
// Register in-built tape processors and build the processing chain
BatchProcessing::Initialize();
@@ -250,18 +259,19 @@ void MainThread()
LOG4CXX_INFO(LOG.rootLog, CStdString("Failed to create Http server"));
}
- if(CapturePluginProxySingleton::instance()->Initialize())
+ if(capturePluginOk)
{
- CapturePluginProxySingleton::instance()->Run();
+ CapturePluginProxy::Singleton()->Run();
}
+
//ACE_Thread_Manager::instance ()->wait ();
- while(!DaemonSingleton::instance()->IsStopping())
+ while(!Daemon::Singleton()->IsStopping())
{
ACE_OS::sleep(1);
}
- CapturePluginProxySingleton::instance()->Shutdown();
+ CapturePluginProxy::Singleton()->Shutdown();
// Wait that all ACE threads have returned
//ACE_Thread_Manager::instance ()->wait ();
@@ -292,7 +302,7 @@ int main(int argc, char* argv[])
return -1;
}
- DaemonSingleton::instance()->Initialize(serviceName, MainThread, StopHandler);
+ Daemon::Initialize(serviceName, MainThread, StopHandler);
CStdString argument = argv[1];
if (argc>1)
@@ -305,7 +315,7 @@ int main(int argc, char* argv[])
{
if(argc == 3)
{
- DaemonSingleton::instance()->SetShortLived();
+ Daemon::Singleton()->SetShortLived();
CStdString file = argv[2];
Transcode(file);
}
@@ -316,11 +326,11 @@ int main(int argc, char* argv[])
}
else if (argument.CompareNoCase("install") == 0)
{
- DaemonSingleton::instance()->Install();
+ Daemon::Singleton()->Install();
}
else if (argument.CompareNoCase("uninstall") == 0)
{
- DaemonSingleton::instance()->Uninstall();
+ Daemon::Singleton()->Uninstall();
}
else
{
@@ -335,7 +345,7 @@ int main(int argc, char* argv[])
{
// No arguments, launch the daemon
printf("Starting orkaudio daemon ... (type 'orkaudio debug' if you prefer running attached to tty)\n");
- DaemonSingleton::instance()->Start();
+ Daemon::Singleton()->Start();
}
return 0;
}