18 return sendMediaFrame(
19 [&]() { emit m_platfromAudioBufferInput->newAudioBuffer(audioBuffer); });
24 m_platfromAudioBufferInput = std::make_unique<QPlatformAudioBufferInput>(format);
25 addUpdateSignal(m_platfromAudioBufferInput.get(),
26 &QPlatformAudioBufferInput::encoderUpdated);
31 m_platfromAudioBufferInput.reset();
37 QMediaCaptureSession *
session()
const {
return m_captureSession; }
41 return m_platfromAudioBufferInput.get();
46 QMediaCaptureSession *newSession)
override
49 removeUpdateSignal(prevSession, &QMediaCaptureSession::audioOutputChanged);
52 addUpdateSignal(newSession, &QMediaCaptureSession::audioOutputChanged);
57 if (
auto encoderInterface = m_platfromAudioBufferInput->encoderInterface())
58 return encoderInterface->canPushFrame();
68 QAudioBufferInput *q =
nullptr;
69 QMediaCaptureSession *m_captureSession =
nullptr;
70 std::unique_ptr<QPlatformAudioBufferInput> m_platfromAudioBufferInput;
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
104
105
106QAudioBufferInput::QAudioBufferInput(QObject *parent) : QAudioBufferInput({}, parent) { }
109
110
111
112
113
114
115
116
117
118
119QAudioBufferInput::QAudioBufferInput(
const QAudioFormat &format, QObject *parent)
120 : QObject(*
new QAudioBufferInputPrivate(
this), parent)
122 Q_D(QAudioBufferInput);
123 d->initialize(format);
127
128
129QAudioBufferInput::~QAudioBufferInput()
131 Q_D(QAudioBufferInput);
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151bool QAudioBufferInput::sendAudioBuffer(
const QAudioBuffer &audioBuffer)
153 Q_D(QAudioBufferInput);
154 return d->sendAudioBuffer(audioBuffer);
158
159
160QAudioFormat QAudioBufferInput::format()
const
162 Q_D(
const QAudioBufferInput);
163 return d->platfromAudioBufferInput()->audioFormat();
167
168
169
170
171
172
173QMediaCaptureSession *QAudioBufferInput::captureSession()
const
175 Q_D(
const QAudioBufferInput);
176 return d->captureSession();
179void QAudioBufferInput::setCaptureSession(QMediaCaptureSession *captureSession)
181 Q_D(QAudioBufferInput);
182 d->setCaptureSession(captureSession);
185QPlatformAudioBufferInput *QAudioBufferInput::platformAudioBufferInput()
const
187 Q_D(
const QAudioBufferInput);
188 return d->platfromAudioBufferInput();
192
193
194
195
196
197
198
199