Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: webrtc/modules/pacing/bitrate_prober.h

Issue 2609113003: BitrateProber::CreateProbeCluster now only accept one parameter (bitrate_bps). (Closed)
Patch Set: static_cast<int> + PacedSenderTest fix. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 20 matching lines...) Expand all
31 // TimeUntilNextProbe(). 31 // TimeUntilNextProbe().
32 bool IsProbing() const; 32 bool IsProbing() const;
33 33
34 // Initializes a new probing session if the prober is allowed to probe. Does 34 // Initializes a new probing session if the prober is allowed to probe. Does
35 // not initialize the prober unless the packet size is large enough to probe 35 // not initialize the prober unless the packet size is large enough to probe
36 // with. 36 // with.
37 void OnIncomingPacket(size_t packet_size); 37 void OnIncomingPacket(size_t packet_size);
38 38
39 // Create a cluster used to probe for |bitrate_bps| with |num_probes| number 39 // Create a cluster used to probe for |bitrate_bps| with |num_probes| number
40 // of probes. 40 // of probes.
41 void CreateProbeCluster(int bitrate_bps, int num_probes); 41 void CreateProbeCluster(int bitrate_bps);
42 42
43 // Returns the number of milliseconds until the next probe should be sent to 43 // Returns the number of milliseconds until the next probe should be sent to
44 // get accurate probing. 44 // get accurate probing.
45 int TimeUntilNextProbe(int64_t now_ms); 45 int TimeUntilNextProbe(int64_t now_ms);
46 46
47 // Which cluster that is currently being used for probing. 47 // Which cluster that is currently being used for probing.
48 int CurrentClusterId() const; 48 int CurrentClusterId() const;
49 49
50 // Returns the minimum number of bytes that the prober recommends for 50 // Returns the minimum number of bytes that the prober recommends for
51 // the next probe. 51 // the next probe.
(...skipping 15 matching lines...) Expand all
67 // probes are being sent. 67 // probes are being sent.
68 kActive, 68 kActive,
69 // Probing is enabled, but currently suspended until an explicit trigger 69 // Probing is enabled, but currently suspended until an explicit trigger
70 // to start probing again. 70 // to start probing again.
71 kSuspended, 71 kSuspended,
72 }; 72 };
73 73
74 // A probe cluster consists of a set of probes. Each probe in turn can be 74 // A probe cluster consists of a set of probes. Each probe in turn can be
75 // divided into a number of packets to accomodate the MTU on the network. 75 // divided into a number of packets to accomodate the MTU on the network.
76 struct ProbeCluster { 76 struct ProbeCluster {
77 int max_probes = 0; 77 int min_probes = 0;
78 int sent_probes = 0; 78 int sent_probes = 0;
79 int probe_bitrate_bps = 0; 79 int min_bytes = 0;
80 int sent_bytes = 0;
81 int bitrate_bps = 0;
80 int id = -1; 82 int id = -1;
81 }; 83 };
82 84
83 // Resets the state of the prober and clears any cluster/timing data tracked. 85 // Resets the state of the prober and clears any cluster/timing data tracked.
84 void ResetState(); 86 void ResetState();
85 87
86 ProbingState probing_state_; 88 ProbingState probing_state_;
87 // Probe bitrate per packet. These are used to compute the delta relative to 89 // Probe bitrate per packet. These are used to compute the delta relative to
88 // the previous probe packet based on the size and time when that packet was 90 // the previous probe packet based on the size and time when that packet was
89 // sent. 91 // sent.
90 std::queue<ProbeCluster> clusters_; 92 std::queue<ProbeCluster> clusters_;
91 // A probe can include one or more packets. 93 // A probe can include one or more packets.
92 size_t probe_size_last_sent_; 94 size_t probe_size_last_sent_;
93 // The last time a probe was sent. 95 // The last time a probe was sent.
94 int64_t time_last_probe_sent_ms_; 96 int64_t time_last_probe_sent_ms_;
95 int next_cluster_id_; 97 int next_cluster_id_;
96 }; 98 };
97 } // namespace webrtc 99 } // namespace webrtc
98 #endif // WEBRTC_MODULES_PACING_BITRATE_PROBER_H_ 100 #endif // WEBRTC_MODULES_PACING_BITRATE_PROBER_H_
OLDNEW
« no previous file with comments | « webrtc/modules/congestion_controller/probe_controller_unittest.cc ('k') | webrtc/modules/pacing/bitrate_prober.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698