4#ifndef QQNXSNDHELPERS_P_H
5#define QQNXSNDHELPERS_P_H
18#include <alsa/asoundlib.h>
20#include <QtCore/qbytearray.h>
21#include <QtCore/qloggingcategory.h>
22#include <QtMultimedia/qaudioformat.h>
23#include <QtMultimedia/private/qaudiohelpers_p.h>
68 void close()
noexcept;
69 void wake()
const noexcept;
70 void drain()
const noexcept;
72 int readFd()
const noexcept {
return m_fds[0]; }
73 bool isOpen()
const noexcept {
return m_fds[0] >= 0; }
76 int m_fds[2] = { -1, -1 };
93 snd_device_name_free_hint(h);
bool isOpen() const noexcept
void drain() const noexcept
int readFd() const noexcept
void waitForWake() const noexcept
void wake() const noexcept
QAudioDevicePrivate::AudioDeviceFormat defaultDeviceFormat(QAudioDevice::Mode mode)
QAudioDevicePrivate::AudioDeviceFormat probeDeviceFormat(const QByteArray &dev, QAudioDevice::Mode mode)
constexpr unsigned kDefaultPeriodCount
void setWorkerRealtimePriority(const QLoggingCategory &category)
constexpr unsigned kMaxPeriodCount
constexpr int kDefaultWorkerPriority
int startPcm(snd_pcm_t *handle)
snd_pcm_format_t mapSampleFormat(QAudioFormat::SampleFormat) noexcept
constexpr int kSuspendResumeRetryLimit
constexpr snd_pcm_uframes_t kDefaultPeriodFrames
int recoverFromXrun(snd_pcm_t *handle, int err)
constexpr int kMaxWorkerPriority
PollOutcome pollPcm(snd_pcm_t *handle, const WakePipe &wake)
std::unique_ptr< void *, HintsDeleter > HintsGuard
constexpr unsigned kMinPeriodCount
constexpr std::chrono::milliseconds kSuspendResumeRetryDelay
constexpr int kMinWorkerPriority
PcmOpenResult openConfiguredPcm(const PcmOpenConfig &config)
QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcQIORing)
void operator()(void **h) const noexcept
std::optional< uint32_t > periodFrames
snd_pcm_stream_t direction
const QLoggingCategory & category
const char * periodCountEnvVar
operator bool() const noexcept
snd_pcm_uframes_t bufferFrames
snd_pcm_uframes_t periodFrames
QAudioHelperInternal::NativeSampleFormat nativeFormat