Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qaudioengine_threaded_p.h
Go to the documentation of this file.
1
// Copyright (C) 2026 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-3.0-only
3
4
#
ifndef
QAUDIOENGINE_THREADED_P_H
5
#
define
QAUDIOENGINE_THREADED_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists for the convenience
12
// of other Qt classes. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
<
QtSpatialAudio
/
private
/
qaudioengine_p
.
h
>
19
#
include
<
QtSpatialAudio
/
private
/
qtspatialaudioglobal_p
.
h
>
20
#
include
<
QtMultimedia
/
qaudiodevice
.
h
>
21
#
include
<
QtCore
/
qmutex
.
h
>
22
#
include
<
QtCore
/
qthread
.
h
>
23
24
#
include
<
map
>
25
26
namespace
vraudio
{
27
class
ResonanceAudio;
28
}
// namespace vraudio
29
30
QT_BEGIN_NAMESPACE
31
32
class
QAudioOutputStream;
33
class
QAudioRoom;
34
class
QAudioListener;
35
36
namespace
QSpatialAudioPrivate
{
37
class
QSpatialAudioPlaybackState
;
38
}
// namespace QSpatialAudioPrivate
39
40
class
QAudioEngineThreaded
final
:
public
QAudioEnginePrivate
41
{
42
public
:
43
explicit
QAudioEngineThreaded
(
int
sampleRate);
44
Q_DISABLE_COPY_MOVE
(
QAudioEngineThreaded
)
45
~
QAudioEngineThreaded
()
override
;
46
47
void
start
()
override
;
48
void
stop
()
override
;
49
void
setPaused
(
bool
paused)
override
;
50
bool
isPaused
()
const
override
;
51
void
setOutputDevice
(
const
QAudioDevice &device)
override
;
52
QAudioDevice
outputDevice
()
const
override
{
return
m_device; }
53
54
void
addSound
(QSpatialAudioSoundPrivate *)
override
;
55
void
removeSound
(QSpatialAudioSoundPrivate *)
override
;
56
57
using
SharedPlaybackState
=
std
::
shared_ptr
<
QSpatialAudioPrivate
::
QSpatialAudioPlaybackState
>;
58
void
setSoundPlaybackData
(QSpatialAudioSoundPrivate *,
SharedPlaybackState
)
override
;
59
60
void
updateRoomEffects
()
override
;
61
62
private
:
63
friend
class
QAudioOutputStream
;
64
65
QMutex mutex;
66
QAudioDevice m_device;
67
QAtomicInteger<
bool
> m_paused =
false
;
68
69
QThread audioThread;
70
std::unique_ptr<QAudioOutputStream> outputStream;
71
72
std::map<QSpatialAudioSoundPrivate *, SharedPlaybackState> playbackStates;
73
};
74
75
QT_END_NAMESPACE
76
77
#
endif
QAudioEngineThreaded::outputDevice
QAudioDevice outputDevice() const override
Definition
qaudioengine_threaded_p.h:52
QAudioEngineThreaded::stop
void stop() override
Definition
qaudioengine_threaded.cpp:245
QAudioEngineThreaded::SharedPlaybackState
std::shared_ptr< QSpatialAudioPrivate::QSpatialAudioPlaybackState > SharedPlaybackState
Definition
qaudioengine_threaded_p.h:57
QAudioEngineThreaded::updateRoomEffects
void updateRoomEffects() override
Definition
qaudioengine_threaded.cpp:308
QAudioEngineThreaded::setPaused
void setPaused(bool paused) override
Definition
qaudioengine_threaded.cpp:257
QAudioEngineThreaded::setOutputDevice
void setOutputDevice(const QAudioDevice &device) override
Definition
qaudioengine_threaded.cpp:276
QAudioEngineThreaded::QAudioEngineThreaded
QAudioEngineThreaded(int sampleRate)
Definition
qaudioengine_threaded.cpp:222
QAudioEngineThreaded::isPaused
bool isPaused() const override
Definition
qaudioengine_threaded.cpp:271
QAudioEngineThreaded::addSound
void addSound(QSpatialAudioSoundPrivate *) override
Definition
qaudioengine_threaded.cpp:289
QAudioEngineThreaded::start
void start() override
Definition
qaudioengine_threaded.cpp:233
QAudioEngineThreaded::setSoundPlaybackData
void setSoundPlaybackData(QSpatialAudioSoundPrivate *, SharedPlaybackState) override
Definition
qaudioengine_threaded.cpp:301
QAudioEngineThreaded::removeSound
void removeSound(QSpatialAudioSoundPrivate *) override
Definition
qaudioengine_threaded.cpp:295
QAudioOutputStream
Definition
qaudioengine_threaded.cpp:37
QAudioOutputStream::startOutput
void startOutput()
Definition
qaudioengine_threaded.cpp:60
QAudioOutputStream::setPaused
void setPaused(bool paused)
Definition
qaudioengine_threaded.cpp:102
QAudioOutputStream::readData
qint64 readData(char *data, qint64 len) override
Reads up to maxSize bytes from the device into data, and returns the number of bytes read or -1 if an...
Definition
qaudioengine_threaded.cpp:124
QAudioOutputStream::atEnd
bool atEnd() const override
Returns true if the current read and write position is at the end of the device (i....
Definition
qaudioengine_threaded.cpp:53
QAudioOutputStream::~QAudioOutputStream
~QAudioOutputStream() override
QAudioOutputStream::stopOutput
void stopOutput()
Definition
qaudioengine_threaded.cpp:93
QAudioOutputStream::pos
qint64 pos() const override
For random-access devices, this function returns the position that data is written to or read from.
Definition
qaudioengine_threaded.cpp:56
QAudioOutputStream::QAudioOutputStream
QAudioOutputStream(QAudioEngineThreaded *d)
Definition
qaudioengine_threaded.cpp:39
QAudioOutputStream::isSequential
bool isSequential() const override
Returns true if this device is sequential; otherwise returns false.
Definition
qaudioengine_threaded.cpp:50
QAudioOutputStream::bytesAvailable
qint64 bytesAvailable() const override
Returns the number of bytes that are available for reading.
Definition
qaudioengine_threaded.cpp:47
QAudioOutputStream::writeData
qint64 writeData(const char *, qint64) override
Writes up to maxSize bytes from data to the device.
Definition
qaudioengine_threaded.cpp:118
QAudioOutputStream::size
qint64 size() const override
For open random-access devices, this function returns the size of the device.
Definition
qaudioengine_threaded.cpp:46
QSpatialAudioPrivate::QSpatialAudioPlaybackState
Definition
qspatialaudiosound_p.h:43
QSpatialAudioPrivate
Definition
qaudioengine_p.h:31
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
vraudio
Definition
resonance_audio.cpp:7
bufferTimeMs
QT_BEGIN_NAMESPACE const int bufferTimeMs
Definition
qaudioengine_threaded.cpp:32
qtmultimedia
src
spatialaudio
qaudioengine_threaded_p.h
Generated on
for Qt by
1.18.0