30class QOhosAudioSourceStream
final :
public QtMultimediaPrivate::QPlatformAudioSourceStream
32 using QPlatformAudioSourceStream = QtMultimediaPrivate::QPlatformAudioSourceStream;
36 std::optional<
int> ringbufferSize,
37 QOhosAudioSource *parent,
float volume,
38 std::optional<QtMultimediaPrivate::NativePeriodFrames> hardwareBufferFrames);
39 Q_DISABLE_COPY_MOVE(QOhosAudioSourceStream)
40 ~QOhosAudioSourceStream() =
default;
44 bool start(QIODevice *);
46 bool start(AudioCallback &&);
52 using QPlatformAudioSourceStream::bytesReady;
53 using QPlatformAudioSourceStream::deviceIsRingbufferReader;
54 using QPlatformAudioSourceStream::processedDuration;
55 using QPlatformAudioSourceStream::ringbufferSizeInBytes;
56 using QPlatformAudioSourceStream::setVolume;
61 QSpan<
const std::byte> getHostSpan(
void *audioData,
62 int32_t numBytes)
const noexcept Q_DECL_NONBLOCKING_FUNCTION;
63 int32_t processRingbuffer(QSpan<
const std::byte> audioSpan,
64 int32_t numBytes)
noexcept Q_DECL_NONBLOCKING_FUNCTION;
65 int32_t processCallback(QSpan<
const std::byte> audioSpan)
noexcept Q_DECL_NONBLOCKING_FUNCTION;
67 QOhosAudioSource *m_parent;
68 std::optional<AudioCallback> m_audioCallback;
69 std::unique_ptr<QtOHAudio::Stream> m_stream;
70 std::optional<QAudioFormat> m_hostFormat;
73class QOhosAudioSource
final
74 :
public QtMultimediaPrivate::QPlatformAudioSourceImplementationWithCallback<
75 QOhosAudioSourceStream, QOhosAudioSource>
77 using BaseClass = QtMultimediaPrivate::QPlatformAudioSourceImplementationWithCallback<
78 QOhosAudioSourceStream, QOhosAudioSource>;
81 QOhosAudioSource(QAudioDevice device,
const QAudioFormat &format, QObject *parent);
QOhosAudioSinkStream(QAudioDevice device, const QAudioFormat &format, std::optional< qsizetype > ringbufferSize, QOhosAudioSink *parent, float volume, std::optional< QtMultimediaPrivate::NativePeriodFrames > hardwareBufferFrames, AudioEndpointRole role)
QOhosAudioSourceStream(QAudioDevice device, const QAudioFormat &format, std::optional< int > ringbufferSize, QOhosAudioSource *parent, float volume, std::optional< QtMultimediaPrivate::NativePeriodFrames > hardwareBufferFrames)