diff options
Diffstat (limited to 'src/simplertp.cc')
-rw-r--r-- | src/simplertp.cc | 35 |
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; } |