6#include <QtCore/qcoreapplication.h>
7#include <QtCore/qdebug.h>
8#include <QtCore/qmutex.h>
9#include <QtCore/qthread.h>
11#include <QtMultimedia/private/qaudio_rtsan_support_p.h>
12#include <QtMultimedia/private/qaudiosystem_p.h>
13#include <QtMultimedia/private/qmemory_resource_tlsf_p.h>
15#include <QtCore/q20map.h>
21QT_WARNING_DISABLE_GCC(
"-Wmaybe-uninitialized")
29using namespace std::chrono_literals;
34struct AudioDeviceFormatLess
36 bool operator()(
const std::pair<QAudioDevice, QAudioFormat> &lhs,
37 const std::pair<QAudioDevice, QAudioFormat> &rhs)
const
39 auto cmp = qCompareThreeWay(lhs.first.id(), rhs.first.id());
40 if (cmp == Qt::strong_ordering::less)
42 if (cmp == Qt::strong_ordering::greater)
45 return std::tuple(lhs.second.sampleRate(), lhs.second.sampleFormat(),
46 lhs.second.channelCount())
47 <
std::tuple(rhs.second.sampleRate(), rhs.second.sampleFormat(),
48 rhs.second.channelCount());
57 qWarning() <<
"QRtAudioEngine needs to be called with a valid device";
62 qWarning() <<
"QRtAudioEngine requires floating point samples";
67 qWarning() <<
"QRtAudioEngine needs to be called with a supported fromat";
244#if __cpp_lib_erase_if >= 202002L
445#include "moc_qrtaudioengine_p.cpp"