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> | 10 #include <algorithm> |
(...skipping 3422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3433 std::set<uint32_t> expected_send_ssrcs_; | 3433 std::set<uint32_t> expected_send_ssrcs_; |
3434 std::string expected_cname_; | 3434 std::string expected_cname_; |
3435 | 3435 |
3436 rtc::Event check_stats_event_; | 3436 rtc::Event check_stats_event_; |
3437 ReceiveStreamRenderer receive_stream_renderer_; | 3437 ReceiveStreamRenderer receive_stream_renderer_; |
3438 } test; | 3438 } test; |
3439 | 3439 |
3440 RunBaseTest(&test); | 3440 RunBaseTest(&test); |
3441 } | 3441 } |
3442 | 3442 |
| 3443 TEST_F(EndToEndTest, GetTimingFrameInfoReportsTimingFrames) { |
| 3444 static const int kExtensionId = 5; |
| 3445 |
| 3446 class StatsObserver : public test::EndToEndTest { |
| 3447 public: |
| 3448 StatsObserver() : EndToEndTest(kLongTimeoutMs) {} |
| 3449 |
| 3450 private: |
| 3451 std::string CompoundKey(const char* name, uint32_t ssrc) { |
| 3452 std::ostringstream oss; |
| 3453 oss << name << "_" << ssrc; |
| 3454 return oss.str(); |
| 3455 } |
| 3456 |
| 3457 void ModifyVideoConfigs( |
| 3458 VideoSendStream::Config* send_config, |
| 3459 std::vector<VideoReceiveStream::Config>* receive_configs, |
| 3460 VideoEncoderConfig* encoder_config) override { |
| 3461 send_config->rtp.extensions.clear(); |
| 3462 send_config->rtp.extensions.push_back( |
| 3463 RtpExtension(RtpExtension::kVideoTimingUri, kExtensionId)); |
| 3464 for (size_t i = 0; i < receive_configs->size(); ++i) { |
| 3465 (*receive_configs)[i].rtp.extensions.clear(); |
| 3466 (*receive_configs)[i].rtp.extensions.push_back( |
| 3467 RtpExtension(RtpExtension::kVideoTimingUri, kExtensionId)); |
| 3468 } |
| 3469 } |
| 3470 |
| 3471 void OnVideoStreamsCreated( |
| 3472 VideoSendStream* send_stream, |
| 3473 const std::vector<VideoReceiveStream*>& receive_streams) override { |
| 3474 receive_streams_ = receive_streams; |
| 3475 } |
| 3476 |
| 3477 void PerformTest() override { |
| 3478 // No frames reported initially. |
| 3479 for (size_t i = 0; i < receive_streams_.size(); ++i) { |
| 3480 EXPECT_FALSE(receive_streams_[i]->GetTimingFrameInfo()); |
| 3481 } |
| 3482 // Wait for at least one timing frame to be sent with 100ms grace period. |
| 3483 SleepMs(kDefaultTimingFramesDelayMs + 100); |
| 3484 // Check that timing frames are reported for each stream. |
| 3485 for (size_t i = 0; i < receive_streams_.size(); ++i) { |
| 3486 EXPECT_TRUE(receive_streams_[i]->GetTimingFrameInfo()); |
| 3487 } |
| 3488 } |
| 3489 |
| 3490 std::vector<VideoReceiveStream*> receive_streams_; |
| 3491 } test; |
| 3492 |
| 3493 RunBaseTest(&test); |
| 3494 } |
| 3495 |
3443 class RtcpXrObserver : public test::EndToEndTest { | 3496 class RtcpXrObserver : public test::EndToEndTest { |
3444 public: | 3497 public: |
3445 RtcpXrObserver(bool enable_rrtr, bool enable_target_bitrate) | 3498 RtcpXrObserver(bool enable_rrtr, bool enable_target_bitrate) |
3446 : EndToEndTest(test::CallTest::kDefaultTimeoutMs), | 3499 : EndToEndTest(test::CallTest::kDefaultTimeoutMs), |
3447 enable_rrtr_(enable_rrtr), | 3500 enable_rrtr_(enable_rrtr), |
3448 enable_target_bitrate_(enable_target_bitrate), | 3501 enable_target_bitrate_(enable_target_bitrate), |
3449 sent_rtcp_sr_(0), | 3502 sent_rtcp_sr_(0), |
3450 sent_rtcp_rr_(0), | 3503 sent_rtcp_rr_(0), |
3451 sent_rtcp_rrtr_(0), | 3504 sent_rtcp_rrtr_(0), |
3452 sent_rtcp_target_bitrate_(false), | 3505 sent_rtcp_target_bitrate_(false), |
(...skipping 1249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4702 std::unique_ptr<VideoEncoder> encoder_; | 4755 std::unique_ptr<VideoEncoder> encoder_; |
4703 std::unique_ptr<VideoDecoder> decoder_; | 4756 std::unique_ptr<VideoDecoder> decoder_; |
4704 rtc::CriticalSection crit_; | 4757 rtc::CriticalSection crit_; |
4705 int recorded_frames_ GUARDED_BY(crit_); | 4758 int recorded_frames_ GUARDED_BY(crit_); |
4706 } test(this); | 4759 } test(this); |
4707 | 4760 |
4708 RunBaseTest(&test); | 4761 RunBaseTest(&test); |
4709 } | 4762 } |
4710 | 4763 |
4711 } // namespace webrtc | 4764 } // namespace webrtc |
OLD | NEW |