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
qqnxaudiosource_p.h
Go to the documentation of this file.
1
// Copyright (C) 2016 Research In Motion
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QNXAUDIOINPUT_H
5
#
define
QNXAUDIOINPUT_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 purely as an
12
// implementation detail. 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
"private/qaudiosystem_p.h"
19
20
#
include
"qqnxaudioutils_p.h"
21
22
#
include
<
QSocketNotifier
>
23
#
include
<
QIODevice
>
24
#
include
<
QElapsedTimer
>
25
#
include
<
QTimer
>
26
27
#
include
<
sys
/
asoundlib
.
h
>
28
29
QT_BEGIN_NAMESPACE
30
31
class
QQnxAudioSource
:
public
QPlatformAudioSource
32
{
33
Q_OBJECT
34
35
public
:
36
explicit
QQnxAudioSource
(
QAudioDevice
deviceInfo
,
const
QAudioFormat
&,
QObject
*
parent
);
37
~
QQnxAudioSource
();
38
39
void
start
(QIODevice*)
override
;
40
QIODevice
*
start
()
override
;
41
void
stop
()
override
;
42
void
reset
()
override
;
43
void
suspend
()
override
;
44
void
resume
()
override
;
45
qsizetype
bytesReady
()
const
override
;
46
void
setBufferSize
(
qsizetype
)
override
;
47
qsizetype
bufferSize
()
const
override
;
48
qint64
processedUSecs
()
const
override
;
49
QAudio
::
State
state
()
const
override
;
50
51
private
Q_SLOTS
:
52
void
userFeed
();
53
bool
deviceReady();
54
55
private
:
56
friend
class
InputPrivate
;
57
58
bool
open();
59
void
close();
60
qint64 read(
char
*data, qint64 len);
61
void
changeState(
QAudio
::
State
state,
QAudio
::
Error
error);
62
63
QIODevice *m_audioSource;
64
QnxAudioUtils
::
HandleUniquePtr
m_pcmHandle;
65
QSocketNotifier *m_pcmNotifier;
66
67
QAudio
::
State
m_state;
68
69
qint64 m_bytesRead;
70
qint64 m_elapsedTimeOffset;
71
qint64 m_totalTimeValue;
72
73
int
m_bytesAvailable;
74
int
m_bufferSize;
75
int
m_periodSize;
76
77
bool
m_pullMode;
78
};
79
80
class
InputPrivate
:
public
QIODevice
81
{
82
Q_OBJECT
83
public
:
84
InputPrivate
(
QQnxAudioSource
*
audio
);
85
86
qint64
readData
(
char
*data, qint64 len)
override
;
87
qint64
writeData
(
const
char
*data, qint64 len)
override
;
88
89
qint64
bytesAvailable
()
const
override
;
90
91
bool
isSequential
()
const
override
;
92
93
void
trigger
();
94
95
private
:
96
QQnxAudioSource
*m_audioDevice;
97
};
98
99
QT_END_NAMESPACE
100
101
#
endif
InputPrivate
Definition
qqnxaudiosource_p.h:81
InputPrivate::isSequential
bool isSequential() const override
Returns true if this device is sequential; otherwise returns false.
Definition
qqnxaudiosource.cpp:326
InputPrivate::writeData
qint64 writeData(const char *data, qint64 len) override
Writes up to maxSize bytes from data to the device.
Definition
qqnxaudiosource.cpp:314
InputPrivate::trigger
void trigger()
Definition
qqnxaudiosource.cpp:331
InputPrivate::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
qqnxaudiosource.cpp:309
InputPrivate::bytesAvailable
qint64 bytesAvailable() const override
Returns the number of bytes that are available for reading.
Definition
qqnxaudiosource.cpp:321
QDir
\inmodule QtCore
Definition
qdir.h:22
QQnxAudioDevices
Definition
qqnxaudiodevices_p.h:25
QQnxAudioDevices::QQnxAudioDevices
QQnxAudioDevices()
Definition
qqnxaudiodevices.cpp:44
QQnxAudioDevices::createAudioSink
QPlatformAudioSink * createAudioSink(const QAudioDevice &, const QAudioFormat &, QObject *parent) override
Definition
qqnxaudiodevices.cpp:66
QQnxAudioDevices::findAudioInputs
QList< QAudioDevice > findAudioInputs() const override
Definition
qqnxaudiodevices.cpp:49
QQnxAudioDevices::findAudioOutputs
QList< QAudioDevice > findAudioOutputs() const override
Definition
qqnxaudiodevices.cpp:54
QQnxAudioDevices::createAudioSource
QPlatformAudioSource * createAudioSource(const QAudioDevice &, const QAudioFormat &, QObject *parent) override
Definition
qqnxaudiodevices.cpp:59
QQnxAudioDevices::backendName
QLatin1String backendName() const override
Definition
qqnxaudiodevices_p.h:34
QQnxAudioSink
Definition
qqnxaudiosink_p.h:35
QQnxAudioSource
Definition
qqnxaudiosource_p.h:32
QQnxAudioSource::suspend
void suspend() override
Definition
qqnxaudiosource.cpp:88
QQnxAudioSource::bytesReady
qsizetype bytesReady() const override
Definition
qqnxaudiosource.cpp:117
QQnxAudioSource::state
QAudio::State state() const override
Definition
qqnxaudiosource.cpp:137
QQnxAudioSource::start
QIODevice * start() override
Definition
qqnxaudiosource.cpp:49
QQnxAudioSource::resume
void resume() override
Definition
qqnxaudiosource.cpp:101
QQnxAudioSource::setBufferSize
void setBufferSize(qsizetype) override
Definition
qqnxaudiosource.cpp:122
QQnxAudioSource::stop
void stop() override
Definition
qqnxaudiosource.cpp:73
QQnxAudioSource::bufferSize
qsizetype bufferSize() const override
Definition
qqnxaudiosource.cpp:127
QQnxAudioSource::~QQnxAudioSource
~QQnxAudioSource()
Definition
qqnxaudiosource.cpp:27
QQnxAudioSource::reset
void reset() override
Definition
qqnxaudiosource.cpp:82
QQnxAudioSource::processedUSecs
qint64 processedUSecs() const override
Definition
qqnxaudiosource.cpp:132
QQnxAudioSource::start
void start(QIODevice *) override
Definition
qqnxaudiosource.cpp:32
QAudio
Definition
qaudio.h:21
QAudio::State
State
Definition
qaudio.h:32
QAudio::Error
Error
Definition
qaudio.h:23
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QnxAudioUtils
Definition
qqnxaudioutils_p.h:29
QnxAudioUtils::HandleUniquePtr
std::unique_ptr< snd_pcm_t, HandleDeleter > HandleUniquePtr
Definition
qqnxaudioutils_p.h:37
enumeratePcmDevices
static QT_BEGIN_NAMESPACE QList< QAudioDevice > enumeratePcmDevices(QAudioDevice::Mode mode)
Definition
qqnxaudiodevices.cpp:18
qtmultimedia
src
multimedia
qnx
qqnxaudiosource_p.h
Generated on
for Qt by
1.18.0