From e76bbbbca3e0ab7a02ecba3f6f6fdc23b24a7d71 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 13 Oct 2019 15:27:40 +0200 Subject: [PATCH] [AFV] Ref T730, COutput always needs a parent (threading) and minor adjustments --- src/blackcore/afv/audio/output.cpp | 10 ++++++++-- src/blackcore/afv/audio/output.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/blackcore/afv/audio/output.cpp b/src/blackcore/afv/audio/output.cpp index 7b2e530bc..86dc06fe2 100644 --- a/src/blackcore/afv/audio/output.cpp +++ b/src/blackcore/afv/audio/output.cpp @@ -103,7 +103,10 @@ namespace BlackCore outputFormat.setByteOrder(QAudioFormat::LittleEndian); outputFormat.setCodec("audio/pcm"); + const QString format = toQString(outputFormat); const QAudioDeviceInfo selectedDevice = getLowestLatencyDevice(outputDevice, outputFormat); + CLogMessage(this).info(u"Starting: '%1' with: %2") << selectedDevice.deviceName() << format; + m_audioOutputCom.reset(new QAudioOutput(selectedDevice, outputFormat)); m_audioOutputBuffer->open(QIODevice::ReadWrite | QIODevice::Unbuffered); m_audioOutputBuffer->setAudioFormat(outputFormat); @@ -118,8 +121,11 @@ namespace BlackCore m_started = false; m_audioOutputCom->stop(); m_audioOutputCom.reset(); - m_audioOutputBuffer->deleteLater(); - m_audioOutputBuffer = nullptr; + if (m_audioOutputBuffer) + { + m_audioOutputBuffer->deleteLater(); + m_audioOutputBuffer = nullptr; + } } } // ns } // ns diff --git a/src/blackcore/afv/audio/output.h b/src/blackcore/afv/audio/output.h index df3202790..85075ffea 100644 --- a/src/blackcore/afv/audio/output.h +++ b/src/blackcore/afv/audio/output.h @@ -38,7 +38,7 @@ namespace BlackCore public: //! Ctor - CAudioOutputBuffer(BlackSound::SampleProvider::ISampleProvider *sampleProvider, QObject *parent = nullptr); + CAudioOutputBuffer(BlackSound::SampleProvider::ISampleProvider *sampleProvider, QObject *parent); //! Set the format void setAudioFormat(const QAudioFormat &format) { m_outputFormat = format; }