28 enum class Application :
int {
33 enum class CodecType :
int {
40 KMaxLoggedAudioCodecTypes = 6,
43 struct EncodedInfoLeaf {
57 EncodedInfoLeaf& operator=(EncodedInfoLeaf
const&);
58 EncodedInfoLeaf(EncodedInfoLeaf
const&);
71 EncodedInfo& operator=(EncodedInfo
const&);
72 EncodedInfo(EncodedInfo
const&);
81 virtual int SampleRateHz()
const = 0;
83 virtual uint64 NumChannels()
const = 0;
85 virtual int RtpTimestampRateHz()
const;
87 virtual uint64 Num10MsFramesInNextPacket()
const = 0;
89 virtual uint64 Max10MsFramesInAPacket()
const = 0;
91 virtual int GetTargetBitrate()
const = 0;
93 virtual void Reset() = 0;
95 virtual bool SetFec(
bool);
97 virtual bool SetDtx(
bool);
99 virtual bool GetDtx()
const;
101 virtual bool SetApplication(::webrtc::AudioEncoder::Application);
103 virtual void SetMaxPlaybackRate(
int);
105 virtual void SetTargetBitrate(
int);
107 virtual ::webrtc::ArrayView<::std::unique_ptr<::webrtc::AudioEncoder>> ReclaimContainedEncoders();
109 virtual bool EnableAudioNetworkAdaptor(::std::string_view);
111 virtual void DisableAudioNetworkAdaptor();
113 virtual void OnReceivedUplinkPacketLossFraction(
float);
115 virtual void OnReceivedUplinkRecoverablePacketLossFraction(
float);
117 virtual void OnReceivedTargetAudioBitrate(
int);
119 virtual void OnReceivedUplinkBandwidth(
int, ::std::optional<int64>);
123 virtual void OnReceivedRtt(
int);
125 virtual void OnReceivedOverhead(uint64);
127 virtual void SetReceiverFrameLengthRange(
int,
int);
129 virtual ::webrtc::ANAStats GetANAStats()
const;
131 virtual ::std::optional<::std::pair<::webrtc::TimeDelta, ::webrtc::TimeDelta>> GetFrameLengthRange()
const = 0;
133 virtual ::std::optional<::std::pair<::webrtc::DataRate, ::webrtc::DataRate>> GetBitrateRange()
const;
135 virtual ::webrtc::AudioEncoder::EncodedInfo