| OLD | NEW |
| 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 44 | 44 |
| 45 INSTANTIATE_TEST_CASE_P(VideoSendersTest, | 45 INSTANTIATE_TEST_CASE_P(VideoSendersTest, |
| 46 BweSimulation, | 46 BweSimulation, |
| 47 ::testing::Values(kRembEstimator, | 47 ::testing::Values(kRembEstimator, |
| 48 kFullSendSideEstimator, | 48 kFullSendSideEstimator, |
| 49 kNadaEstimator)); | 49 kNadaEstimator)); |
| 50 | 50 |
| 51 TEST_P(BweSimulation, SprintUplinkTest) { | 51 TEST_P(BweSimulation, SprintUplinkTest) { |
| 52 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 52 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
| 53 VideoSender sender(&uplink_, &source, GetParam()); | 53 VideoSender sender(&uplink_, &source, GetParam()); |
| 54 RateCounterFilter counter1(&uplink_, 0, "sender_output"); | 54 RateCounterFilter counter1(&uplink_, 0, "sender_output", |
| 55 bwe_names[GetParam()]); |
| 55 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); | 56 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); |
| 56 RateCounterFilter counter2(&uplink_, 0, "receiver_input"); | 57 RateCounterFilter counter2(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 57 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 58 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 58 ASSERT_TRUE(filter.Init(test::ResourcePath("sprint-uplink", "rx"))); | 59 ASSERT_TRUE(filter.Init(test::ResourcePath("sprint-uplink", "rx"))); |
| 59 RunFor(60 * 1000); | 60 RunFor(60 * 1000); |
| 60 } | 61 } |
| 61 | 62 |
| 62 TEST_P(BweSimulation, Verizon4gDownlinkTest) { | 63 TEST_P(BweSimulation, Verizon4gDownlinkTest) { |
| 63 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 64 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
| 64 VideoSender sender(&downlink_, &source, GetParam()); | 65 VideoSender sender(&downlink_, &source, GetParam()); |
| 65 RateCounterFilter counter1(&downlink_, 0, "sender_output"); | 66 RateCounterFilter counter1(&downlink_, 0, "sender_output", |
| 67 bwe_names[GetParam()] + "_up"); |
| 66 TraceBasedDeliveryFilter filter(&downlink_, 0, "link_capacity"); | 68 TraceBasedDeliveryFilter filter(&downlink_, 0, "link_capacity"); |
| 67 RateCounterFilter counter2(&downlink_, 0, "receiver_input"); | 69 RateCounterFilter counter2(&downlink_, 0, "Receiver", |
| 70 bwe_names[GetParam()] + "_down"); |
| 68 PacketReceiver receiver(&downlink_, 0, GetParam(), true, true); | 71 PacketReceiver receiver(&downlink_, 0, GetParam(), true, true); |
| 69 ASSERT_TRUE(filter.Init(test::ResourcePath("verizon4g-downlink", "rx"))); | 72 ASSERT_TRUE(filter.Init(test::ResourcePath("verizon4g-downlink", "rx"))); |
| 70 RunFor(22 * 60 * 1000); | 73 RunFor(22 * 60 * 1000); |
| 71 } | 74 } |
| 72 | 75 |
| 73 TEST_P(BweSimulation, Choke1000kbps500kbps1000kbpsBiDirectional) { | 76 TEST_P(BweSimulation, Choke1000kbps500kbps1000kbpsBiDirectional) { |
| 74 | 77 |
| 75 const int kFlowIds[] = {0, 1}; | 78 const int kFlowIds[] = {0, 1}; |
| 76 const size_t kNumFlows = sizeof(kFlowIds) / sizeof(kFlowIds[0]); | 79 const size_t kNumFlows = sizeof(kFlowIds) / sizeof(kFlowIds[0]); |
| 77 | 80 |
| 78 AdaptiveVideoSource source(kFlowIds[0], 30, 300, 0, 0); | 81 AdaptiveVideoSource source(kFlowIds[0], 30, 300, 0, 0); |
| 79 VideoSender sender(&uplink_, &source, GetParam()); | 82 VideoSender sender(&uplink_, &source, GetParam()); |
| 80 ChokeFilter choke(&uplink_, kFlowIds[0]); | 83 ChokeFilter choke(&uplink_, kFlowIds[0]); |
| 81 RateCounterFilter counter(&uplink_, kFlowIds[0], "receiver_input_0"); | 84 RateCounterFilter counter(&uplink_, kFlowIds[0], "Receiver_0", |
| 85 bwe_names[GetParam()]); |
| 82 PacketReceiver receiver(&uplink_, kFlowIds[0], GetParam(), true, false); | 86 PacketReceiver receiver(&uplink_, kFlowIds[0], GetParam(), true, false); |
| 83 | 87 |
| 84 AdaptiveVideoSource source2(kFlowIds[1], 30, 300, 0, 0); | 88 AdaptiveVideoSource source2(kFlowIds[1], 30, 300, 0, 0); |
| 85 VideoSender sender2(&downlink_, &source2, GetParam()); | 89 VideoSender sender2(&downlink_, &source2, GetParam()); |
| 86 ChokeFilter choke2(&downlink_, kFlowIds[1]); | 90 ChokeFilter choke2(&downlink_, kFlowIds[1]); |
| 87 DelayFilter delay(&downlink_, CreateFlowIds(kFlowIds, kNumFlows)); | 91 DelayFilter delay(&downlink_, CreateFlowIds(kFlowIds, kNumFlows)); |
| 88 RateCounterFilter counter2(&downlink_, kFlowIds[1], "receiver_input_1"); | 92 RateCounterFilter counter2(&downlink_, kFlowIds[1], "Receiver_1", |
| 93 bwe_names[GetParam()]); |
| 89 PacketReceiver receiver2(&downlink_, kFlowIds[1], GetParam(), true, false); | 94 PacketReceiver receiver2(&downlink_, kFlowIds[1], GetParam(), true, false); |
| 90 | 95 |
| 91 choke2.set_capacity_kbps(500); | 96 choke2.set_capacity_kbps(500); |
| 92 delay.SetOneWayDelayMs(0); | 97 delay.SetOneWayDelayMs(0); |
| 93 | 98 |
| 94 choke.set_capacity_kbps(1000); | 99 choke.set_capacity_kbps(1000); |
| 95 choke.set_max_delay_ms(500); | 100 choke.set_max_delay_ms(500); |
| 96 RunFor(60 * 1000); | 101 RunFor(60 * 1000); |
| 97 choke.set_capacity_kbps(500); | 102 choke.set_capacity_kbps(500); |
| 98 RunFor(60 * 1000); | 103 RunFor(60 * 1000); |
| 99 choke.set_capacity_kbps(1000); | 104 choke.set_capacity_kbps(1000); |
| 100 RunFor(60 * 1000); | 105 RunFor(60 * 1000); |
| 101 } | 106 } |
| 102 | 107 |
| 103 TEST_P(BweSimulation, Choke1000kbps500kbps1000kbps) { | 108 TEST_P(BweSimulation, Choke1000kbps500kbps1000kbps) { |
| 104 | 109 |
| 105 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 110 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
| 106 VideoSender sender(&uplink_, &source, GetParam()); | 111 VideoSender sender(&uplink_, &source, GetParam()); |
| 107 ChokeFilter choke(&uplink_, 0); | 112 ChokeFilter choke(&uplink_, 0); |
| 108 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 113 RateCounterFilter counter(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 109 PacketReceiver receiver(&uplink_, 0, GetParam(), true, false); | 114 PacketReceiver receiver(&uplink_, 0, GetParam(), true, false); |
| 110 | 115 |
| 111 choke.set_capacity_kbps(1000); | 116 choke.set_capacity_kbps(1000); |
| 112 choke.set_max_delay_ms(500); | 117 choke.set_max_delay_ms(500); |
| 113 RunFor(60 * 1000); | 118 RunFor(60 * 1000); |
| 114 choke.set_capacity_kbps(500); | 119 choke.set_capacity_kbps(500); |
| 115 RunFor(60 * 1000); | 120 RunFor(60 * 1000); |
| 116 choke.set_capacity_kbps(1000); | 121 choke.set_capacity_kbps(1000); |
| 117 RunFor(60 * 1000); | 122 RunFor(60 * 1000); |
| 118 } | 123 } |
| 119 | 124 |
| 120 TEST_P(BweSimulation, PacerChoke1000kbps500kbps1000kbps) { | 125 TEST_P(BweSimulation, PacerChoke1000kbps500kbps1000kbps) { |
| 121 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 126 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
| 122 PacedVideoSender sender(&uplink_, &source, GetParam()); | 127 PacedVideoSender sender(&uplink_, &source, GetParam()); |
| 123 ChokeFilter filter(&uplink_, 0); | 128 ChokeFilter filter(&uplink_, 0); |
| 124 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 129 RateCounterFilter counter(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 125 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 130 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 126 filter.set_capacity_kbps(1000); | 131 filter.set_capacity_kbps(1000); |
| 127 filter.set_max_delay_ms(500); | 132 filter.set_max_delay_ms(500); |
| 128 RunFor(60 * 1000); | 133 RunFor(60 * 1000); |
| 129 filter.set_capacity_kbps(500); | 134 filter.set_capacity_kbps(500); |
| 130 RunFor(60 * 1000); | 135 RunFor(60 * 1000); |
| 131 filter.set_capacity_kbps(1000); | 136 filter.set_capacity_kbps(1000); |
| 132 RunFor(60 * 1000); | 137 RunFor(60 * 1000); |
| 133 } | 138 } |
| 134 | 139 |
| 135 TEST_P(BweSimulation, PacerChoke10000kbps) { | 140 TEST_P(BweSimulation, PacerChoke10000kbps) { |
| 136 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000); | 141 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000); |
| 137 PacedVideoSender sender(&uplink_, &source, GetParam()); | 142 PacedVideoSender sender(&uplink_, &source, GetParam()); |
| 138 ChokeFilter filter(&uplink_, 0); | 143 ChokeFilter filter(&uplink_, 0); |
| 139 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 144 RateCounterFilter counter(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 140 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 145 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 141 filter.set_capacity_kbps(10000); | 146 filter.set_capacity_kbps(10000); |
| 142 filter.set_max_delay_ms(500); | 147 filter.set_max_delay_ms(500); |
| 143 RunFor(60 * 1000); | 148 RunFor(60 * 1000); |
| 144 } | 149 } |
| 145 | 150 |
| 146 TEST_P(BweSimulation, PacerChoke200kbps30kbps200kbps) { | 151 TEST_P(BweSimulation, PacerChoke200kbps30kbps200kbps) { |
| 147 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 152 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
| 148 PacedVideoSender sender(&uplink_, &source, GetParam()); | 153 PacedVideoSender sender(&uplink_, &source, GetParam()); |
| 149 ChokeFilter filter(&uplink_, 0); | 154 ChokeFilter filter(&uplink_, 0); |
| 150 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 155 RateCounterFilter counter(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 151 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 156 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 152 filter.set_capacity_kbps(200); | 157 filter.set_capacity_kbps(200); |
| 153 filter.set_max_delay_ms(500); | 158 filter.set_max_delay_ms(500); |
| 154 RunFor(60 * 1000); | 159 RunFor(60 * 1000); |
| 155 filter.set_capacity_kbps(30); | 160 filter.set_capacity_kbps(30); |
| 156 RunFor(60 * 1000); | 161 RunFor(60 * 1000); |
| 157 filter.set_capacity_kbps(200); | 162 filter.set_capacity_kbps(200); |
| 158 RunFor(60 * 1000); | 163 RunFor(60 * 1000); |
| 159 } | 164 } |
| 160 | 165 |
| 161 TEST_P(BweSimulation, Choke200kbps30kbps200kbps) { | 166 TEST_P(BweSimulation, Choke200kbps30kbps200kbps) { |
| 162 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 167 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
| 163 VideoSender sender(&uplink_, &source, GetParam()); | 168 VideoSender sender(&uplink_, &source, GetParam()); |
| 164 ChokeFilter filter(&uplink_, 0); | 169 ChokeFilter filter(&uplink_, 0); |
| 165 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 170 RateCounterFilter counter(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 166 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 171 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 167 filter.set_capacity_kbps(200); | 172 filter.set_capacity_kbps(200); |
| 168 filter.set_max_delay_ms(500); | 173 filter.set_max_delay_ms(500); |
| 169 RunFor(60 * 1000); | 174 RunFor(60 * 1000); |
| 170 filter.set_capacity_kbps(30); | 175 filter.set_capacity_kbps(30); |
| 171 RunFor(60 * 1000); | 176 RunFor(60 * 1000); |
| 172 filter.set_capacity_kbps(200); | 177 filter.set_capacity_kbps(200); |
| 173 RunFor(60 * 1000); | 178 RunFor(60 * 1000); |
| 174 } | 179 } |
| 175 | 180 |
| 176 TEST_P(BweSimulation, GoogleWifiTrace3Mbps) { | 181 TEST_P(BweSimulation, GoogleWifiTrace3Mbps) { |
| 177 AdaptiveVideoSource source(0, 30, 300, 0, 0); | 182 AdaptiveVideoSource source(0, 30, 300, 0, 0); |
| 178 VideoSender sender(&uplink_, &source, GetParam()); | 183 VideoSender sender(&uplink_, &source, GetParam()); |
| 179 RateCounterFilter counter1(&uplink_, 0, "sender_output"); | 184 RateCounterFilter counter1(&uplink_, 0, "sender_output", |
| 185 bwe_names[GetParam()]); |
| 180 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); | 186 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); |
| 181 filter.set_max_delay_ms(500); | 187 filter.set_max_delay_ms(500); |
| 182 RateCounterFilter counter2(&uplink_, 0, "receiver_input"); | 188 RateCounterFilter counter2(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 183 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 189 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 184 ASSERT_TRUE(filter.Init(test::ResourcePath("google-wifi-3mbps", "rx"))); | 190 ASSERT_TRUE(filter.Init(test::ResourcePath("google-wifi-3mbps", "rx"))); |
| 185 RunFor(300 * 1000); | 191 RunFor(300 * 1000); |
| 186 } | 192 } |
| 187 | 193 |
| 188 TEST_P(BweSimulation, LinearIncreasingCapacity) { | 194 TEST_P(BweSimulation, LinearIncreasingCapacity) { |
| 189 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000000); | 195 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000000); |
| 190 PacedVideoSender sender(&uplink_, &source, GetParam()); | 196 PacedVideoSender sender(&uplink_, &source, GetParam()); |
| 191 ChokeFilter filter(&uplink_, 0); | 197 ChokeFilter filter(&uplink_, 0); |
| 192 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 198 RateCounterFilter counter(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 193 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 199 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 194 filter.set_max_delay_ms(500); | 200 filter.set_max_delay_ms(500); |
| 195 const int kStartingCapacityKbps = 150; | 201 const int kStartingCapacityKbps = 150; |
| 196 const int kEndingCapacityKbps = 1500; | 202 const int kEndingCapacityKbps = 1500; |
| 197 const int kStepKbps = 5; | 203 const int kStepKbps = 5; |
| 198 const int kStepTimeMs = 1000; | 204 const int kStepTimeMs = 1000; |
| 199 | 205 |
| 200 for (int i = kStartingCapacityKbps; i <= kEndingCapacityKbps; | 206 for (int i = kStartingCapacityKbps; i <= kEndingCapacityKbps; |
| 201 i += kStepKbps) { | 207 i += kStepKbps) { |
| 202 filter.set_capacity_kbps(i); | 208 filter.set_capacity_kbps(i); |
| 203 RunFor(kStepTimeMs); | 209 RunFor(kStepTimeMs); |
| 204 } | 210 } |
| 205 } | 211 } |
| 206 | 212 |
| 207 TEST_P(BweSimulation, LinearDecreasingCapacity) { | 213 TEST_P(BweSimulation, LinearDecreasingCapacity) { |
| 208 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000000); | 214 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000000); |
| 209 PacedVideoSender sender(&uplink_, &source, GetParam()); | 215 PacedVideoSender sender(&uplink_, &source, GetParam()); |
| 210 ChokeFilter filter(&uplink_, 0); | 216 ChokeFilter filter(&uplink_, 0); |
| 211 RateCounterFilter counter(&uplink_, 0, "receiver_input"); | 217 RateCounterFilter counter(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 212 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 218 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 213 filter.set_max_delay_ms(500); | 219 filter.set_max_delay_ms(500); |
| 214 const int kStartingCapacityKbps = 1500; | 220 const int kStartingCapacityKbps = 1500; |
| 215 const int kEndingCapacityKbps = 150; | 221 const int kEndingCapacityKbps = 150; |
| 216 const int kStepKbps = -5; | 222 const int kStepKbps = -5; |
| 217 const int kStepTimeMs = 1000; | 223 const int kStepTimeMs = 1000; |
| 218 | 224 |
| 219 for (int i = kStartingCapacityKbps; i >= kEndingCapacityKbps; | 225 for (int i = kStartingCapacityKbps; i >= kEndingCapacityKbps; |
| 220 i += kStepKbps) { | 226 i += kStepKbps) { |
| 221 filter.set_capacity_kbps(i); | 227 filter.set_capacity_kbps(i); |
| 222 RunFor(kStepTimeMs); | 228 RunFor(kStepTimeMs); |
| 223 } | 229 } |
| 224 } | 230 } |
| 225 | 231 |
| 226 TEST_P(BweSimulation, PacerGoogleWifiTrace3Mbps) { | 232 TEST_P(BweSimulation, PacerGoogleWifiTrace3Mbps) { |
| 227 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000); | 233 PeriodicKeyFrameSource source(0, 30, 300, 0, 0, 1000); |
| 228 PacedVideoSender sender(&uplink_, &source, GetParam()); | 234 PacedVideoSender sender(&uplink_, &source, GetParam()); |
| 229 RateCounterFilter counter1(&uplink_, 0, "sender_output"); | 235 RateCounterFilter counter1(&uplink_, 0, "sender_output", |
| 236 bwe_names[GetParam()]); |
| 230 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); | 237 TraceBasedDeliveryFilter filter(&uplink_, 0, "link_capacity"); |
| 231 filter.set_max_delay_ms(500); | 238 filter.set_max_delay_ms(500); |
| 232 RateCounterFilter counter2(&uplink_, 0, "receiver_input"); | 239 RateCounterFilter counter2(&uplink_, 0, "Receiver", bwe_names[GetParam()]); |
| 233 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); | 240 PacketReceiver receiver(&uplink_, 0, GetParam(), true, true); |
| 234 ASSERT_TRUE(filter.Init(test::ResourcePath("google-wifi-3mbps", "rx"))); | 241 ASSERT_TRUE(filter.Init(test::ResourcePath("google-wifi-3mbps", "rx"))); |
| 235 RunFor(300 * 1000); | 242 RunFor(300 * 1000); |
| 236 } | 243 } |
| 237 | 244 |
| 238 TEST_P(BweSimulation, SelfFairnessTest) { | 245 TEST_P(BweSimulation, SelfFairnessTest) { |
| 239 srand(Clock::GetRealTimeClock()->TimeInMicroseconds()); | 246 srand(Clock::GetRealTimeClock()->TimeInMicroseconds()); |
| 240 const int kAllFlowIds[] = {0, 1, 2, 3}; | 247 const int kAllFlowIds[] = {0, 1, 2, 3}; |
| 241 const size_t kNumFlows = sizeof(kAllFlowIds) / sizeof(kAllFlowIds[0]); | 248 const size_t kNumFlows = sizeof(kAllFlowIds) / sizeof(kAllFlowIds[0]); |
| 242 rtc::scoped_ptr<VideoSource> sources[kNumFlows]; | 249 rtc::scoped_ptr<VideoSource> sources[kNumFlows]; |
| 243 rtc::scoped_ptr<VideoSender> senders[kNumFlows]; | 250 rtc::scoped_ptr<VideoSender> senders[kNumFlows]; |
| 244 for (size_t i = 0; i < kNumFlows; ++i) { | 251 for (size_t i = 0; i < kNumFlows; ++i) { |
| 245 // Streams started 20 seconds apart to give them different advantage when | 252 // Streams started 20 seconds apart to give them different advantage when |
| 246 // competing for the bandwidth. | 253 // competing for the bandwidth. |
| 247 sources[i].reset(new AdaptiveVideoSource(kAllFlowIds[i], 30, 300, 0, | 254 sources[i].reset(new AdaptiveVideoSource(kAllFlowIds[i], 30, 300, 0, |
| 248 i * (rand() % 40000))); | 255 i * (rand() % 40000))); |
| 249 senders[i].reset(new VideoSender(&uplink_, sources[i].get(), GetParam())); | 256 senders[i].reset(new VideoSender(&uplink_, sources[i].get(), GetParam())); |
| 250 } | 257 } |
| 251 | 258 |
| 252 ChokeFilter choke(&uplink_, CreateFlowIds(kAllFlowIds, kNumFlows)); | 259 ChokeFilter choke(&uplink_, CreateFlowIds(kAllFlowIds, kNumFlows)); |
| 253 choke.set_capacity_kbps(1000); | 260 choke.set_capacity_kbps(1000); |
| 254 | 261 |
| 255 rtc::scoped_ptr<RateCounterFilter> rate_counters[kNumFlows]; | 262 rtc::scoped_ptr<RateCounterFilter> rate_counters[kNumFlows]; |
| 256 for (size_t i = 0; i < kNumFlows; ++i) { | 263 for (size_t i = 0; i < kNumFlows; ++i) { |
| 257 rate_counters[i].reset(new RateCounterFilter( | 264 rate_counters[i].reset( |
| 258 &uplink_, CreateFlowIds(&kAllFlowIds[i], 1), "receiver_input")); | 265 new RateCounterFilter(&uplink_, CreateFlowIds(&kAllFlowIds[i], 1), |
| 266 "Receiver", bwe_names[GetParam()])); |
| 259 } | 267 } |
| 260 | 268 |
| 261 RateCounterFilter total_utilization( | 269 RateCounterFilter total_utilization( |
| 262 &uplink_, CreateFlowIds(kAllFlowIds, kNumFlows), "total_utilization"); | 270 &uplink_, CreateFlowIds(kAllFlowIds, kNumFlows), "total_utilization", |
| 271 "Total_link_utilization"); |
| 263 | 272 |
| 264 rtc::scoped_ptr<PacketReceiver> receivers[kNumFlows]; | 273 rtc::scoped_ptr<PacketReceiver> receivers[kNumFlows]; |
| 265 for (size_t i = 0; i < kNumFlows; ++i) { | 274 for (size_t i = 0; i < kNumFlows; ++i) { |
| 266 receivers[i].reset(new PacketReceiver(&uplink_, kAllFlowIds[i], GetParam(), | 275 receivers[i].reset(new PacketReceiver(&uplink_, kAllFlowIds[i], GetParam(), |
| 267 i == 0, false)); | 276 i == 0, false)); |
| 268 } | 277 } |
| 269 | 278 |
| 270 RunFor(30 * 60 * 1000); | 279 RunFor(30 * 60 * 1000); |
| 271 } | 280 } |
| 272 | 281 |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 434 | 443 |
| 435 BweTest gcc_test(false); | 444 BweTest gcc_test(false); |
| 436 gcc_test.RunChoke(kFullSendSideEstimator, capacities_kbps); | 445 gcc_test.RunChoke(kFullSendSideEstimator, capacities_kbps); |
| 437 } | 446 } |
| 438 | 447 |
| 439 #endif // BWE_TEST_LOGGING_COMPILE_TIME_ENABLE | 448 #endif // BWE_TEST_LOGGING_COMPILE_TIME_ENABLE |
| 440 } // namespace bwe | 449 } // namespace bwe |
| 441 } // namespace testing | 450 } // namespace testing |
| 442 } // namespace webrtc | 451 } // namespace webrtc |
| 443 | 452 |
| OLD | NEW |