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/webrtc/ArrayView.h"
7#include "mc/external/webrtc/BufferT.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class DataRate; }
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 KMaxLoggedAudioCodecTypes = 6,
41 };
42
43 struct EncodedInfoLeaf {
44 public:
45 // member variables
46 // NOLINTBEGIN
53 // NOLINTEND
54
55 public:
56 // prevent constructor by default
57 EncodedInfoLeaf& operator=(EncodedInfoLeaf const&);
58 EncodedInfoLeaf(EncodedInfoLeaf const&);
59 EncodedInfoLeaf();
60 };
61
62 struct EncodedInfo : public ::webrtc::AudioEncoder::EncodedInfoLeaf {
63 public:
64 // member variables
65 // NOLINTBEGIN
67 // NOLINTEND
68
69 public:
70 // prevent constructor by default
71 EncodedInfo& operator=(EncodedInfo const&);
72 EncodedInfo(EncodedInfo const&);
73 EncodedInfo();
74 };
75
76public:
77 // virtual functions
78 // NOLINTBEGIN
79 virtual ~AudioEncoder() = default;
80
81 virtual int SampleRateHz() const = 0;
82
83 virtual uint64 NumChannels() const = 0;
84
85 virtual int RtpTimestampRateHz() const;
86
87 virtual uint64 Num10MsFramesInNextPacket() const = 0;
88
89 virtual uint64 Max10MsFramesInAPacket() const = 0;
90
91 virtual int GetTargetBitrate() const = 0;
92
93 virtual void Reset() = 0;
94
95 virtual bool SetFec(bool);
96
97 virtual bool SetDtx(bool);
98
99 virtual bool GetDtx() const;
100
101 virtual bool SetApplication(::webrtc::AudioEncoder::Application);
102
103 virtual void SetMaxPlaybackRate(int);
104
105 virtual void SetTargetBitrate(int);
106
107 virtual ::webrtc::ArrayView<::std::unique_ptr<::webrtc::AudioEncoder>> ReclaimContainedEncoders();
108
109 virtual bool EnableAudioNetworkAdaptor(::std::string_view);
110
111 virtual void DisableAudioNetworkAdaptor();
112
113 virtual void OnReceivedUplinkPacketLossFraction(float);
114
115 virtual void OnReceivedUplinkRecoverablePacketLossFraction(float);
116
117 virtual void OnReceivedTargetAudioBitrate(int);
118
119 virtual void OnReceivedUplinkBandwidth(int, ::std::optional<int64>);
120
121 virtual void OnReceivedUplinkAllocation(::webrtc::BitrateAllocationUpdate);
122
123 virtual void OnReceivedRtt(int);
124
125 virtual void OnReceivedOverhead(uint64);
126
127 virtual void SetReceiverFrameLengthRange(int, int);
128
129 virtual ::webrtc::ANAStats GetANAStats() const;
130
131 virtual ::std::optional<::std::pair<::webrtc::TimeDelta, ::webrtc::TimeDelta>> GetFrameLengthRange() const = 0;
132
133 virtual ::std::optional<::std::pair<::webrtc::DataRate, ::webrtc::DataRate>> GetBitrateRange() const;
134
135 virtual ::webrtc::AudioEncoder::EncodedInfo
137 // NOLINTEND
138};
139
140} // namespace webrtc
Definition ArrayView.h:8
Definition AudioEncoder.h:19
Definition BufferT.h:8
Definition DataRate.h:10
Definition TimeDelta.h:10
Definition Alias.h:14
Definition ANAStats.h:7
Definition AudioEncoder.h:43
Definition AudioEncoder.h:62
Definition BitrateAllocationUpdate.h:7