LeviLamina
Loading...
Searching...
No Matches
AudioProcessing.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/RefCountInterface.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class AecDump; }
11namespace webrtc { class ProcessingConfig; }
12namespace webrtc { class StreamConfig; }
13namespace webrtc { class TaskQueueBase; }
14namespace webrtc { struct AudioProcessingStats; }
15// clang-format on
16
17namespace webrtc {
18
20public:
21 // AudioProcessing inner types declare
22 // clang-format off
23 struct Config;
24 class RuntimeSetting;
25 // clang-format on
26
27 // AudioProcessing inner types define
28 struct Config {
29 public:
30 // Config inner types declare
31 // clang-format off
33 struct EchoCanceller;
34 struct GainController1;
35 struct GainController2;
36 struct HighPassFilter;
37 struct NoiseSuppression;
38 struct Pipeline;
39 struct PreAmplifier;
41 // clang-format on
42
43 // Config inner types define
44 struct Pipeline {
45 public:
46 // Pipeline inner types define
47 enum class DownmixMethod : int {
48 KAverageChannels = 0,
49 KUseFirstChannel = 1,
50 };
51
52 public:
53 // member variables
54 // NOLINTBEGIN
59 // NOLINTEND
60
61 public:
62 // prevent constructor by default
63 Pipeline& operator=(Pipeline const&);
64 Pipeline(Pipeline const&);
65 Pipeline();
66 };
67
68 struct PreAmplifier {
69 public:
70 // member variables
71 // NOLINTBEGIN
74 // NOLINTEND
75
76 public:
77 // prevent constructor by default
78 PreAmplifier& operator=(PreAmplifier const&);
81 };
82
84 public:
85 // CaptureLevelAdjustment inner types declare
86 // clang-format off
88 // clang-format on
89
90 // CaptureLevelAdjustment inner types define
92 public:
93 // member variables
94 // NOLINTBEGIN
97 // NOLINTEND
98
99 public:
100 // prevent constructor by default
104 };
105
106 public:
107 // member variables
108 // NOLINTBEGIN
113 // NOLINTEND
114
115 public:
116 // prevent constructor by default
120 };
121
123 public:
124 // member variables
125 // NOLINTBEGIN
128 // NOLINTEND
129
130 public:
131 // prevent constructor by default
132 HighPassFilter& operator=(HighPassFilter const&);
135 };
136
138 public:
139 // member variables
140 // NOLINTBEGIN
145 // NOLINTEND
146
147 public:
148 // prevent constructor by default
149 EchoCanceller& operator=(EchoCanceller const&);
152 };
153
155 public:
156 // NoiseSuppression inner types define
157 enum class Level : int {
158 KLow = 0,
159 KModerate = 1,
160 KHigh = 2,
161 KVeryHigh = 3,
162 };
163
164 public:
165 // member variables
166 // NOLINTBEGIN
170 // NOLINTEND
171
172 public:
173 // prevent constructor by default
174 NoiseSuppression& operator=(NoiseSuppression const&);
177 };
178
180 public:
181 // member variables
182 // NOLINTBEGIN
184 // NOLINTEND
185
186 public:
187 // prevent constructor by default
191 };
192
194 public:
195 // GainController1 inner types declare
196 // clang-format off
198 // clang-format on
199
200 // GainController1 inner types define
201 enum class Mode : int {
202 KAdaptiveAnalog = 0,
203 KAdaptiveDigital = 1,
204 KFixedDigital = 2,
205 };
206
208 public:
209 // AnalogGainController inner types declare
210 // clang-format off
211 struct ClippingPredictor;
212 // clang-format on
213
214 // AnalogGainController inner types define
216 public:
217 // ClippingPredictor inner types define
218 enum class Mode : int {
219 KClippingEventPrediction = 0,
220 KAdaptiveStepClippingPeakPrediction = 1,
221 KFixedStepClippingPeakPrediction = 2,
222 };
223
224 public:
225 // member variables
226 // NOLINTBEGIN
235 // NOLINTEND
236
237 public:
238 // prevent constructor by default
239 ClippingPredictor& operator=(ClippingPredictor const&);
242 };
243
244 public:
245 // member variables
246 // NOLINTBEGIN
255 // NOLINTEND
256
257 public:
258 // prevent constructor by default
262 };
263
264 public:
265 // member variables
266 // NOLINTBEGIN
273 // NOLINTEND
274
275 public:
276 // prevent constructor by default
277 GainController1& operator=(GainController1 const&);
280 };
281
283 public:
284 // GainController2 inner types declare
285 // clang-format off
286 struct AdaptiveDigital;
287 struct FixedDigital;
289 // clang-format on
290
291 // GainController2 inner types define
293 public:
294 // member variables
295 // NOLINTBEGIN
297 // NOLINTEND
298
299 public:
300 // prevent constructor by default
304 };
305
307 public:
308 // member variables
309 // NOLINTBEGIN
316 // NOLINTEND
317
318 public:
319 // prevent constructor by default
320 AdaptiveDigital& operator=(AdaptiveDigital const&);
323 };
324
326 public:
327 // member variables
328 // NOLINTBEGIN
330 // NOLINTEND
331
332 public:
333 // prevent constructor by default
334 FixedDigital& operator=(FixedDigital const&);
336 FixedDigital();
337 };
338
339 public:
340 // member variables
341 // NOLINTBEGIN
346 // NOLINTEND
347
348 public:
349 // prevent constructor by default
350 GainController2& operator=(GainController2 const&);
353 };
354
355 public:
356 // member variables
357 // NOLINTBEGIN
367 // NOLINTEND
368
369 public:
370 // prevent constructor by default
371 Config& operator=(Config const&);
372 Config(Config const&);
373 Config();
374 };
375
377 public:
378 // RuntimeSetting inner types declare
379 // clang-format off
381 // clang-format on
382
383 // RuntimeSetting inner types define
384 enum class Type : int {
385 KNotSpecified = 0,
386 KCapturePreGain = 1,
387 KCaptureCompressionGain = 2,
388 KCaptureFixedPostGain = 3,
389 KPlayoutVolumeChange = 4,
390 KCustomRenderProcessingRuntimeSetting = 5,
391 KPlayoutAudioDeviceChange = 6,
392 KCapturePostGain = 7,
393 KCaptureOutputUsed = 8,
394 };
395
397 public:
398 // member variables
399 // NOLINTBEGIN
402 // NOLINTEND
403
404 public:
405 // prevent constructor by default
409 };
410
411 union U {
412 public:
413 // member variables
414 // NOLINTBEGIN
419 // NOLINTEND
420 };
421
422 public:
423 // member variables
424 // NOLINTBEGIN
427 // NOLINTEND
428
429 public:
430 // prevent constructor by default
431 RuntimeSetting& operator=(RuntimeSetting const&);
434 };
435
436 enum class Error : int {
437 KNoError = 0,
438 KUnspecifiedError = -1,
439 KCreationFailedError = -2,
440 KUnsupportedComponentError = -3,
441 KUnsupportedFunctionError = -4,
442 KNullPointerError = -5,
443 KBadParameterError = -6,
444 KBadSampleRateError = -7,
445 KBadDataLengthError = -8,
446 KBadNumberChannelsError = -9,
447 KFileError = -10,
448 KStreamParameterNotSetError = -11,
449 KNotEnabledError = -12,
450 KBadStreamParameterWarning = -13,
451 };
452
453 enum class NativeRate : int {
454 KSampleRate8kHz = 8000,
455 KSampleRate16kHz = 16000,
456 KSampleRate32kHz = 32000,
457 KSampleRate48kHz = 48000,
458 };
459
460public:
461 // virtual functions
462 // NOLINTBEGIN
463 // vIndex: 2
464 virtual ~AudioProcessing() /*override*/ = default;
465
466 // vIndex: 4
467 virtual int Initialize() = 0;
468
469 // vIndex: 3
470 virtual int Initialize(::webrtc::ProcessingConfig const&) = 0;
471
472 // vIndex: 5
473 virtual void ApplyConfig(::webrtc::AudioProcessing::Config const&) = 0;
474
475 // vIndex: 6
476 virtual int proc_sample_rate_hz() const = 0;
477
478 // vIndex: 7
479 virtual int proc_split_sample_rate_hz() const = 0;
480
481 // vIndex: 8
482 virtual uint64 num_input_channels() const = 0;
483
484 // vIndex: 9
485 virtual uint64 num_proc_channels() const = 0;
486
487 // vIndex: 10
488 virtual uint64 num_output_channels() const = 0;
489
490 // vIndex: 11
491 virtual uint64 num_reverse_channels() const = 0;
492
493 // vIndex: 12
494 virtual void set_output_will_be_muted(bool) = 0;
495
496 // vIndex: 13
497 virtual void SetRuntimeSetting(::webrtc::AudioProcessing::RuntimeSetting) = 0;
498
499 // vIndex: 14
500 virtual bool PostRuntimeSetting(::webrtc::AudioProcessing::RuntimeSetting) = 0;
501
502 // vIndex: 16
503 virtual int
504 ProcessStream(short const* const, ::webrtc::StreamConfig const&, ::webrtc::StreamConfig const&, short* const) = 0;
505
506 // vIndex: 15
507 virtual int
508 ProcessStream(float const* const*, ::webrtc::StreamConfig const&, ::webrtc::StreamConfig const&, float* const*) = 0;
509
510 // vIndex: 18
511 virtual int ProcessReverseStream(
512 short const* const,
515 short* const
516 ) = 0;
517
518 // vIndex: 17
519 virtual int
520 ProcessReverseStream(float const* const*, ::webrtc::StreamConfig const&, ::webrtc::StreamConfig const&, float* const*) = 0;
521
522 // vIndex: 19
523 virtual int AnalyzeReverseStream(float const* const*, ::webrtc::StreamConfig const&) = 0;
524
525 // vIndex: 20
526 virtual bool GetLinearAecOutput(::rtc::ArrayView<::std::array<float, 160>>) const = 0;
527
528 // vIndex: 21
529 virtual void set_stream_analog_level(int) = 0;
530
531 // vIndex: 22
532 virtual int recommended_stream_analog_level() const = 0;
533
534 // vIndex: 23
535 virtual int set_stream_delay_ms(int) = 0;
536
537 // vIndex: 24
538 virtual int stream_delay_ms() const = 0;
539
540 // vIndex: 25
541 virtual void set_stream_key_pressed(bool) = 0;
542
543 // vIndex: 27
544 virtual bool CreateAndAttachAecDump(::std::string_view, int64, ::webrtc::TaskQueueBase*) = 0;
545
546 // vIndex: 26
547 virtual bool CreateAndAttachAecDump(::_iobuf*, int64, ::webrtc::TaskQueueBase*) = 0;
548
549 // vIndex: 28
550 virtual void AttachAecDump(::std::unique_ptr<::webrtc::AecDump>) = 0;
551
552 // vIndex: 29
553 virtual void DetachAecDump() = 0;
554
555 // vIndex: 31
556 virtual ::webrtc::AudioProcessingStats GetStatistics() = 0;
557
558 // vIndex: 30
559 virtual ::webrtc::AudioProcessingStats GetStatistics(bool) = 0;
560
561 // vIndex: 32
562 virtual ::webrtc::AudioProcessing::Config GetConfig() const = 0;
563 // NOLINTEND
564
565public:
566 // destructor thunk
567 // NOLINTBEGIN
568
569 // NOLINTEND
570
571public:
572 // virtual function thunks
573 // NOLINTBEGIN
574
575 // NOLINTEND
576};
577
578} // namespace webrtc
Definition Level.h:234
Definition _HeaderOutputPredefine.h:238
Definition AudioProcessing.h:376
Definition AudioProcessing.h:19
Definition ProcessingConfig.h:7
Definition RefCountInterface.h:10
Definition StreamConfig.h:7
Definition TaskQueueBase.h:16
Definition Alias.h:14
Definition AudioProcessing.h:137
Definition AudioProcessing.h:193
Definition AudioProcessing.h:282
Definition AudioProcessing.h:122
Definition AudioProcessing.h:44
Definition AudioProcessing.h:68
Definition AudioProcessing.h:28
Definition AudioProcessing.h:411