26 enum class Mode :
int {
30 KAccelerateSuccess = 3,
31 KAccelerateLowEnergy = 4,
33 KPreemptiveExpandSuccess = 6,
34 KPreemptiveExpandLowEnergy = 7,
35 KPreemptiveExpandFail = 8,
37 KCodecInternalCng = 10,
44 enum class Operation :
int {
50 KPreemptiveExpand = 5,
52 KRfc3389CngNoPacket = 7,
53 KCodecInternalCng = 8,
58 enum class ReturnCodes :
int {
80 Config& operator=(Config
const&);
81 Config(Config
const&);
85 struct DecoderFormat {
96 DecoderFormat& operator=(DecoderFormat
const&);
97 DecoderFormat(DecoderFormat
const&);
104 virtual ~NetEq() =
default;
110 virtual int GetAudio(
::webrtc::AudioFrame*,
bool*,
int*, ::std::optional<::webrtc::NetEq::Operation>) = 0;
112 virtual void SetCodecs(::std::map<int, ::webrtc::SdpAudioFormat>
const&) = 0;
116 virtual int RemovePayloadType(uchar) = 0;
118 virtual void RemoveAllPayloadTypes() = 0;
120 virtual bool SetMinimumDelay(
int) = 0;
122 virtual bool SetMaximumDelay(
int) = 0;
124 virtual bool SetBaseMinimumDelayMs(
int) = 0;
126 virtual int GetBaseMinimumDelayMs()
const = 0;
128 virtual int TargetDelayMs()
const = 0;
130 virtual int FilteredCurrentDelayMs()
const = 0;
134 virtual ::webrtc::NetEqNetworkStatistics CurrentNetworkStatistics()
const = 0;
136 virtual ::webrtc::NetEqLifetimeStatistics GetLifetimeStatistics()
const = 0;
138 virtual ::webrtc::NetEqOperationsAndState GetOperationsAndState()
const = 0;
140 virtual ::std::optional<uint> GetPlayoutTimestamp()
const = 0;
142 virtual int last_output_sample_rate_hz()
const = 0;
144 virtual ::std::optional<::webrtc::NetEq::DecoderFormat> GetDecoderFormat(
int)
const = 0;
146 virtual void FlushBuffers() = 0;
148 virtual void EnableNack(uint64) = 0;
150 virtual void DisableNack() = 0;
152 virtual ::std::vector<ushort> GetNackList(int64)
const = 0;
154 virtual int SyncBufferSizeMs()
const = 0;