From fce3a3d6be3fdab54d0549922880bde73fe34915 Mon Sep 17 00:00:00 2001 From: Phil Taylor Date: Tue, 4 Jan 2022 19:50:38 +0000 Subject: [PATCH] Try to fix server --- audiohandler.cpp | 1 + udpserver.cpp | 25 +++++-------------------- udpserver.h | 4 ++-- wfmain.cpp | 10 ++++------ wfmain.h | 2 +- 5 files changed, 13 insertions(+), 29 deletions(-) diff --git a/audiohandler.cpp b/audiohandler.cpp index d0381fa..61d9676 100644 --- a/audiohandler.cpp +++ b/audiohandler.cpp @@ -63,6 +63,7 @@ bool audioHandler::init(audioSetup setupIn) if (isInitialized) { return false; } + qInfo(logAudio()) << (setup.isinput ? "Input" : "Output") << "audio handler starting:" << setup.name; /* 0x01 uLaw 1ch 8bit diff --git a/udpserver.cpp b/udpserver.cpp index 048800e..7163fda 100644 --- a/udpserver.cpp +++ b/udpserver.cpp @@ -1,17 +1,16 @@ #include "udpserver.h" #include "logcategories.h" -udpServer::udpServer(SERVERCONFIG config, audioSetup outAudio, audioSetup inAudio) : - config(config), - outAudio(outAudio), - inAudio(inAudio) +udpServer::udpServer() { qInfo(logUdpServer()) << "Starting udp server"; } -void udpServer::init() +void udpServer::init(SERVERCONFIG conf, audioSetup out, audioSetup in) { - + this->config = conf; + this->outAudio = out; + this->inAudio = in; srand(time(NULL)); // Generate random key timeStarted.start(); // Convoluted way to find the external IP address, there must be a better way???? @@ -95,20 +94,6 @@ udpServer::~udpServer() delete udpAudio; } - if (rxAudioThread != Q_NULLPTR) { - rxAudioThread->quit(); - rxAudioThread->wait(); - rxaudio = Q_NULLPTR; - rxAudioThread = Q_NULLPTR; - } - - if (txAudioThread != Q_NULLPTR) { - txAudioThread->quit(); - txAudioThread->wait(); - txaudio = Q_NULLPTR; - txAudioThread = Q_NULLPTR; - } - emit haveNetworkStatus(QString("")); } diff --git a/udpserver.h b/udpserver.h index 4da37de..253e491 100644 --- a/udpserver.h +++ b/udpserver.h @@ -60,11 +60,11 @@ class udpServer : public QObject Q_OBJECT public: - udpServer(SERVERCONFIG config,audioSetup outAudio, audioSetup inAudio); + udpServer(); ~udpServer(); public slots: - void init(); + void init(SERVERCONFIG sc, audioSetup ai, audioSetup ao); void dataForServer(QByteArray); void receiveAudioData(const audioPacket &data); void receiveRigCaps(rigCapabilities caps); diff --git a/wfmain.cpp b/wfmain.cpp index efdec3e..bbe4923 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -964,13 +964,13 @@ void wfmain::setServerToPrefs() if (serverConfig.enabled) { serverConfig.lan = prefs.enableLAN; - udp = new udpServer(serverConfig,serverTxSetup,serverRxSetup); + udp = new udpServer(); serverThread = new QThread(this); udp->moveToThread(serverThread); - connect(this, SIGNAL(initServer()), udp, SLOT(init())); + connect(this, SIGNAL(initServer(SERVERCONFIG, audioSetup, audioSetup)), udp, SLOT(init(SERVERCONFIG, audioSetup, audioSetup))); connect(serverThread, SIGNAL(finished()), udp, SLOT(deleteLater())); if (!prefs.enableLAN && udp != Q_NULLPTR) { @@ -979,7 +979,7 @@ void wfmain::setServerToPrefs() serverThread->start(); - emit initServer(); + emit initServer(serverConfig, serverTxSetup, serverRxSetup); connect(this, SIGNAL(sendRigCaps(rigCapabilities)), udp, SLOT(receiveRigCaps(rigCapabilities))); ui->statusBar->showMessage(QString("Server enabled"), 1000); @@ -1638,8 +1638,7 @@ void wfmain::loadSettings() } ui->serverRXAudioInputCombo->blockSignals(false); - serverRxSetup.resampleQuality = settings->value("ResampleQuality", "4").toInt(); - serverRxSetup.resampleQuality = rxSetup.resampleQuality; + serverTxSetup.resampleQuality = settings->value("ResampleQuality", "4").toInt(); ui->serverTXAudioOutputCombo->blockSignals(true); serverTxSetup.name = settings->value("ServerAudioOutput", "").toString(); @@ -1659,7 +1658,6 @@ void wfmain::loadSettings() ui->serverTXAudioOutputCombo->blockSignals(false); serverTxSetup.resampleQuality = settings->value("ResampleQuality", "4").toInt(); - serverTxSetup.resampleQuality = rxSetup.resampleQuality; int row = 0; ui->serverUsersTable->setRowCount(0); diff --git a/wfmain.h b/wfmain.h index 498b6fe..b1b23c0 100644 --- a/wfmain.h +++ b/wfmain.h @@ -162,7 +162,7 @@ signals: void sendCommSetup(unsigned char rigCivAddr, udpPreferences prefs, audioSetup rxSetup, audioSetup txSetup, QString vsp); void sendCloseComm(); void sendChangeLatency(quint16 latency); - void initServer(); + void initServer(SERVERCONFIG sc, audioSetup ai, audioSetup ao); void sendRigCaps(rigCapabilities caps); void requestRigState(); void stateUpdated();