From 1a1b7d06734ff8a1fd5aad5fd99a87f99f39e42e Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Thu, 4 Feb 2021 22:06:48 -0800 Subject: [PATCH] Adopted closing scheme for linux by default (may remove #ifdef soon). Changed default buffer size on receive audio to 6ksamples, which is 0.125 seconds. Added debug info for audio. --- udphandler.cpp | 30 +++++++++++++++++++++++++++++- wfmain.cpp | 5 +++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/udphandler.cpp b/udphandler.cpp index 1eadcf4..26ca8ee 100644 --- a/udphandler.cpp +++ b/udphandler.cpp @@ -474,12 +474,40 @@ udpAudio::udpAudio(QHostAddress local, QHostAddress ip, int aport) else { qDebug() << "Audio format not supported!"; + if(info.isNull()) + { + qDebug() << "No device was found. You probably need to install libqt5multimedia5-plugins."; + } else { + + qDebug() << "Devices found: "; + const auto deviceInfos = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput); + for (const QAudioDeviceInfo &deviceInfo : deviceInfos) + { + qDebug() << "Device name: " << deviceInfo.deviceName(); + qDebug() << deviceInfo.deviceName(); + qDebug() << "is null (probably not good):"; + qDebug() << deviceInfo.isNull(); + qDebug() << "channel count:"; + qDebug() << deviceInfo.supportedChannelCounts(); + qDebug() << "byte order:"; + qDebug() << deviceInfo.supportedByteOrders(); + qDebug() << "supported codecs:"; + qDebug() << deviceInfo.supportedCodecs(); + qDebug() << "sample rates:"; + qDebug() << deviceInfo.supportedSampleRates(); + qDebug() << "sample sizes:"; + qDebug() << deviceInfo.supportedSampleSizes(); + qDebug() << "sample types:"; + qDebug() << deviceInfo.supportedSampleTypes(); + } + } + qDebug() << "----- done with audio info -----"; } buffer = new QBuffer(); buffer->open(QIODevice::ReadWrite); audio = new QAudioOutput(format); - + audio->setBufferSize(6000); // TODO: add preference, maybe UI too. buffer->seek(0); audio->start(buffer); diff --git a/wfmain.cpp b/wfmain.cpp index 5d7ceeb..11d8de2 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -362,6 +362,11 @@ wfmain::~wfmain() delete rig; rigThread->quit(); rigThread->wait(); +#endif +#ifdef Q_OS_LINUX + delete rig; + rigThread->quit(); + rigThread->wait(); #endif delete ui; }