| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 template <> | 103 template <> |
| 104 NtpTime RtcpPacketExtendedReportsTest::Rand<NtpTime>() { | 104 NtpTime RtcpPacketExtendedReportsTest::Rand<NtpTime>() { |
| 105 uint32_t secs = Rand<uint32_t>(); | 105 uint32_t secs = Rand<uint32_t>(); |
| 106 uint32_t frac = Rand<uint32_t>(); | 106 uint32_t frac = Rand<uint32_t>(); |
| 107 return NtpTime(secs, frac); | 107 return NtpTime(secs, frac); |
| 108 } | 108 } |
| 109 | 109 |
| 110 template <> | 110 template <> |
| 111 Rrtr RtcpPacketExtendedReportsTest::Rand<Rrtr>() { | 111 Rrtr RtcpPacketExtendedReportsTest::Rand<Rrtr>() { |
| 112 Rrtr rrtr; | 112 Rrtr rrtr; |
| 113 rrtr.SetNtp(Rand<NtpTime>()); | 113 rrtr.WithNtp(Rand<NtpTime>()); |
| 114 return rrtr; | 114 return rrtr; |
| 115 } | 115 } |
| 116 | 116 |
| 117 template <> | 117 template <> |
| 118 RTCPVoIPMetric RtcpPacketExtendedReportsTest::Rand<RTCPVoIPMetric>() { | 118 RTCPVoIPMetric RtcpPacketExtendedReportsTest::Rand<RTCPVoIPMetric>() { |
| 119 RTCPVoIPMetric metric; | 119 RTCPVoIPMetric metric; |
| 120 metric.lossRate = Rand<uint8_t>(); | 120 metric.lossRate = Rand<uint8_t>(); |
| 121 metric.discardRate = Rand<uint8_t>(); | 121 metric.discardRate = Rand<uint8_t>(); |
| 122 metric.burstDensity = Rand<uint8_t>(); | 122 metric.burstDensity = Rand<uint8_t>(); |
| 123 metric.gapDensity = Rand<uint8_t>(); | 123 metric.gapDensity = Rand<uint8_t>(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 136 metric.RXconfig = Rand<uint8_t>(); | 136 metric.RXconfig = Rand<uint8_t>(); |
| 137 metric.JBnominal = Rand<uint16_t>(); | 137 metric.JBnominal = Rand<uint16_t>(); |
| 138 metric.JBmax = Rand<uint16_t>(); | 138 metric.JBmax = Rand<uint16_t>(); |
| 139 metric.JBabsMax = Rand<uint16_t>(); | 139 metric.JBabsMax = Rand<uint16_t>(); |
| 140 return metric; | 140 return metric; |
| 141 } | 141 } |
| 142 | 142 |
| 143 template <> | 143 template <> |
| 144 VoipMetric RtcpPacketExtendedReportsTest::Rand<VoipMetric>() { | 144 VoipMetric RtcpPacketExtendedReportsTest::Rand<VoipMetric>() { |
| 145 VoipMetric voip_metric; | 145 VoipMetric voip_metric; |
| 146 voip_metric.SetMediaSsrc(Rand<uint32_t>()); | 146 voip_metric.To(Rand<uint32_t>()); |
| 147 voip_metric.SetVoipMetric(Rand<RTCPVoIPMetric>()); | 147 voip_metric.WithVoipMetric(Rand<RTCPVoIPMetric>()); |
| 148 return voip_metric; | 148 return voip_metric; |
| 149 } | 149 } |
| 150 | 150 |
| 151 TEST_F(RtcpPacketExtendedReportsTest, CreateWithoutReportBlocks) { | 151 TEST_F(RtcpPacketExtendedReportsTest, CreateWithoutReportBlocks) { |
| 152 ExtendedReports xr; | 152 ExtendedReports xr; |
| 153 xr.SetSenderSsrc(kSenderSsrc); | 153 xr.From(kSenderSsrc); |
| 154 | 154 |
| 155 rtc::Buffer packet = xr.Build(); | 155 rtc::Buffer packet = xr.Build(); |
| 156 | 156 |
| 157 EXPECT_THAT(make_tuple(packet.data(), packet.size()), | 157 EXPECT_THAT(make_tuple(packet.data(), packet.size()), |
| 158 ElementsAreArray(kEmptyPacket)); | 158 ElementsAreArray(kEmptyPacket)); |
| 159 } | 159 } |
| 160 | 160 |
| 161 TEST_F(RtcpPacketExtendedReportsTest, ParseWithoutReportBlocks) { | 161 TEST_F(RtcpPacketExtendedReportsTest, ParseWithoutReportBlocks) { |
| 162 ExtendedReports parsed; | 162 ExtendedReports parsed; |
| 163 EXPECT_TRUE(test::ParseSinglePacket(kEmptyPacket, &parsed)); | 163 EXPECT_TRUE(test::ParseSinglePacket(kEmptyPacket, &parsed)); |
| 164 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 164 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 165 EXPECT_THAT(parsed.rrtrs(), IsEmpty()); | 165 EXPECT_THAT(parsed.rrtrs(), IsEmpty()); |
| 166 EXPECT_THAT(parsed.dlrrs(), IsEmpty()); | 166 EXPECT_THAT(parsed.dlrrs(), IsEmpty()); |
| 167 EXPECT_THAT(parsed.voip_metrics(), IsEmpty()); | 167 EXPECT_THAT(parsed.voip_metrics(), IsEmpty()); |
| 168 } | 168 } |
| 169 | 169 |
| 170 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithOneRrtrBlock) { | 170 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithOneRrtrBlock) { |
| 171 Rrtr rrtr = Rand<Rrtr>(); | 171 Rrtr rrtr = Rand<Rrtr>(); |
| 172 ExtendedReports xr; | 172 ExtendedReports xr; |
| 173 xr.SetSenderSsrc(kSenderSsrc); | 173 xr.From(kSenderSsrc); |
| 174 EXPECT_TRUE(xr.AddRrtr(rrtr)); | 174 EXPECT_TRUE(xr.WithRrtr(rrtr)); |
| 175 rtc::Buffer packet = xr.Build(); | 175 rtc::Buffer packet = xr.Build(); |
| 176 | 176 |
| 177 ExtendedReports mparsed; | 177 ExtendedReports mparsed; |
| 178 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 178 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 179 const ExtendedReports& parsed = mparsed; | 179 const ExtendedReports& parsed = mparsed; |
| 180 | 180 |
| 181 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 181 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 182 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr)); | 182 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr)); |
| 183 } | 183 } |
| 184 | 184 |
| 185 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithTwoRrtrBlocks) { | 185 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithTwoRrtrBlocks) { |
| 186 Rrtr rrtr1 = Rand<Rrtr>(); | 186 Rrtr rrtr1 = Rand<Rrtr>(); |
| 187 Rrtr rrtr2 = Rand<Rrtr>(); | 187 Rrtr rrtr2 = Rand<Rrtr>(); |
| 188 ExtendedReports xr; | 188 ExtendedReports xr; |
| 189 xr.SetSenderSsrc(kSenderSsrc); | 189 xr.From(kSenderSsrc); |
| 190 EXPECT_TRUE(xr.AddRrtr(rrtr1)); | 190 EXPECT_TRUE(xr.WithRrtr(rrtr1)); |
| 191 EXPECT_TRUE(xr.AddRrtr(rrtr2)); | 191 EXPECT_TRUE(xr.WithRrtr(rrtr2)); |
| 192 | 192 |
| 193 rtc::Buffer packet = xr.Build(); | 193 rtc::Buffer packet = xr.Build(); |
| 194 | 194 |
| 195 ExtendedReports mparsed; | 195 ExtendedReports mparsed; |
| 196 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 196 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 197 const ExtendedReports& parsed = mparsed; | 197 const ExtendedReports& parsed = mparsed; |
| 198 | 198 |
| 199 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 199 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 200 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr1, rrtr2)); | 200 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr1, rrtr2)); |
| 201 } | 201 } |
| 202 | 202 |
| 203 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithDlrrWithOneSubBlock) { | 203 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithDlrrWithOneSubBlock) { |
| 204 Dlrr dlrr; | 204 Dlrr dlrr; |
| 205 EXPECT_TRUE(dlrr.AddDlrrItem(Rand<ReceiveTimeInfo>())); | 205 EXPECT_TRUE(dlrr.WithDlrrItem(Rand<ReceiveTimeInfo>())); |
| 206 ExtendedReports xr; | 206 ExtendedReports xr; |
| 207 xr.SetSenderSsrc(kSenderSsrc); | 207 xr.From(kSenderSsrc); |
| 208 EXPECT_TRUE(xr.AddDlrr(dlrr)); | 208 EXPECT_TRUE(xr.WithDlrr(dlrr)); |
| 209 | 209 |
| 210 rtc::Buffer packet = xr.Build(); | 210 rtc::Buffer packet = xr.Build(); |
| 211 | 211 |
| 212 ExtendedReports mparsed; | 212 ExtendedReports mparsed; |
| 213 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 213 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 214 const ExtendedReports& parsed = mparsed; | 214 const ExtendedReports& parsed = mparsed; |
| 215 | 215 |
| 216 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 216 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 217 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr)); | 217 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr)); |
| 218 } | 218 } |
| 219 | 219 |
| 220 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithDlrrWithTwoSubBlocks) { | 220 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithDlrrWithTwoSubBlocks) { |
| 221 Dlrr dlrr; | 221 Dlrr dlrr; |
| 222 EXPECT_TRUE(dlrr.AddDlrrItem(Rand<ReceiveTimeInfo>())); | 222 EXPECT_TRUE(dlrr.WithDlrrItem(Rand<ReceiveTimeInfo>())); |
| 223 EXPECT_TRUE(dlrr.AddDlrrItem(Rand<ReceiveTimeInfo>())); | 223 EXPECT_TRUE(dlrr.WithDlrrItem(Rand<ReceiveTimeInfo>())); |
| 224 ExtendedReports xr; | 224 ExtendedReports xr; |
| 225 xr.SetSenderSsrc(kSenderSsrc); | 225 xr.From(kSenderSsrc); |
| 226 EXPECT_TRUE(xr.AddDlrr(dlrr)); | 226 EXPECT_TRUE(xr.WithDlrr(dlrr)); |
| 227 | 227 |
| 228 rtc::Buffer packet = xr.Build(); | 228 rtc::Buffer packet = xr.Build(); |
| 229 | 229 |
| 230 ExtendedReports mparsed; | 230 ExtendedReports mparsed; |
| 231 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 231 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 232 const ExtendedReports& parsed = mparsed; | 232 const ExtendedReports& parsed = mparsed; |
| 233 | 233 |
| 234 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 234 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 235 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr)); | 235 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr)); |
| 236 } | 236 } |
| 237 | 237 |
| 238 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithTwoDlrrBlocks) { | 238 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithTwoDlrrBlocks) { |
| 239 Dlrr dlrr1; | 239 Dlrr dlrr1; |
| 240 EXPECT_TRUE(dlrr1.AddDlrrItem(Rand<ReceiveTimeInfo>())); | 240 EXPECT_TRUE(dlrr1.WithDlrrItem(Rand<ReceiveTimeInfo>())); |
| 241 Dlrr dlrr2; | 241 Dlrr dlrr2; |
| 242 EXPECT_TRUE(dlrr2.AddDlrrItem(Rand<ReceiveTimeInfo>())); | 242 EXPECT_TRUE(dlrr2.WithDlrrItem(Rand<ReceiveTimeInfo>())); |
| 243 ExtendedReports xr; | 243 ExtendedReports xr; |
| 244 xr.SetSenderSsrc(kSenderSsrc); | 244 xr.From(kSenderSsrc); |
| 245 EXPECT_TRUE(xr.AddDlrr(dlrr1)); | 245 EXPECT_TRUE(xr.WithDlrr(dlrr1)); |
| 246 EXPECT_TRUE(xr.AddDlrr(dlrr2)); | 246 EXPECT_TRUE(xr.WithDlrr(dlrr2)); |
| 247 | 247 |
| 248 rtc::Buffer packet = xr.Build(); | 248 rtc::Buffer packet = xr.Build(); |
| 249 | 249 |
| 250 ExtendedReports mparsed; | 250 ExtendedReports mparsed; |
| 251 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 251 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 252 const ExtendedReports& parsed = mparsed; | 252 const ExtendedReports& parsed = mparsed; |
| 253 | 253 |
| 254 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 254 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 255 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr1, dlrr2)); | 255 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr1, dlrr2)); |
| 256 } | 256 } |
| 257 | 257 |
| 258 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithVoipMetric) { | 258 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithVoipMetric) { |
| 259 VoipMetric voip_metric = Rand<VoipMetric>(); | 259 VoipMetric voip_metric = Rand<VoipMetric>(); |
| 260 | 260 |
| 261 ExtendedReports xr; | 261 ExtendedReports xr; |
| 262 xr.SetSenderSsrc(kSenderSsrc); | 262 xr.From(kSenderSsrc); |
| 263 EXPECT_TRUE(xr.AddVoipMetric(voip_metric)); | 263 EXPECT_TRUE(xr.WithVoipMetric(voip_metric)); |
| 264 | 264 |
| 265 rtc::Buffer packet = xr.Build(); | 265 rtc::Buffer packet = xr.Build(); |
| 266 | 266 |
| 267 ExtendedReports mparsed; | 267 ExtendedReports mparsed; |
| 268 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 268 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 269 const ExtendedReports& parsed = mparsed; | 269 const ExtendedReports& parsed = mparsed; |
| 270 | 270 |
| 271 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 271 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 272 EXPECT_THAT(parsed.voip_metrics(), ElementsAre(voip_metric)); | 272 EXPECT_THAT(parsed.voip_metrics(), ElementsAre(voip_metric)); |
| 273 } | 273 } |
| 274 | 274 |
| 275 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithMultipleReportBlocks) { | 275 TEST_F(RtcpPacketExtendedReportsTest, CreateAndParseWithMultipleReportBlocks) { |
| 276 Rrtr rrtr = Rand<Rrtr>(); | 276 Rrtr rrtr = Rand<Rrtr>(); |
| 277 Dlrr dlrr; | 277 Dlrr dlrr; |
| 278 EXPECT_TRUE(dlrr.AddDlrrItem(Rand<ReceiveTimeInfo>())); | 278 EXPECT_TRUE(dlrr.WithDlrrItem(Rand<ReceiveTimeInfo>())); |
| 279 VoipMetric metric = Rand<VoipMetric>(); | 279 VoipMetric metric = Rand<VoipMetric>(); |
| 280 ExtendedReports xr; | 280 ExtendedReports xr; |
| 281 xr.SetSenderSsrc(kSenderSsrc); | 281 xr.From(kSenderSsrc); |
| 282 EXPECT_TRUE(xr.AddRrtr(rrtr)); | 282 EXPECT_TRUE(xr.WithRrtr(rrtr)); |
| 283 EXPECT_TRUE(xr.AddDlrr(dlrr)); | 283 EXPECT_TRUE(xr.WithDlrr(dlrr)); |
| 284 EXPECT_TRUE(xr.AddVoipMetric(metric)); | 284 EXPECT_TRUE(xr.WithVoipMetric(metric)); |
| 285 | 285 |
| 286 rtc::Buffer packet = xr.Build(); | 286 rtc::Buffer packet = xr.Build(); |
| 287 | 287 |
| 288 ExtendedReports mparsed; | 288 ExtendedReports mparsed; |
| 289 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 289 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 290 const ExtendedReports& parsed = mparsed; | 290 const ExtendedReports& parsed = mparsed; |
| 291 | 291 |
| 292 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); | 292 EXPECT_EQ(kSenderSsrc, parsed.sender_ssrc()); |
| 293 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr)); | 293 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr)); |
| 294 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr)); | 294 EXPECT_THAT(parsed.dlrrs(), ElementsAre(dlrr)); |
| 295 EXPECT_THAT(parsed.voip_metrics(), ElementsAre(metric)); | 295 EXPECT_THAT(parsed.voip_metrics(), ElementsAre(metric)); |
| 296 } | 296 } |
| 297 | 297 |
| 298 TEST_F(RtcpPacketExtendedReportsTest, DlrrWithoutItemNotIncludedInPacket) { | 298 TEST_F(RtcpPacketExtendedReportsTest, DlrrWithoutItemNotIncludedInPacket) { |
| 299 Rrtr rrtr = Rand<Rrtr>(); | 299 Rrtr rrtr = Rand<Rrtr>(); |
| 300 Dlrr dlrr; | 300 Dlrr dlrr; |
| 301 VoipMetric metric = Rand<VoipMetric>(); | 301 VoipMetric metric = Rand<VoipMetric>(); |
| 302 ExtendedReports xr; | 302 ExtendedReports xr; |
| 303 xr.SetSenderSsrc(kSenderSsrc); | 303 xr.From(kSenderSsrc); |
| 304 EXPECT_TRUE(xr.AddRrtr(rrtr)); | 304 EXPECT_TRUE(xr.WithRrtr(rrtr)); |
| 305 EXPECT_TRUE(xr.AddDlrr(dlrr)); | 305 EXPECT_TRUE(xr.WithDlrr(dlrr)); |
| 306 EXPECT_TRUE(xr.AddVoipMetric(metric)); | 306 EXPECT_TRUE(xr.WithVoipMetric(metric)); |
| 307 | 307 |
| 308 rtc::Buffer packet = xr.Build(); | 308 rtc::Buffer packet = xr.Build(); |
| 309 | 309 |
| 310 ExtendedReports mparsed; | 310 ExtendedReports mparsed; |
| 311 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); | 311 EXPECT_TRUE(test::ParseSinglePacket(packet, &mparsed)); |
| 312 const ExtendedReports& parsed = mparsed; | 312 const ExtendedReports& parsed = mparsed; |
| 313 | 313 |
| 314 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr)); | 314 EXPECT_THAT(parsed.rrtrs(), ElementsAre(rrtr)); |
| 315 EXPECT_THAT(parsed.dlrrs(), IsEmpty()); | 315 EXPECT_THAT(parsed.dlrrs(), IsEmpty()); |
| 316 EXPECT_THAT(parsed.voip_metrics(), ElementsAre(metric)); | 316 EXPECT_THAT(parsed.voip_metrics(), ElementsAre(metric)); |
| 317 } | 317 } |
| 318 | 318 |
| 319 TEST_F(RtcpPacketExtendedReportsTest, WithTooManyBlocks) { | 319 TEST_F(RtcpPacketExtendedReportsTest, WithTooManyBlocks) { |
| 320 const size_t kMaxBlocks = 50; | 320 const size_t kMaxBlocks = 50; |
| 321 ExtendedReports xr; | 321 ExtendedReports xr; |
| 322 | 322 |
| 323 Rrtr rrtr = Rand<Rrtr>(); | 323 Rrtr rrtr = Rand<Rrtr>(); |
| 324 for (size_t i = 0; i < kMaxBlocks; ++i) | 324 for (size_t i = 0; i < kMaxBlocks; ++i) |
| 325 EXPECT_TRUE(xr.AddRrtr(rrtr)); | 325 EXPECT_TRUE(xr.WithRrtr(rrtr)); |
| 326 EXPECT_FALSE(xr.AddRrtr(rrtr)); | 326 EXPECT_FALSE(xr.WithRrtr(rrtr)); |
| 327 | 327 |
| 328 Dlrr dlrr; | 328 Dlrr dlrr; |
| 329 for (size_t i = 0; i < kMaxBlocks; ++i) | 329 for (size_t i = 0; i < kMaxBlocks; ++i) |
| 330 EXPECT_TRUE(xr.AddDlrr(dlrr)); | 330 EXPECT_TRUE(xr.WithDlrr(dlrr)); |
| 331 EXPECT_FALSE(xr.AddDlrr(dlrr)); | 331 EXPECT_FALSE(xr.WithDlrr(dlrr)); |
| 332 | 332 |
| 333 VoipMetric voip_metric = Rand<VoipMetric>(); | 333 VoipMetric voip_metric = Rand<VoipMetric>(); |
| 334 for (size_t i = 0; i < kMaxBlocks; ++i) | 334 for (size_t i = 0; i < kMaxBlocks; ++i) |
| 335 EXPECT_TRUE(xr.AddVoipMetric(voip_metric)); | 335 EXPECT_TRUE(xr.WithVoipMetric(voip_metric)); |
| 336 EXPECT_FALSE(xr.AddVoipMetric(voip_metric)); | 336 EXPECT_FALSE(xr.WithVoipMetric(voip_metric)); |
| 337 } | 337 } |
| 338 } // namespace webrtc | 338 } // namespace webrtc |
| OLD | NEW |