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

Side by Side Diff: media/cast/test/end2end_unittest.cc

Issue 2133903002: RELAND: Merge VideoSenderConfig and AudioSenderConfig. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Disabled two unittests. Created 4 years, 5 months 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 | « media/cast/test/cast_benchmarks.cc ('k') | media/cast/test/fake_media_source.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // This test generate synthetic data. For audio it's a sinusoid waveform with 5 // This test generate synthetic data. For audio it's a sinusoid waveform with
6 // frequency kSoundFrequency and different amplitudes. For video it's a pattern 6 // frequency kSoundFrequency and different amplitudes. For video it's a pattern
7 // that is shifting by one pixel per frame, each pixels neighbors right and down 7 // that is shifting by one pixel per frame, each pixels neighbors right and down
8 // is this pixels value +1, since the pixel value is 8 bit it will wrap 8 // is this pixels value +1, since the pixel value is 8 bit it will wrap
9 // frequently within the image. Visually this will create diagonally color bands 9 // frequently within the image. Visually this will create diagonally color bands
10 // that moves across the screen 10 // that moves across the screen
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 receiver_to_sender_(new LoopBackTransport(cast_environment_receiver_)), 425 receiver_to_sender_(new LoopBackTransport(cast_environment_receiver_)),
426 sender_to_receiver_(new LoopBackTransport(cast_environment_sender_)), 426 sender_to_receiver_(new LoopBackTransport(cast_environment_sender_)),
427 test_receiver_audio_callback_(new TestReceiverAudioCallback()), 427 test_receiver_audio_callback_(new TestReceiverAudioCallback()),
428 test_receiver_video_callback_(new TestReceiverVideoCallback()) { 428 test_receiver_video_callback_(new TestReceiverVideoCallback()) {
429 testing_clock_.Advance( 429 testing_clock_.Advance(
430 base::TimeDelta::FromMilliseconds(kStartMillisecond)); 430 base::TimeDelta::FromMilliseconds(kStartMillisecond));
431 cast_environment_sender_->logger()->Subscribe(&event_subscriber_sender_); 431 cast_environment_sender_->logger()->Subscribe(&event_subscriber_sender_);
432 } 432 }
433 433
434 void Configure(Codec video_codec, Codec audio_codec) { 434 void Configure(Codec video_codec, Codec audio_codec) {
435 audio_sender_config_.ssrc = 1; 435 audio_sender_config_.sender_ssrc = 1;
436 audio_sender_config_.receiver_ssrc = 2; 436 audio_sender_config_.receiver_ssrc = 2;
437 audio_sender_config_.max_playout_delay = 437 audio_sender_config_.max_playout_delay =
438 base::TimeDelta::FromMilliseconds(kTargetPlayoutDelayMs); 438 base::TimeDelta::FromMilliseconds(kTargetPlayoutDelayMs);
439 audio_sender_config_.rtp_payload_type = RtpPayloadType::AUDIO_OPUS; 439 audio_sender_config_.rtp_payload_type = RtpPayloadType::AUDIO_OPUS;
440 audio_sender_config_.use_external_encoder = false; 440 audio_sender_config_.use_external_encoder = false;
441 audio_sender_config_.frequency = kDefaultAudioSamplingRate; 441 audio_sender_config_.rtp_timebase = kDefaultAudioSamplingRate;
442 audio_sender_config_.channels = kAudioChannels; 442 audio_sender_config_.channels = kAudioChannels;
443 audio_sender_config_.bitrate = kDefaultAudioEncoderBitrate; 443 audio_sender_config_.max_bitrate = kDefaultAudioEncoderBitrate;
444 audio_sender_config_.codec = audio_codec; 444 audio_sender_config_.codec = audio_codec;
445 audio_sender_config_.aes_iv_mask = 445 audio_sender_config_.aes_iv_mask =
446 ConvertFromBase16String("abcdeffedcba12345678900987654321"); 446 ConvertFromBase16String("abcdeffedcba12345678900987654321");
447 audio_sender_config_.aes_key = 447 audio_sender_config_.aes_key =
448 ConvertFromBase16String("deadbeefcafecafedeadbeefb0b0b0b0"); 448 ConvertFromBase16String("deadbeefcafecafedeadbeefb0b0b0b0");
449 449
450 audio_receiver_config_.receiver_ssrc = 450 audio_receiver_config_.receiver_ssrc =
451 audio_sender_config_.receiver_ssrc; 451 audio_sender_config_.receiver_ssrc;
452 audio_receiver_config_.sender_ssrc = audio_sender_config_.ssrc; 452 audio_receiver_config_.sender_ssrc = audio_sender_config_.sender_ssrc;
453 audio_receiver_config_.rtp_max_delay_ms = kTargetPlayoutDelayMs; 453 audio_receiver_config_.rtp_max_delay_ms = kTargetPlayoutDelayMs;
454 audio_receiver_config_.rtp_payload_type = 454 audio_receiver_config_.rtp_payload_type =
455 audio_sender_config_.rtp_payload_type; 455 audio_sender_config_.rtp_payload_type;
456 audio_receiver_config_.rtp_timebase = audio_sender_config_.frequency; 456 audio_receiver_config_.rtp_timebase = audio_sender_config_.rtp_timebase;
457 audio_receiver_config_.channels = kAudioChannels; 457 audio_receiver_config_.channels = kAudioChannels;
458 audio_receiver_config_.target_frame_rate = 100; 458 audio_receiver_config_.target_frame_rate = 100;
459 audio_receiver_config_.codec = audio_sender_config_.codec; 459 audio_receiver_config_.codec = audio_sender_config_.codec;
460 audio_receiver_config_.aes_iv_mask = audio_sender_config_.aes_iv_mask; 460 audio_receiver_config_.aes_iv_mask = audio_sender_config_.aes_iv_mask;
461 audio_receiver_config_.aes_key = audio_sender_config_.aes_key; 461 audio_receiver_config_.aes_key = audio_sender_config_.aes_key;
462 462
463 test_receiver_audio_callback_->SetExpectedSamplingFrequency( 463 test_receiver_audio_callback_->SetExpectedSamplingFrequency(
464 audio_receiver_config_.rtp_timebase); 464 audio_receiver_config_.rtp_timebase);
465 465
466 video_sender_config_.ssrc = 3; 466 video_sender_config_.sender_ssrc = 3;
467 video_sender_config_.receiver_ssrc = 4; 467 video_sender_config_.receiver_ssrc = 4;
468 video_sender_config_.max_playout_delay = 468 video_sender_config_.max_playout_delay =
469 base::TimeDelta::FromMilliseconds(kTargetPlayoutDelayMs); 469 base::TimeDelta::FromMilliseconds(kTargetPlayoutDelayMs);
470 video_sender_config_.rtp_payload_type = RtpPayloadType::VIDEO_VP8; 470 video_sender_config_.rtp_payload_type = RtpPayloadType::VIDEO_VP8;
471 video_sender_config_.use_external_encoder = false; 471 video_sender_config_.use_external_encoder = false;
472 video_sender_config_.max_bitrate = 50000; 472 video_sender_config_.max_bitrate = 50000;
473 video_sender_config_.min_bitrate = 10000; 473 video_sender_config_.min_bitrate = 10000;
474 video_sender_config_.start_bitrate = 10000; 474 video_sender_config_.start_bitrate = 10000;
475 video_sender_config_.max_qp = 30; 475 video_sender_config_.video_codec_params.max_qp = 30;
476 video_sender_config_.min_qp = 4; 476 video_sender_config_.video_codec_params.min_qp = 4;
477 video_sender_config_.max_frame_rate = 30; 477 video_sender_config_.max_frame_rate = 30;
478 video_sender_config_.codec = video_codec; 478 video_sender_config_.codec = video_codec;
479 video_sender_config_.aes_iv_mask = 479 video_sender_config_.aes_iv_mask =
480 ConvertFromBase16String("1234567890abcdeffedcba0987654321"); 480 ConvertFromBase16String("1234567890abcdeffedcba0987654321");
481 video_sender_config_.aes_key = 481 video_sender_config_.aes_key =
482 ConvertFromBase16String("deadbeefcafeb0b0b0b0cafedeadbeef"); 482 ConvertFromBase16String("deadbeefcafeb0b0b0b0cafedeadbeef");
483 483
484 video_receiver_config_.receiver_ssrc = 484 video_receiver_config_.receiver_ssrc =
485 video_sender_config_.receiver_ssrc; 485 video_sender_config_.receiver_ssrc;
486 video_receiver_config_.sender_ssrc = video_sender_config_.ssrc; 486 video_receiver_config_.sender_ssrc = video_sender_config_.sender_ssrc;
487 video_receiver_config_.rtp_max_delay_ms = kTargetPlayoutDelayMs; 487 video_receiver_config_.rtp_max_delay_ms = kTargetPlayoutDelayMs;
488 video_receiver_config_.rtp_payload_type = 488 video_receiver_config_.rtp_payload_type =
489 video_sender_config_.rtp_payload_type; 489 video_sender_config_.rtp_payload_type;
490 video_receiver_config_.rtp_timebase = kVideoFrequency; 490 video_receiver_config_.rtp_timebase = kVideoFrequency;
491 video_receiver_config_.channels = 1; 491 video_receiver_config_.channels = 1;
492 video_receiver_config_.target_frame_rate = 492 video_receiver_config_.target_frame_rate =
493 video_sender_config_.max_frame_rate; 493 video_sender_config_.max_frame_rate;
494 video_receiver_config_.codec = video_sender_config_.codec; 494 video_receiver_config_.codec = video_sender_config_.codec;
495 video_receiver_config_.aes_iv_mask = video_sender_config_.aes_iv_mask; 495 video_receiver_config_.aes_iv_mask = video_sender_config_.aes_iv_mask;
496 video_receiver_config_.aes_key = video_sender_config_.aes_key; 496 video_receiver_config_.aes_key = video_sender_config_.aes_key;
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 cast_receiver_->RequestDecodedVideoFrame( 827 cast_receiver_->RequestDecodedVideoFrame(
828 base::Bind(&End2EndTest::BasicPlayerGotVideoFrame, 828 base::Bind(&End2EndTest::BasicPlayerGotVideoFrame,
829 base::Unretained(this))); 829 base::Unretained(this)));
830 cast_receiver_->RequestDecodedAudioFrame( 830 cast_receiver_->RequestDecodedAudioFrame(
831 base::Bind(&End2EndTest::BasicPlayerGotAudioFrame, 831 base::Bind(&End2EndTest::BasicPlayerGotAudioFrame,
832 base::Unretained(this))); 832 base::Unretained(this)));
833 } 833 }
834 834
835 FrameReceiverConfig audio_receiver_config_; 835 FrameReceiverConfig audio_receiver_config_;
836 FrameReceiverConfig video_receiver_config_; 836 FrameReceiverConfig video_receiver_config_;
837 AudioSenderConfig audio_sender_config_; 837 FrameSenderConfig audio_sender_config_;
838 VideoSenderConfig video_sender_config_; 838 FrameSenderConfig video_sender_config_;
839 839
840 base::TimeTicks start_time_; 840 base::TimeTicks start_time_;
841 841
842 // These run in "test time" 842 // These run in "test time"
843 base::SimpleTestTickClock testing_clock_; 843 base::SimpleTestTickClock testing_clock_;
844 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_; 844 scoped_refptr<FakeSingleThreadTaskRunner> task_runner_;
845 845
846 // These run on the sender timeline. 846 // These run on the sender timeline.
847 test::SkewedTickClock* testing_clock_sender_; 847 test::SkewedTickClock* testing_clock_sender_;
848 scoped_refptr<test::SkewedSingleThreadTaskRunner> task_runner_sender_; 848 scoped_refptr<test::SkewedSingleThreadTaskRunner> task_runner_sender_;
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 transport_sender_->PacketReceiverForTesting(), task_runner_, 951 transport_sender_->PacketReceiverForTesting(), task_runner_,
952 &testing_clock_); 952 &testing_clock_);
953 sender_to_receiver_->SetPacketReceiver( 953 sender_to_receiver_->SetPacketReceiver(
954 transport_receiver_->PacketReceiverForTesting(), task_runner_, 954 transport_receiver_->PacketReceiverForTesting(), task_runner_,
955 &testing_clock_); 955 &testing_clock_);
956 956
957 audio_frame_input_ = cast_sender_->audio_frame_input(); 957 audio_frame_input_ = cast_sender_->audio_frame_input();
958 video_frame_input_ = cast_sender_->video_frame_input(); 958 video_frame_input_ = cast_sender_->video_frame_input();
959 959
960 audio_bus_factory_.reset(new TestAudioBusFactory( 960 audio_bus_factory_.reset(new TestAudioBusFactory(
961 audio_sender_config_.channels, audio_sender_config_.frequency, 961 audio_sender_config_.channels, audio_sender_config_.rtp_timebase,
962 kSoundFrequency, kSoundVolume)); 962 kSoundFrequency, kSoundVolume));
963 } 963 }
964 964
965 TEST_F(End2EndTest, LoopWithLosslessEncoding) { 965 TEST_F(End2EndTest, LoopWithLosslessEncoding) {
966 Configure(CODEC_VIDEO_FAKE, CODEC_AUDIO_PCM16); 966 Configure(CODEC_VIDEO_FAKE, CODEC_AUDIO_PCM16);
967 Create(); 967 Create();
968 968
969 const auto frames_sent = RunAudioVideoLoop(base::TimeDelta::FromSeconds(3)); 969 const auto frames_sent = RunAudioVideoLoop(base::TimeDelta::FromSeconds(3));
970 970
971 // Make sure that we send a RTCP message containing receiver log data, then 971 // Make sure that we send a RTCP message containing receiver log data, then
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 EXPECT_EQ(0u, jump); 1271 EXPECT_EQ(0u, jump);
1272 jump = i; 1272 jump = i;
1273 } 1273 }
1274 } 1274 }
1275 EXPECT_GT(jump, 49u); 1275 EXPECT_GT(jump, 49u);
1276 EXPECT_LT(jump, 120u); 1276 EXPECT_LT(jump, 120u);
1277 } 1277 }
1278 1278
1279 } // namespace cast 1279 } // namespace cast
1280 } // namespace media 1280 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/test/cast_benchmarks.cc ('k') | media/cast/test/fake_media_source.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698