summaryrefslogtreecommitdiff
path: root/src/simplertp.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/simplertp.cc')
-rw-r--r--src/simplertp.cc35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/simplertp.cc b/src/simplertp.cc
index 7d1dec1..3db28ce 100644
--- a/src/simplertp.cc
+++ b/src/simplertp.cc
@@ -31,13 +31,21 @@
#include "mainwindow.h"
+#include "audiobackend.h"
+#include "audiobackend-alsa.h"
+#ifdef WITH_PULSE
+#include "audiobackend-pulse.h"
+#endif/*WITH_PULSE*/
+
int main(int argc, char *argv[])
{
+/*
int pulse = system("pidof pulseaudio &> /dev/null");
if(WEXITSTATUS(pulse) == 0) {
printf("Pulse audio is running - simplertp wont work...\n");
return 1;
}
+*/
QApplication app(argc, argv);
@@ -48,11 +56,25 @@ int main(int argc, char *argv[])
QSettings settings(argv[1], QSettings::IniFormat);
- settings.beginGroup("hardware");
- QString v4ldev = settings.value("v4ldev", "/dev/video0").toString();
- QString adev = settings.value("adev", "hw:0,0").toString();
+ settings.beginGroup("hardware");
+ QString audiobackend = settings.value("audiobackend", "alsa").toString();
+ QString audiodevice = settings.value("audiodevice", "hw:0,0").toString();
+ QString v4ldevice = settings.value("v4ldevice", "/dev/video0").toString();
settings.endGroup();
+ if(audiobackend == "alsa") {
+ g_audiobackend = new AudioBackendAlsa(audiodevice.toStdString().c_str());
+ } else
+#ifdef WITH_PULSE
+ if(audiobackend == "pulse") {
+ g_audiobackend = new AudioBackendPulse(audiodevice.toStdString().c_str());
+ } else
+#endif/*WITH_PULSE*/
+ {
+ printf("Unknown audiobackend: %s\n", audiobackend.toStdString().c_str());
+ }
+
+
settings.beginGroup("crypto");
QString key = settings.value("key").toString();
unsigned int ssrc = settings.value("ssrc").toUInt();
@@ -84,7 +106,7 @@ int main(int argc, char *argv[])
}
settings.endGroup();
- MainWindow wnd(v4ldev, adev, os, islist);
+ MainWindow wnd(v4ldevice, os, islist);
wnd.show();
int ret = app.exec();
@@ -95,5 +117,10 @@ int main(int argc, char *argv[])
i++;
}
+ if(g_audiobackend) {
+ delete g_audiobackend;
+ g_audiobackend = NULL;
+ }
+
return ret;
}