LeviLamina
Loading...
Searching...
No Matches
LossBasedBweV2.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7namespace webrtc { class DataRate; }
8namespace webrtc { class FieldTrialsView; }
9namespace webrtc { struct PacketResult; }
10// clang-format on
11
12namespace webrtc {
13
15public:
16 // LossBasedBweV2 inner types declare
17 // clang-format off
18 struct ChannelParameters;
19 struct Config;
20 struct Derivatives;
21 struct HoldInfo;
22 struct Observation;
23 struct PaddingInfo;
24 struct PartialObservation;
25 struct Result;
26 // clang-format on
27
28 // LossBasedBweV2 inner types define
29 struct Result {
30 public:
31 // member variables
32 // NOLINTBEGIN
35 // NOLINTEND
36
37 public:
38 // prevent constructor by default
39 Result& operator=(Result const&);
40 Result(Result const&);
41 Result();
42 };
43
45 public:
46 // member variables
47 // NOLINTBEGIN
50 // NOLINTEND
51
52 public:
53 // prevent constructor by default
54 ChannelParameters& operator=(ChannelParameters const&);
57 };
58
59 struct Config {
60 public:
61 // member variables
62 // NOLINTBEGIN
102 // NOLINTEND
103
104 public:
105 // prevent constructor by default
106 Config& operator=(Config const&);
107 Config(Config const&);
108
109 public:
110 // member functions
111 // NOLINTBEGIN
112 MCNAPI Config();
113
115 // NOLINTEND
116
117 public:
118 // constructor thunks
119 // NOLINTBEGIN
120 MCNAPI void* $ctor();
121
123 // NOLINTEND
124 };
125
126 struct Derivatives {
127 public:
128 // member variables
129 // NOLINTBEGIN
132 // NOLINTEND
133
134 public:
135 // prevent constructor by default
136 Derivatives& operator=(Derivatives const&);
137 Derivatives(Derivatives const&);
138 Derivatives();
139 };
140
141 struct Observation {
142 public:
143 // member variables
144 // NOLINTBEGIN
152 // NOLINTEND
153
154 public:
155 // prevent constructor by default
156 Observation& operator=(Observation const&);
157 Observation(Observation const&);
158 Observation();
159 };
160
162 public:
163 // member variables
164 // NOLINTBEGIN
169 // NOLINTEND
170
171 public:
172 // prevent constructor by default
173 PartialObservation& operator=(PartialObservation const&);
176 };
177
178 struct PaddingInfo {
179 public:
180 // member variables
181 // NOLINTBEGIN
184 // NOLINTEND
185
186 public:
187 // prevent constructor by default
188 PaddingInfo& operator=(PaddingInfo const&);
189 PaddingInfo(PaddingInfo const&);
190 PaddingInfo();
191 };
192
193 struct HoldInfo {
194 public:
195 // member variables
196 // NOLINTBEGIN
200 // NOLINTEND
201
202 public:
203 // prevent constructor by default
204 HoldInfo& operator=(HoldInfo const&);
205 HoldInfo(HoldInfo const&);
206 HoldInfo();
207 };
208
209public:
210 // member variables
211 // NOLINTBEGIN
232 // NOLINTEND
233
234public:
235 // prevent constructor by default
236 LossBasedBweV2& operator=(LossBasedBweV2 const&);
239
240public:
241 // member functions
242 // NOLINTBEGIN
243 MCNAPI double AdjustBiasFactor(double loss_rate, double bias_factor) const;
244
246
248
250
251 MCNAPI bool CanKeepIncreasingState(::webrtc::DataRate estimate) const;
252
253 MCNAPI double GetAverageReportedByteLossRatio() const;
254
255 MCNAPI double GetAverageReportedLossRatio() const;
256
258
259 MCNAPI ::webrtc::DataRate GetCandidateBandwidthUpperBound() const;
260
261 MCNAPI ::std::vector<::webrtc::LossBasedBweV2::ChannelParameters> GetCandidates(bool in_alr) const;
262
263 MCNAPI ::webrtc::LossBasedBweV2::Derivatives
265
266 MCNAPI double GetFeasibleInherentLoss(::webrtc::LossBasedBweV2::ChannelParameters const& channel_parameters) const;
267
268 MCNAPI double GetHighBandwidthBias(::webrtc::DataRate bandwidth) const;
269
270 MCNAPI double GetInherentLossUpperBound(::webrtc::DataRate bandwidth) const;
271
272 MCNAPI ::webrtc::DataRate GetInstantLowerBound() const;
273
274 MCNAPI ::webrtc::DataRate GetInstantUpperBound() const;
275
276 MCNAPI ::webrtc::LossBasedBweV2::Result GetLossBasedResult() const;
277
278 MCNAPI double GetObjective(::webrtc::LossBasedBweV2::ChannelParameters const& channel_parameters) const;
279
280 MCNAPI ::webrtc::DataRate GetSendingRate(::webrtc::DataRate instantaneous_sending_rate) const;
281
282 MCNAPI bool IsConfigValid() const;
283
284 MCNAPI bool IsEnabled() const;
285
287
288 MCNAPI bool IsInLossLimitedState() const;
289
290 MCNAPI bool IsReady() const;
291
292 MCNAPI explicit LossBasedBweV2(::webrtc::FieldTrialsView const* key_value_config);
293
295
296 MCNAPI bool PaceAtLossBasedEstimate() const;
297
299
300 MCNAPI bool ReadyToUseInStartPhase() const;
301
302 MCNAPI void SetAcknowledgedBitrate(::webrtc::DataRate acknowledged_bitrate);
303
304 MCNAPI void SetMinMaxBitrate(::webrtc::DataRate min_bitrate, ::webrtc::DataRate max_bitrate);
305
308 ::webrtc::DataRate delay_based_estimate,
309 bool in_alr
310 );
311
312 MCNAPI bool UseInStartPhase() const;
313
315 // NOLINTEND
316
317public:
318 // static functions
319 // NOLINTBEGIN
320 MCNAPI static ::std::optional<::webrtc::LossBasedBweV2::Config>
321 CreateConfig(::webrtc::FieldTrialsView const* key_value_config);
322 // NOLINTEND
323
324public:
325 // constructor thunks
326 // NOLINTBEGIN
327 MCNAPI void* $ctor(::webrtc::FieldTrialsView const* key_value_config);
328 // NOLINTEND
329
330public:
331 // destructor thunk
332 // NOLINTBEGIN
333 MCNAPI void $dtor();
334 // NOLINTEND
335};
336
337} // namespace webrtc
Definition _HeaderOutputPredefine.h:260
Definition DataRate.h:10
Definition FieldTrialsView.h:7
Definition LossBasedBweV2.h:14
MCAPI void SetAcknowledgedBitrate(::webrtc::DataRate acknowledged_bitrate)
MCAPI::webrtc::DataRate GetCandidateBandwidthUpperBound() const
MCAPI bool IsConfigValid() const
MCAPI void UpdateBandwidthEstimate(::rtc::ArrayView<::webrtc::PacketResult const > packet_results, ::webrtc::DataRate delay_based_estimate, bool in_alr)
MCAPI double GetInherentLossUpperBound(::webrtc::DataRate bandwidth) const
MCAPI bool CanKeepIncreasingState(::webrtc::DataRate estimate) const
MCAPI double GetFeasibleInherentLoss(::webrtc::LossBasedBweV2::ChannelParameters const &channel_parameters) const
MCAPI void NewtonsMethodUpdate(::webrtc::LossBasedBweV2::ChannelParameters &channel_parameters) const
MCAPI bool UseInStartPhase() const
MCAPI LossBasedBweV2(::webrtc::FieldTrialsView const *key_value_config)
MCAPI::webrtc::DataRate GetSendingRate(::webrtc::DataRate instantaneous_sending_rate) const
MCAPI double GetAverageReportedLossRatio() const
MCAPI ::std::vector<::webrtc::LossBasedBweV2::ChannelParameters > GetCandidates(bool in_alr) const
MCAPI void * $ctor(::webrtc::FieldTrialsView const *key_value_config)
MCAPI bool PushBackObservation(::rtc::ArrayView<::webrtc::PacketResult const > packet_results)
MCAPI void CalculateInstantLowerBound()
MCAPI::webrtc::DataRate GetInstantUpperBound() const
MCAPI::webrtc::LossBasedBweV2::Result GetLossBasedResult() const
MCAPI double GetHighBandwidthBias(::webrtc::DataRate bandwidth) const
MCAPI bool IsInLossLimitedState() const
MCAPI bool PaceAtLossBasedEstimate() const
MCAPI bool IsEstimateIncreasingWhenLossLimited(::webrtc::DataRate old_estimate, ::webrtc::DataRate new_estimate)
MCAPI bool IsEnabled() const
MCAPI double GetAverageReportedPacketLossRatio() const
MCAPI bool IsReady() const
static MCAPI ::std::optional<::webrtc::LossBasedBweV2::Config > CreateConfig(::webrtc::FieldTrialsView const *key_value_config)
MCAPI void CalculateTemporalWeights()
MCAPI void CalculateInstantUpperBound()
MCAPI::webrtc::DataRate GetInstantLowerBound() const
MCAPI double GetObjective(::webrtc::LossBasedBweV2::ChannelParameters const &channel_parameters) const
MCAPI bool ReadyToUseInStartPhase() const
MCAPI double AdjustBiasFactor(double loss_rate, double bias_factor) const
MCAPI void SetMinMaxBitrate(::webrtc::DataRate min_bitrate, ::webrtc::DataRate max_bitrate)
MCAPI double GetAverageReportedByteLossRatio() const
MCAPI::webrtc::LossBasedBweV2::Derivatives GetDerivatives(::webrtc::LossBasedBweV2::ChannelParameters const &channel_parameters) const
Definition Alias.h:14
Definition LossBasedBweV2.h:44
Definition LossBasedBweV2.h:59
MCAPI void * $ctor(::webrtc::LossBasedBweV2::Config &&)
MCAPI Config(::webrtc::LossBasedBweV2::Config &&)
Definition LossBasedBweV2.h:126
Definition LossBasedBweV2.h:193
Definition LossBasedBweV2.h:141
Definition LossBasedBweV2.h:178
Definition LossBasedBweV2.h:161
Definition LossBasedBweV2.h:29