LeviLamina
Loading...
Searching...
No Matches
AudioMixer.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 AudioFrame; }
11// clang-format on
12
13namespace webrtc {
14
16public:
17 // AudioMixer inner types declare
18 // clang-format off
19 class Source;
20 // clang-format on
21
22 // AudioMixer inner types define
23 class Source {
24 public:
25 // Source inner types define
26 enum class AudioFrameInfo : int {
27 KNormal = 0,
28 KMuted = 1,
29 KError = 2,
30 };
31
32 public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual ::webrtc::AudioMixer::Source::AudioFrameInfo GetAudioFrameWithInfo(int, ::webrtc::AudioFrame*) = 0;
36
37 virtual int Ssrc() const = 0;
38
39 virtual int PreferredSampleRate() const = 0;
40
41 virtual ~Source() = default;
42 // NOLINTEND
43 };
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual bool AddSource(::webrtc::AudioMixer::Source*) = 0;
49
50 virtual void RemoveSource(::webrtc::AudioMixer::Source*) = 0;
51
52 virtual void Mix(uint64, ::webrtc::AudioFrame*) = 0;
53
54 virtual ~AudioMixer() /*override*/ = default;
55 // NOLINTEND
56};
57
58} // namespace webrtc
Definition AudioFrame.h:7
Definition AudioMixer.h:23
Definition AudioMixer.h:15
Definition RefCountInterface.h:10