OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include <algorithm> // max | 10 #include <algorithm> // max |
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 } | 367 } |
368 | 368 |
369 void PerformTest() override { | 369 void PerformTest() override { |
370 EXPECT_TRUE(Wait()) << "Timed out while waiting for timing frames."; | 370 EXPECT_TRUE(Wait()) << "Timed out while waiting for timing frames."; |
371 } | 371 } |
372 } test; | 372 } test; |
373 | 373 |
374 RunBaseTest(&test); | 374 RunBaseTest(&test); |
375 } | 375 } |
376 | 376 |
377 class FakeReceiveStatistics : public NullReceiveStatistics { | 377 class FakeReceiveStatistics : public ReceiveStatisticsProvider { |
378 public: | 378 public: |
379 FakeReceiveStatistics(uint32_t send_ssrc, | 379 FakeReceiveStatistics(uint32_t send_ssrc, |
380 uint32_t last_sequence_number, | 380 uint32_t last_sequence_number, |
381 uint32_t cumulative_lost, | 381 uint32_t cumulative_lost, |
382 uint8_t fraction_lost) | 382 uint8_t fraction_lost) { |
383 : lossy_stats_(new LossyStatistician(last_sequence_number, | 383 stat_.SetMediaSsrc(send_ssrc); |
384 cumulative_lost, | 384 stat_.SetExtHighestSeqNum(last_sequence_number); |
385 fraction_lost)) { | 385 stat_.SetCumulativeLost(cumulative_lost); |
386 stats_map_[send_ssrc] = lossy_stats_.get(); | 386 stat_.SetFractionLost(fraction_lost); |
387 } | 387 } |
388 | 388 |
389 StatisticianMap GetActiveStatisticians() const override { return stats_map_; } | 389 std::vector<rtcp::ReportBlock> RtcpReportBlocks(size_t max_blocks) override { |
390 | 390 EXPECT_GE(max_blocks, 1u); |
391 StreamStatistician* GetStatistician(uint32_t ssrc) const override { | 391 return {stat_}; |
392 return lossy_stats_.get(); | |
393 } | 392 } |
394 | 393 |
395 private: | 394 private: |
396 class LossyStatistician : public StreamStatistician { | 395 rtcp::ReportBlock stat_; |
397 public: | |
398 LossyStatistician(uint32_t extended_max_sequence_number, | |
399 uint32_t cumulative_lost, | |
400 uint8_t fraction_lost) { | |
401 stats_.fraction_lost = fraction_lost; | |
402 stats_.cumulative_lost = cumulative_lost; | |
403 stats_.extended_max_sequence_number = extended_max_sequence_number; | |
404 } | |
405 bool GetStatistics(RtcpStatistics* statistics, bool reset) override { | |
406 *statistics = stats_; | |
407 return true; | |
408 } | |
409 void GetDataCounters(size_t* bytes_received, | |
410 uint32_t* packets_received) const override { | |
411 *bytes_received = 0; | |
412 *packets_received = 0; | |
413 } | |
414 void GetReceiveStreamDataCounters( | |
415 StreamDataCounters* data_counters) const override {} | |
416 uint32_t BitrateReceived() const override { return 0; } | |
417 bool IsRetransmitOfOldPacket(const RTPHeader& header, | |
418 int64_t min_rtt) const override { | |
419 return false; | |
420 } | |
421 | |
422 bool IsPacketInOrder(uint16_t sequence_number) const override { | |
423 return true; | |
424 } | |
425 | |
426 RtcpStatistics stats_; | |
427 }; | |
428 | |
429 std::unique_ptr<LossyStatistician> lossy_stats_; | |
430 StatisticianMap stats_map_; | |
431 }; | 396 }; |
432 | 397 |
433 class UlpfecObserver : public test::EndToEndTest { | 398 class UlpfecObserver : public test::EndToEndTest { |
434 public: | 399 public: |
435 UlpfecObserver(bool header_extensions_enabled, | 400 UlpfecObserver(bool header_extensions_enabled, |
436 bool use_nack, | 401 bool use_nack, |
437 bool expect_red, | 402 bool expect_red, |
438 bool expect_ulpfec, | 403 bool expect_ulpfec, |
439 const std::string& codec, | 404 const std::string& codec, |
440 VideoEncoder* encoder) | 405 VideoEncoder* encoder) |
(...skipping 3007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3448 capturer_ = frame_generator_capturer; | 3413 capturer_ = frame_generator_capturer; |
3449 } | 3414 } |
3450 | 3415 |
3451 test::FrameGeneratorCapturer* capturer_ = nullptr; | 3416 test::FrameGeneratorCapturer* capturer_ = nullptr; |
3452 } test; | 3417 } test; |
3453 | 3418 |
3454 RunBaseTest(&test); | 3419 RunBaseTest(&test); |
3455 } | 3420 } |
3456 | 3421 |
3457 } // namespace webrtc | 3422 } // namespace webrtc |
OLD | NEW |