| 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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 void VerifyHistogramStats(bool use_rtx, bool use_red, bool screenshare); | 124 void VerifyHistogramStats(bool use_rtx, bool use_red, bool screenshare); |
| 125 void VerifyNewVideoSendStreamsRespectNetworkState( | 125 void VerifyNewVideoSendStreamsRespectNetworkState( |
| 126 MediaType network_to_bring_down, | 126 MediaType network_to_bring_down, |
| 127 VideoEncoder* encoder, | 127 VideoEncoder* encoder, |
| 128 Transport* transport); | 128 Transport* transport); |
| 129 void VerifyNewVideoReceiveStreamsRespectNetworkState( | 129 void VerifyNewVideoReceiveStreamsRespectNetworkState( |
| 130 MediaType network_to_bring_down, | 130 MediaType network_to_bring_down, |
| 131 Transport* transport); | 131 Transport* transport); |
| 132 }; | 132 }; |
| 133 | 133 |
| 134 void SetPacketizationMode(H264PacketizationMode mode, VideoEncoder* encoder) { |
| 135 VideoCodec codec_settings; |
| 136 codec_settings.codecType = kVideoCodecH264; |
| 137 codec_settings.H264()->packetization_mode = mode; |
| 138 // TODO(hta): Determine appropriate value for max packet size. |
| 139 static const int kMaxPacketSize = 1024; |
| 140 encoder->InitEncode(&codec_settings, 0, kMaxPacketSize); |
| 141 } |
| 142 |
| 134 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) { | 143 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) { |
| 135 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); | 144 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); |
| 136 | 145 |
| 137 test::NullTransport transport; | 146 test::NullTransport transport; |
| 138 CreateSendConfig(1, 0, &transport); | 147 CreateSendConfig(1, 0, &transport); |
| 139 CreateMatchingReceiveConfigs(&transport); | 148 CreateMatchingReceiveConfigs(&transport); |
| 140 | 149 |
| 141 CreateVideoStreams(); | 150 CreateVideoStreams(); |
| 142 | 151 |
| 143 video_receive_streams_[0]->Start(); | 152 video_receive_streams_[0]->Start(); |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 } | 376 } |
| 368 | 377 |
| 369 TEST_F(EndToEndTest, SendsAndReceivesVP9VideoRotation90) { | 378 TEST_F(EndToEndTest, SendsAndReceivesVP9VideoRotation90) { |
| 370 CodecObserver test(5, kVideoRotation_90, "VP9", | 379 CodecObserver test(5, kVideoRotation_90, "VP9", |
| 371 VideoEncoder::Create(VideoEncoder::kVp9), | 380 VideoEncoder::Create(VideoEncoder::kVp9), |
| 372 VP9Decoder::Create()); | 381 VP9Decoder::Create()); |
| 373 RunBaseTest(&test); | 382 RunBaseTest(&test); |
| 374 } | 383 } |
| 375 #endif // !defined(RTC_DISABLE_VP9) | 384 #endif // !defined(RTC_DISABLE_VP9) |
| 376 | 385 |
| 377 #if defined(WEBRTC_END_TO_END_H264_TESTS) | 386 #if defined(WEBRTC_USE_H264) |
| 378 | 387 |
| 379 TEST_F(EndToEndTest, SendsAndReceivesH264) { | 388 TEST_F(EndToEndTest, SendsAndReceivesH264) { |
| 380 CodecObserver test(500, kVideoRotation_0, "H264", | 389 CodecObserver test(500, kVideoRotation_0, "H264", |
| 381 VideoEncoder::Create(VideoEncoder::kH264), | 390 VideoEncoder::Create(VideoEncoder::kH264), |
| 382 H264Decoder::Create()); | 391 H264Decoder::Create()); |
| 383 RunBaseTest(&test); | 392 RunBaseTest(&test); |
| 384 } | 393 } |
| 385 | 394 |
| 386 TEST_F(EndToEndTest, SendsAndReceivesH264VideoRotation90) { | 395 TEST_F(EndToEndTest, SendsAndReceivesH264VideoRotation90) { |
| 387 CodecObserver test(5, kVideoRotation_90, "H264", | 396 CodecObserver test(5, kVideoRotation_90, "H264", |
| 388 VideoEncoder::Create(VideoEncoder::kH264), | 397 VideoEncoder::Create(VideoEncoder::kH264), |
| 389 H264Decoder::Create()); | 398 H264Decoder::Create()); |
| 390 RunBaseTest(&test); | 399 RunBaseTest(&test); |
| 391 } | 400 } |
| 392 | 401 |
| 393 #endif // defined(WEBRTC_END_TO_END_H264_TESTS) | 402 TEST_F(EndToEndTest, SendsAndReceivesH264PacketizationMode0) { |
| 403 VideoEncoder* encoder = VideoEncoder::Create(VideoEncoder::kH264); |
| 404 SetPacketizationMode(kH264PacketizationMode0, encoder); |
| 405 // The CodecObserver takes ownership of the encoder. |
| 406 CodecObserver test(500, kVideoRotation_0, "H264", encoder, |
| 407 H264Decoder::Create()); |
| 408 RunBaseTest(&test); |
| 409 } |
| 410 |
| 411 TEST_F(EndToEndTest, SendsAndReceivesH264PacketizationMode1) { |
| 412 VideoEncoder* encoder = VideoEncoder::Create(VideoEncoder::kH264); |
| 413 SetPacketizationMode(kH264PacketizationMode1, encoder); |
| 414 // The CodecObserver takes ownership of the encoder. |
| 415 CodecObserver test(500, kVideoRotation_0, "H264", encoder, |
| 416 H264Decoder::Create()); |
| 417 RunBaseTest(&test); |
| 418 } |
| 419 |
| 420 #endif // defined(WEBRTC_USE_H264) |
| 394 | 421 |
| 395 TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) { | 422 TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) { |
| 396 class SyncRtcpObserver : public test::EndToEndTest { | 423 class SyncRtcpObserver : public test::EndToEndTest { |
| 397 public: | 424 public: |
| 398 SyncRtcpObserver() : EndToEndTest(kDefaultTimeoutMs) {} | 425 SyncRtcpObserver() : EndToEndTest(kDefaultTimeoutMs) {} |
| 399 | 426 |
| 400 Action OnReceiveRtcp(const uint8_t* packet, size_t length) override { | 427 Action OnReceiveRtcp(const uint8_t* packet, size_t length) override { |
| 401 RTCPUtility::RTCPParserV2 parser(packet, length, true); | 428 RTCPUtility::RTCPParserV2 parser(packet, length, true); |
| 402 EXPECT_TRUE(parser.IsValid()); | 429 EXPECT_TRUE(parser.IsValid()); |
| 403 uint32_t ssrc = 0; | 430 uint32_t ssrc = 0; |
| (...skipping 3558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3962 std::unique_ptr<VideoEncoder> encoder_; | 3989 std::unique_ptr<VideoEncoder> encoder_; |
| 3963 std::unique_ptr<VideoDecoder> decoder_; | 3990 std::unique_ptr<VideoDecoder> decoder_; |
| 3964 rtc::CriticalSection crit_; | 3991 rtc::CriticalSection crit_; |
| 3965 int recorded_frames_ GUARDED_BY(crit_); | 3992 int recorded_frames_ GUARDED_BY(crit_); |
| 3966 } test(this); | 3993 } test(this); |
| 3967 | 3994 |
| 3968 RunBaseTest(&test); | 3995 RunBaseTest(&test); |
| 3969 } | 3996 } |
| 3970 | 3997 |
| 3971 } // namespace webrtc | 3998 } // namespace webrtc |
| OLD | NEW |