31 enum class Mode :
int {
35 KAccelerateSuccess = 3,
36 KAccelerateLowEnergy = 4,
38 KPreemptiveExpandSuccess = 6,
39 KPreemptiveExpandLowEnergy = 7,
40 KPreemptiveExpandFail = 8,
42 KCodecInternalCng = 10,
49 enum class Operation :
int {
55 KPreemptiveExpand = 5,
57 KRfc3389CngNoPacket = 7,
58 KCodecInternalCng = 8,
63 enum class ReturnCodes :
int {
85 Config& operator=(Config
const&);
86 Config(Config
const&);
90 struct DecoderFormat {
102 DecoderFormat& operator=(DecoderFormat
const&);
103 DecoderFormat(DecoderFormat
const&);
110 virtual ~NetEq() =
default;
121 virtual int GetAudio(
::webrtc::AudioFrame*,
bool*,
int*, ::std::optional<::webrtc::NetEq::Operation>) = 0;
123 virtual void SetCodecs(::std::map<int, ::webrtc::SdpAudioFormat>
const&) = 0;
127 virtual bool CreateDecoder(
int);
129 virtual int RemovePayloadType(uchar) = 0;
131 virtual void RemoveAllPayloadTypes() = 0;
133 virtual bool SetMinimumDelay(
int) = 0;
135 virtual bool SetMaximumDelay(
int) = 0;
137 virtual bool SetBaseMinimumDelayMs(
int) = 0;
139 virtual int GetBaseMinimumDelayMs()
const = 0;
141 virtual int TargetDelayMs()
const = 0;
143 virtual int FilteredCurrentDelayMs()
const = 0;
147 virtual ::webrtc::NetEqNetworkStatistics CurrentNetworkStatistics()
const = 0;
149 virtual ::webrtc::NetEqLifetimeStatistics GetLifetimeStatistics()
const = 0;
151 virtual ::webrtc::NetEqOperationsAndState GetOperationsAndState()
const = 0;
153 virtual ::std::optional<uint> GetPlayoutTimestamp()
const = 0;
155 virtual int last_output_sample_rate_hz()
const = 0;
157 virtual ::std::optional<::webrtc::NetEq::DecoderFormat> GetDecoderFormat(
int)
const;
159 virtual ::std::optional<::webrtc::NetEq::DecoderFormat> GetCurrentDecoderFormat()
const;
161 virtual void FlushBuffers() = 0;
163 virtual void EnableNack(uint64) = 0;
165 virtual void DisableNack() = 0;
167 virtual ::std::vector<ushort> GetNackList(int64)
const = 0;
169 virtual int SyncBufferSizeMs()
const = 0;