Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Side by Side Diff: webrtc/video/end_to_end_tests.cc

Issue 2337453002: H.264 packetization mode 0 (try 2) (Closed)
Patch Set: Upload try 2 (with rebase) Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/video/BUILD.gn ('k') | webrtc/video/payload_router.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 void VerifyHistogramStats(bool use_rtx, bool use_red, bool screenshare); 123 void VerifyHistogramStats(bool use_rtx, bool use_red, bool screenshare);
124 void VerifyNewVideoSendStreamsRespectNetworkState( 124 void VerifyNewVideoSendStreamsRespectNetworkState(
125 MediaType network_to_bring_down, 125 MediaType network_to_bring_down,
126 VideoEncoder* encoder, 126 VideoEncoder* encoder,
127 Transport* transport); 127 Transport* transport);
128 void VerifyNewVideoReceiveStreamsRespectNetworkState( 128 void VerifyNewVideoReceiveStreamsRespectNetworkState(
129 MediaType network_to_bring_down, 129 MediaType network_to_bring_down,
130 Transport* transport); 130 Transport* transport);
131 }; 131 };
132 132
133 void SetPacketizationMode(H264PacketizationMode mode, VideoEncoder* encoder) {
134 VideoCodec codec_settings;
135 codec_settings.codecType = kVideoCodecH264;
136 codec_settings.H264()->packetization_mode = mode;
137 // TODO(hta): Determine appropriate value for max packet size.
138 static const int kMaxPacketSize = 1024;
139 encoder->InitEncode(&codec_settings, 0, kMaxPacketSize);
140 }
141
133 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) { 142 TEST_F(EndToEndTest, ReceiverCanBeStartedTwice) {
134 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_)); 143 CreateCalls(Call::Config(&event_log_), Call::Config(&event_log_));
135 144
136 test::NullTransport transport; 145 test::NullTransport transport;
137 CreateSendConfig(1, 0, &transport); 146 CreateSendConfig(1, 0, &transport);
138 CreateMatchingReceiveConfigs(&transport); 147 CreateMatchingReceiveConfigs(&transport);
139 148
140 CreateVideoStreams(); 149 CreateVideoStreams();
141 150
142 video_receive_streams_[0]->Start(); 151 video_receive_streams_[0]->Start();
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 } 377 }
369 378
370 TEST_F(EndToEndTest, SendsAndReceivesVP9VideoRotation90) { 379 TEST_F(EndToEndTest, SendsAndReceivesVP9VideoRotation90) {
371 CodecObserver test(5, kVideoRotation_90, "VP9", 380 CodecObserver test(5, kVideoRotation_90, "VP9",
372 VideoEncoder::Create(VideoEncoder::kVp9), 381 VideoEncoder::Create(VideoEncoder::kVp9),
373 VP9Decoder::Create()); 382 VP9Decoder::Create());
374 RunBaseTest(&test); 383 RunBaseTest(&test);
375 } 384 }
376 #endif // !defined(RTC_DISABLE_VP9) 385 #endif // !defined(RTC_DISABLE_VP9)
377 386
378 #if defined(WEBRTC_END_TO_END_H264_TESTS) 387 #if defined(WEBRTC_USE_H264)
379 388
380 TEST_F(EndToEndTest, SendsAndReceivesH264) { 389 TEST_F(EndToEndTest, SendsAndReceivesH264) {
381 CodecObserver test(500, kVideoRotation_0, "H264", 390 CodecObserver test(500, kVideoRotation_0, "H264",
382 VideoEncoder::Create(VideoEncoder::kH264), 391 VideoEncoder::Create(VideoEncoder::kH264),
383 H264Decoder::Create()); 392 H264Decoder::Create());
384 RunBaseTest(&test); 393 RunBaseTest(&test);
385 } 394 }
386 395
387 TEST_F(EndToEndTest, SendsAndReceivesH264VideoRotation90) { 396 TEST_F(EndToEndTest, SendsAndReceivesH264VideoRotation90) {
388 CodecObserver test(5, kVideoRotation_90, "H264", 397 CodecObserver test(5, kVideoRotation_90, "H264",
389 VideoEncoder::Create(VideoEncoder::kH264), 398 VideoEncoder::Create(VideoEncoder::kH264),
390 H264Decoder::Create()); 399 H264Decoder::Create());
391 RunBaseTest(&test); 400 RunBaseTest(&test);
392 } 401 }
393 402
394 #endif // defined(WEBRTC_END_TO_END_H264_TESTS) 403 TEST_F(EndToEndTest, SendsAndReceivesH264PacketizationMode0) {
404 VideoEncoder* encoder = VideoEncoder::Create(VideoEncoder::kH264);
405 SetPacketizationMode(kH264PacketizationMode0, encoder);
406 // The CodecObserver takes ownership of the encoder.
407 CodecObserver test(500, kVideoRotation_0, "H264", encoder,
408 H264Decoder::Create());
409 RunBaseTest(&test);
410 }
411
412 TEST_F(EndToEndTest, SendsAndReceivesH264PacketizationMode1) {
413 VideoEncoder* encoder = VideoEncoder::Create(VideoEncoder::kH264);
414 SetPacketizationMode(kH264PacketizationMode1, encoder);
415 // The CodecObserver takes ownership of the encoder.
416 CodecObserver test(500, kVideoRotation_0, "H264", encoder,
417 H264Decoder::Create());
418 RunBaseTest(&test);
419 }
420
421 #endif // defined(WEBRTC_USE_H264)
395 422
396 TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) { 423 TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) {
397 class SyncRtcpObserver : public test::EndToEndTest { 424 class SyncRtcpObserver : public test::EndToEndTest {
398 public: 425 public:
399 SyncRtcpObserver() : EndToEndTest(kDefaultTimeoutMs) {} 426 SyncRtcpObserver() : EndToEndTest(kDefaultTimeoutMs) {}
400 427
401 Action OnReceiveRtcp(const uint8_t* packet, size_t length) override { 428 Action OnReceiveRtcp(const uint8_t* packet, size_t length) override {
402 test::RtcpPacketParser parser; 429 test::RtcpPacketParser parser;
403 EXPECT_TRUE(parser.Parse(packet, length)); 430 EXPECT_TRUE(parser.Parse(packet, length));
404 EXPECT_EQ(kReceiverLocalVideoSsrc, parser.sender_ssrc()); 431 EXPECT_EQ(kReceiverLocalVideoSsrc, parser.sender_ssrc());
(...skipping 3504 matching lines...) Expand 10 before | Expand all | Expand 10 after
3909 std::unique_ptr<VideoEncoder> encoder_; 3936 std::unique_ptr<VideoEncoder> encoder_;
3910 std::unique_ptr<VideoDecoder> decoder_; 3937 std::unique_ptr<VideoDecoder> decoder_;
3911 rtc::CriticalSection crit_; 3938 rtc::CriticalSection crit_;
3912 int recorded_frames_ GUARDED_BY(crit_); 3939 int recorded_frames_ GUARDED_BY(crit_);
3913 } test(this); 3940 } test(this);
3914 3941
3915 RunBaseTest(&test); 3942 RunBaseTest(&test);
3916 } 3943 }
3917 3944
3918 } // namespace webrtc 3945 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/BUILD.gn ('k') | webrtc/video/payload_router.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698