LeviLamina
Loading...
Searching...
No Matches
AudioEncoder.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/rtc/BufferT.h"
7
8// auto generated forward declare list
9// clang-format off
10namespace webrtc { class DataRate; }
11namespace webrtc { class RtcEventLog; }
12namespace webrtc { class TimeDelta; }
13namespace webrtc { struct ANAStats; }
14namespace webrtc { struct BitrateAllocationUpdate; }
15// clang-format on
16
17namespace webrtc {
18
20public:
21 // AudioEncoder inner types declare
22 // clang-format off
23 struct EncodedInfoLeaf;
24 struct EncodedInfo;
25 // clang-format on
26
27 // AudioEncoder inner types define
28 enum class Application : int {
29 KSpeech = 0,
30 KAudio = 1,
31 };
32
33 enum class CodecType : int {
34 KOther = 0,
35 KOpus = 1,
36 KIsac = 2,
37 KPcmA = 3,
38 KPcmU = 4,
39 KG722 = 5,
40 KIlbc = 6,
41 KMaxLoggedAudioCodecTypes = 7,
42 };
43
44 struct EncodedInfoLeaf {
45 public:
46 // member variables
47 // NOLINTBEGIN
54 // NOLINTEND
55
56 public:
57 // prevent constructor by default
58 EncodedInfoLeaf& operator=(EncodedInfoLeaf const&);
59 EncodedInfoLeaf(EncodedInfoLeaf const&);
60 EncodedInfoLeaf();
61 };
62
63 struct EncodedInfo : public ::webrtc::AudioEncoder::EncodedInfoLeaf {
64 public:
65 // member variables
66 // NOLINTBEGIN
68 // NOLINTEND
69
70 public:
71 // prevent constructor by default
72 EncodedInfo& operator=(EncodedInfo const&);
73 EncodedInfo(EncodedInfo const&);
74 EncodedInfo();
75 };
76
77public:
78 // virtual functions
79 // NOLINTBEGIN
80 virtual ~AudioEncoder() = default;
81
82 virtual int SampleRateHz() const = 0;
83
84 virtual uint64 NumChannels() const = 0;
85
86 virtual int RtpTimestampRateHz() const;
87
88 virtual uint64 Num10MsFramesInNextPacket() const = 0;
89
90 virtual uint64 Max10MsFramesInAPacket() const = 0;
91
92 virtual int GetTargetBitrate() const = 0;
93
94 virtual void Reset() = 0;
95
96 virtual bool SetFec(bool);
97
98 virtual bool SetDtx(bool);
99
100 virtual bool GetDtx() const;
101
102 virtual bool SetApplication(::webrtc::AudioEncoder::Application);
103
104 virtual void SetMaxPlaybackRate(int);
105
106 virtual void SetTargetBitrate(int);
107
108 virtual ::rtc::ArrayView<::std::unique_ptr<::webrtc::AudioEncoder>> ReclaimContainedEncoders();
109
110 virtual bool EnableAudioNetworkAdaptor(::std::string const&, ::webrtc::RtcEventLog*);
111
112 virtual void DisableAudioNetworkAdaptor();
113
114 virtual void OnReceivedUplinkPacketLossFraction(float);
115
116 virtual void OnReceivedUplinkRecoverablePacketLossFraction(float);
117
118 virtual void OnReceivedTargetAudioBitrate(int);
119
120 virtual void OnReceivedUplinkBandwidth(int, ::std::optional<int64>);
121
122 virtual void OnReceivedUplinkAllocation(::webrtc::BitrateAllocationUpdate);
123
124 virtual void OnReceivedRtt(int);
125
126 virtual void OnReceivedOverhead(uint64);
127
128 virtual void SetReceiverFrameLengthRange(int, int);
129
130 virtual ::webrtc::ANAStats GetANAStats() const;
131
132 virtual ::std::optional<::std::pair<::webrtc::TimeDelta, ::webrtc::TimeDelta>> GetFrameLengthRange() const = 0;
133
134 virtual ::std::optional<::std::pair<::webrtc::DataRate, ::webrtc::DataRate>> GetBitrateRange() const;
135
136 virtual ::webrtc::AudioEncoder::EncodedInfo
138 // NOLINTEND
139
140public:
141 // virtual function thunks
142 // NOLINTBEGIN
143
144 // NOLINTEND
145};
146
147} // namespace webrtc
Definition _HeaderOutputPredefine.h:311
Definition BufferT.h:8
Definition AudioEncoder.h:19
Definition DataRate.h:10
Definition RtcEventLog.h:13
Definition TimeDelta.h:10
Definition Alias.h:14
Definition ANAStats.h:7
Definition AudioEncoder.h:44
Definition AudioEncoder.h:63
Definition BitrateAllocationUpdate.h:7