| Index: webrtc/modules/pacing/bitrate_prober.h
|
| diff --git a/webrtc/modules/pacing/bitrate_prober.h b/webrtc/modules/pacing/bitrate_prober.h
|
| index 0749ce48918fd5deced4dd355439e01b568ad47f..b0c0986a199a3c9bcd5477247e7d46b1d448c514 100644
|
| --- a/webrtc/modules/pacing/bitrate_prober.h
|
| +++ b/webrtc/modules/pacing/bitrate_prober.h
|
| @@ -13,6 +13,7 @@
|
|
|
| #include <cstddef>
|
| #include <list>
|
| +#include <queue>
|
|
|
| #include "webrtc/typedefs.h"
|
|
|
| @@ -42,6 +43,9 @@ class BitrateProber {
|
| // get accurate probing.
|
| int TimeUntilNextProbe(int64_t now_ms);
|
|
|
| + // Which cluster that is currently being used for probing.
|
| + int CurrentClusterId() const;
|
| +
|
| // Returns the number of bytes that the prober recommends for the next probe
|
| // packet.
|
| size_t RecommendedPacketSize() const;
|
| @@ -53,13 +57,21 @@ class BitrateProber {
|
| private:
|
| enum ProbingState { kDisabled, kAllowedToProbe, kProbing, kWait };
|
|
|
| + struct ProbeCluster {
|
| + int max_probe_packets = 0;
|
| + int sent_probe_packets = 0;
|
| + int probe_bitrate_bps = 0;
|
| + int id = -1;
|
| + };
|
| +
|
| ProbingState probing_state_;
|
| // Probe bitrate per packet. These are used to compute the delta relative to
|
| // the previous probe packet based on the size and time when that packet was
|
| // sent.
|
| - std::list<uint32_t> probe_bitrates_;
|
| + std::queue<ProbeCluster> clusters_;
|
| size_t packet_size_last_send_;
|
| int64_t time_last_send_ms_;
|
| + int cluster_id_;
|
| };
|
| } // namespace webrtc
|
| #endif // WEBRTC_MODULES_PACING_BITRATE_PROBER_H_
|
|
|