6#include <QtMultimedia/private/qmediaframeinput_p.h>
7#include <QtMultimedia/private/qmediainputencoderinterface_p.h>
8#include <QtMultimedia/private/qplatformaudiobufferinput_p.h>
19 return sendMediaFrame(
20 [&]() { emit m_platfromAudioBufferInput->newAudioBuffer(audioBuffer); });
25 m_platfromAudioBufferInput = std::make_unique<QPlatformAudioBufferInput>(format);
26 addUpdateSignal(m_platfromAudioBufferInput.get(),
27 &QPlatformAudioBufferInput::encoderUpdated);
32 m_platfromAudioBufferInput.reset();
35 captureSession()->setAudioBufferInput(
nullptr);
42 return m_platfromAudioBufferInput.get();
50 removeUpdateSignal(prevSession, &QMediaCaptureSession::audioOutputChanged);
53 addUpdateSignal(newSession, &QMediaCaptureSession::audioOutputChanged);
58 if (
auto encoderInterface = m_platfromAudioBufferInput->encoderInterface())
59 return encoderInterface->canPushFrame();
69 QAudioBufferInput *q =
nullptr;
71 std::unique_ptr<QPlatformAudioBufferInput> m_platfromAudioBufferInput;
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
100
101
102QAudioBufferInput::QAudioBufferInput(QObject *parent) : QAudioBufferInput({}, parent) { }
105
106
107
108
109
110
111
112
113
114
115QAudioBufferInput::QAudioBufferInput(
const QAudioFormat &format, QObject *parent)
116 : QObject(*
new QAudioBufferInputPrivate(
this), parent)
118 Q_D(QAudioBufferInput);
119 d->initialize(format);
123
124
125QAudioBufferInput::~QAudioBufferInput()
127 Q_D(QAudioBufferInput);
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147bool QAudioBufferInput::sendAudioBuffer(
const QAudioBuffer &audioBuffer)
149 Q_D(QAudioBufferInput);
150 return d->sendAudioBuffer(audioBuffer);
154
155
156QAudioFormat QAudioBufferInput::format()
const
158 Q_D(
const QAudioBufferInput);
159 return d->platfromAudioBufferInput()->audioFormat();
163
164
165
166
167
168
169QMediaCaptureSession *QAudioBufferInput::captureSession()
const
171 Q_D(
const QAudioBufferInput);
172 return d->captureSession();
175void QAudioBufferInput::setCaptureSession(QMediaCaptureSession *captureSession)
177 Q_D(QAudioBufferInput);
178 d->setCaptureSession(captureSession);
181QPlatformAudioBufferInput *QAudioBufferInput::platformAudioBufferInput()
const
183 Q_D(
const QAudioBufferInput);
184 return d->platfromAudioBufferInput();
188
189
190
191
192
193
194
195
Combined button and popup list for selecting options.