4#ifndef QCOREAUDIOUTILS_P_H
5#define QCOREAUDIOUTILS_P_H
18#include <AudioUnit/AudioUnit.h>
19#include <QtCore/qglobal.h>
20#include <QtCore/qpromise.h>
21#include <QtCore/qfuture.h>
22#include <QtCore/qspan.h>
23#include <QtCore/private/quniquehandle_p.h>
24#include <QtMultimedia/qaudioformat.h>
25#include <QtMultimedia/qaudiodevice.h>
27#include <CoreAudioTypes/CoreAudioTypes.h>
29# include <CoreAudio/AudioHardwareBase.h>
82 static bool close(Type handle) {
return AudioComponentInstanceDispose(handle) == noErr; }
105 const AudioStreamBasicDescription &);
107 const AudioStreamBasicDescription &);
116#if defined(Q_OS_MACOS)
std::optional< AudioStreamBasicDescription > audioUnitGetInputStreamFormat(AudioUnitHandle &audioUnit, AudioUnitElement element)
QAudioFormat::AudioChannelPosition pos
bool audioUnitIsRunning(AudioUnitHandle &audioUnit)
AudioStreamBasicDescription toAudioStreamBasicDescription(QAudioFormat const &audioFormat)
QAudioFormat::ChannelConfig fromAudioChannelLayout(const AudioChannelLayout *layout)
std::optional< int > audioUnitGetFramesPerSlice(AudioUnitHandle &audioUnit)
bool audioUnitSetInputEnabled(AudioUnitHandle &audioUnit, bool enabled)
bool audioUnitSetInputStreamFormat(AudioUnitHandle &audioUnit, AudioUnitElement element, const AudioStreamBasicDescription &format)
std::unique_ptr< AudioChannelLayout, QFreeDeleter > toAudioChannelLayout(const QAudioFormat &format, UInt32 *size)
AudioChannelLayoutTag tag
bool audioUnitSetRenderCallback(AudioUnitHandle &audioUnit, AURenderCallbackStruct &callback)
QAudioFormat::ChannelConfig channelConfig
bool audioUnitSetOutputStreamFormat(AudioUnitHandle &audioUnit, AudioUnitElement element, const AudioStreamBasicDescription &format)
bool audioUnitSetOutputEnabled(AudioUnitHandle &audioUnit, bool enabled)
QAudioFormat toQAudioFormat(AudioStreamBasicDescription const &sf)
std::optional< AudioUnitHandle > makeAudioUnitForIO()
static Type invalidValue()
static bool close(Type handle)
AudioUnitHandle(AudioUnitHandle &&)=default
bool isInitialized() const
AudioUnitHandle & operator=(AudioUnitHandle &&)=default