[AFV] Ref T730, COutput always needs a parent (threading) and minor adjustments

This commit is contained in:
Klaus Basan
2019-10-13 15:27:40 +02:00
parent f4b22b839a
commit e76bbbbca3
2 changed files with 9 additions and 3 deletions

View File

@@ -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

View File

@@ -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; }