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 | 10 |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 expected_bitrate_bps_ = encoder_config->streams.back().min_bitrate_bps; | 114 expected_bitrate_bps_ = encoder_config->streams.back().min_bitrate_bps; |
115 for (size_t i = 0; i < encoder_config->streams.size() - 1; ++i) { | 115 for (size_t i = 0; i < encoder_config->streams.size() - 1; ++i) { |
116 expected_bitrate_bps_ += encoder_config->streams[i].target_bitrate_bps; | 116 expected_bitrate_bps_ += encoder_config->streams[i].target_bitrate_bps; |
117 } | 117 } |
118 } | 118 } |
119 | 119 |
120 send_config->rtp.extensions.clear(); | 120 send_config->rtp.extensions.clear(); |
121 | 121 |
122 bool remb; | 122 bool remb; |
123 bool transport_cc; | 123 bool transport_cc; |
124 if (extension_type_ == RtpExtension::kAbsSendTime) { | 124 if (extension_type_ == RtpExtension::kAbsSendTimeUri) { |
125 remb = true; | 125 remb = true; |
126 transport_cc = false; | 126 transport_cc = false; |
127 send_config->rtp.extensions.push_back( | 127 send_config->rtp.extensions.push_back( |
128 RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId)); | 128 RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId)); |
129 } else if (extension_type_ == RtpExtension::kTransportSequenceNumber) { | 129 } else if (extension_type_ == RtpExtension::kTransportSequenceNumberUri) { |
130 remb = false; | 130 remb = false; |
131 transport_cc = true; | 131 transport_cc = true; |
132 send_config->rtp.extensions.push_back(RtpExtension( | 132 send_config->rtp.extensions.push_back(RtpExtension( |
133 extension_type_.c_str(), kTransportSequenceNumberExtensionId)); | 133 extension_type_.c_str(), kTransportSequenceNumberExtensionId)); |
134 } else { | 134 } else { |
135 remb = true; | 135 remb = true; |
136 transport_cc = false; | 136 transport_cc = false; |
137 send_config->rtp.extensions.push_back(RtpExtension( | 137 send_config->rtp.extensions.push_back(RtpExtension( |
138 extension_type_.c_str(), kTransmissionTimeOffsetExtensionId)); | 138 extension_type_.c_str(), kTransmissionTimeOffsetExtensionId)); |
139 } | 139 } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 ++i; | 175 ++i; |
176 } | 176 } |
177 } | 177 } |
178 | 178 |
179 void RampUpTester::ModifyAudioConfigs( | 179 void RampUpTester::ModifyAudioConfigs( |
180 AudioSendStream::Config* send_config, | 180 AudioSendStream::Config* send_config, |
181 std::vector<AudioReceiveStream::Config>* receive_configs) { | 181 std::vector<AudioReceiveStream::Config>* receive_configs) { |
182 if (num_audio_streams_ == 0) | 182 if (num_audio_streams_ == 0) |
183 return; | 183 return; |
184 | 184 |
185 EXPECT_NE(RtpExtension::kTOffset, extension_type_) | 185 EXPECT_NE(RtpExtension::kTimestampOffsetUri, extension_type_) |
186 << "Audio BWE not supported with toffset."; | 186 << "Audio BWE not supported with toffset."; |
187 | 187 |
188 send_config->rtp.ssrc = audio_ssrcs_[0]; | 188 send_config->rtp.ssrc = audio_ssrcs_[0]; |
189 send_config->rtp.extensions.clear(); | 189 send_config->rtp.extensions.clear(); |
190 | 190 |
191 bool transport_cc = false; | 191 bool transport_cc = false; |
192 if (extension_type_ == RtpExtension::kAbsSendTime) { | 192 if (extension_type_ == RtpExtension::kAbsSendTimeUri) { |
193 transport_cc = false; | 193 transport_cc = false; |
194 send_config->rtp.extensions.push_back( | 194 send_config->rtp.extensions.push_back( |
195 RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId)); | 195 RtpExtension(extension_type_.c_str(), kAbsSendTimeExtensionId)); |
196 } else if (extension_type_ == RtpExtension::kTransportSequenceNumber) { | 196 } else if (extension_type_ == RtpExtension::kTransportSequenceNumberUri) { |
197 transport_cc = true; | 197 transport_cc = true; |
198 send_config->rtp.extensions.push_back(RtpExtension( | 198 send_config->rtp.extensions.push_back(RtpExtension( |
199 extension_type_.c_str(), kTransportSequenceNumberExtensionId)); | 199 extension_type_.c_str(), kTransportSequenceNumberExtensionId)); |
200 } | 200 } |
201 | 201 |
202 for (AudioReceiveStream::Config& recv_config : *receive_configs) { | 202 for (AudioReceiveStream::Config& recv_config : *receive_configs) { |
203 recv_config.rtp.transport_cc = transport_cc; | 203 recv_config.rtp.transport_cc = transport_cc; |
204 recv_config.rtp.extensions = send_config->rtp.extensions; | 204 recv_config.rtp.extensions = send_config->rtp.extensions; |
205 recv_config.rtp.remote_ssrc = send_config->rtp.ssrc; | 205 recv_config.rtp.remote_ssrc = send_config->rtp.ssrc; |
206 } | 206 } |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 public: | 432 public: |
433 RampUpTest() {} | 433 RampUpTest() {} |
434 | 434 |
435 virtual ~RampUpTest() { | 435 virtual ~RampUpTest() { |
436 EXPECT_EQ(nullptr, video_send_stream_); | 436 EXPECT_EQ(nullptr, video_send_stream_); |
437 EXPECT_TRUE(video_receive_streams_.empty()); | 437 EXPECT_TRUE(video_receive_streams_.empty()); |
438 } | 438 } |
439 }; | 439 }; |
440 | 440 |
441 TEST_F(RampUpTest, SingleStream) { | 441 TEST_F(RampUpTest, SingleStream) { |
442 RampUpTester test(1, 0, 0, RtpExtension::kTOffset, false, false); | 442 RampUpTester test(1, 0, 0, RtpExtension::kTimestampOffsetUri, false, false); |
443 RunBaseTest(&test); | 443 RunBaseTest(&test); |
444 } | 444 } |
445 | 445 |
446 TEST_F(RampUpTest, Simulcast) { | 446 TEST_F(RampUpTest, Simulcast) { |
447 RampUpTester test(3, 0, 0, RtpExtension::kTOffset, false, false); | 447 RampUpTester test(3, 0, 0, RtpExtension::kTimestampOffsetUri, false, false); |
448 RunBaseTest(&test); | 448 RunBaseTest(&test); |
449 } | 449 } |
450 | 450 |
451 TEST_F(RampUpTest, SimulcastWithRtx) { | 451 TEST_F(RampUpTest, SimulcastWithRtx) { |
452 RampUpTester test(3, 0, 0, RtpExtension::kTOffset, true, false); | 452 RampUpTester test(3, 0, 0, RtpExtension::kTimestampOffsetUri, true, false); |
453 RunBaseTest(&test); | 453 RunBaseTest(&test); |
454 } | 454 } |
455 | 455 |
456 TEST_F(RampUpTest, SimulcastByRedWithRtx) { | 456 TEST_F(RampUpTest, SimulcastByRedWithRtx) { |
457 RampUpTester test(3, 0, 0, RtpExtension::kTOffset, true, true); | 457 RampUpTester test(3, 0, 0, RtpExtension::kTimestampOffsetUri, true, true); |
458 RunBaseTest(&test); | 458 RunBaseTest(&test); |
459 } | 459 } |
460 | 460 |
461 TEST_F(RampUpTest, SingleStreamWithHighStartBitrate) { | 461 TEST_F(RampUpTest, SingleStreamWithHighStartBitrate) { |
462 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, RtpExtension::kTOffset, | 462 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, |
463 false, false); | 463 RtpExtension::kTimestampOffsetUri, false, false); |
464 RunBaseTest(&test); | 464 RunBaseTest(&test); |
465 } | 465 } |
466 | 466 |
467 // Disabled on Mac due to flakiness, see | 467 // Disabled on Mac due to flakiness, see |
468 // https://bugs.chromium.org/p/webrtc/issues/detail?id=5407 | 468 // https://bugs.chromium.org/p/webrtc/issues/detail?id=5407 |
469 #ifndef WEBRTC_MAC | 469 #ifndef WEBRTC_MAC |
470 | 470 |
471 static const uint32_t kStartBitrateBps = 60000; | 471 static const uint32_t kStartBitrateBps = 60000; |
472 | 472 |
473 // Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576 | 473 // Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576 |
474 TEST_F(RampUpTest, DISABLED_UpDownUpOneStream) { | 474 TEST_F(RampUpTest, DISABLED_UpDownUpOneStream) { |
475 RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTime, | 475 RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri, |
476 false, false); | 476 false, false); |
477 RunBaseTest(&test); | 477 RunBaseTest(&test); |
478 } | 478 } |
479 | 479 |
480 TEST_F(RampUpTest, UpDownUpThreeStreams) { | 480 TEST_F(RampUpTest, UpDownUpThreeStreams) { |
481 RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTime, | 481 RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri, |
482 false, false); | 482 false, false); |
483 RunBaseTest(&test); | 483 RunBaseTest(&test); |
484 } | 484 } |
485 | 485 |
486 // Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576 | 486 // Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576 |
487 TEST_F(RampUpTest, DISABLED_UpDownUpOneStreamRtx) { | 487 TEST_F(RampUpTest, DISABLED_UpDownUpOneStreamRtx) { |
488 RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTime, | 488 RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri, |
489 true, false); | 489 true, false); |
490 RunBaseTest(&test); | 490 RunBaseTest(&test); |
491 } | 491 } |
492 | 492 |
493 TEST_F(RampUpTest, UpDownUpThreeStreamsRtx) { | 493 TEST_F(RampUpTest, UpDownUpThreeStreamsRtx) { |
494 RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTime, | 494 RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri, |
495 true, false); | 495 true, false); |
496 RunBaseTest(&test); | 496 RunBaseTest(&test); |
497 } | 497 } |
498 | 498 |
499 // Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576 | 499 // Disabled: https://bugs.chromium.org/p/webrtc/issues/detail?id=5576 |
500 TEST_F(RampUpTest, DISABLED_UpDownUpOneStreamByRedRtx) { | 500 TEST_F(RampUpTest, DISABLED_UpDownUpOneStreamByRedRtx) { |
501 RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTime, | 501 RampUpDownUpTester test(1, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri, |
502 true, true); | 502 true, true); |
503 RunBaseTest(&test); | 503 RunBaseTest(&test); |
504 } | 504 } |
505 | 505 |
506 TEST_F(RampUpTest, UpDownUpThreeStreamsByRedRtx) { | 506 TEST_F(RampUpTest, UpDownUpThreeStreamsByRedRtx) { |
507 RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTime, | 507 RampUpDownUpTester test(3, 0, kStartBitrateBps, RtpExtension::kAbsSendTimeUri, |
508 true, true); | 508 true, true); |
509 RunBaseTest(&test); | 509 RunBaseTest(&test); |
510 } | 510 } |
511 | 511 |
512 TEST_F(RampUpTest, SendSideVideoUpDownUpRtx) { | 512 TEST_F(RampUpTest, SendSideVideoUpDownUpRtx) { |
513 RampUpDownUpTester test(3, 0, kStartBitrateBps, | 513 RampUpDownUpTester test(3, 0, kStartBitrateBps, |
514 RtpExtension::kTransportSequenceNumber, true, false); | 514 RtpExtension::kTransportSequenceNumberUri, true, |
| 515 false); |
515 RunBaseTest(&test); | 516 RunBaseTest(&test); |
516 } | 517 } |
517 | 518 |
518 // TODO(holmer): Enable when audio bitrates are included in the bitrate | 519 // TODO(holmer): Enable when audio bitrates are included in the bitrate |
519 // allocation. | 520 // allocation. |
520 TEST_F(RampUpTest, DISABLED_SendSideAudioVideoUpDownUpRtx) { | 521 TEST_F(RampUpTest, DISABLED_SendSideAudioVideoUpDownUpRtx) { |
521 RampUpDownUpTester test(3, 1, kStartBitrateBps, | 522 RampUpDownUpTester test(3, 1, kStartBitrateBps, |
522 RtpExtension::kTransportSequenceNumber, true, false); | 523 RtpExtension::kTransportSequenceNumberUri, true, |
| 524 false); |
523 RunBaseTest(&test); | 525 RunBaseTest(&test); |
524 } | 526 } |
525 | 527 |
526 #endif | 528 #endif |
527 | 529 |
528 TEST_F(RampUpTest, AbsSendTimeSingleStream) { | 530 TEST_F(RampUpTest, AbsSendTimeSingleStream) { |
529 RampUpTester test(1, 0, 0, RtpExtension::kAbsSendTime, false, false); | 531 RampUpTester test(1, 0, 0, RtpExtension::kAbsSendTimeUri, false, false); |
530 RunBaseTest(&test); | 532 RunBaseTest(&test); |
531 } | 533 } |
532 | 534 |
533 TEST_F(RampUpTest, AbsSendTimeSimulcast) { | 535 TEST_F(RampUpTest, AbsSendTimeSimulcast) { |
534 RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, false, false); | 536 RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTimeUri, false, false); |
535 RunBaseTest(&test); | 537 RunBaseTest(&test); |
536 } | 538 } |
537 | 539 |
538 TEST_F(RampUpTest, AbsSendTimeSimulcastWithRtx) { | 540 TEST_F(RampUpTest, AbsSendTimeSimulcastWithRtx) { |
539 RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, true, false); | 541 RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTimeUri, true, false); |
540 RunBaseTest(&test); | 542 RunBaseTest(&test); |
541 } | 543 } |
542 | 544 |
543 TEST_F(RampUpTest, AbsSendTimeSimulcastByRedWithRtx) { | 545 TEST_F(RampUpTest, AbsSendTimeSimulcastByRedWithRtx) { |
544 RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTime, true, true); | 546 RampUpTester test(3, 0, 0, RtpExtension::kAbsSendTimeUri, true, true); |
545 RunBaseTest(&test); | 547 RunBaseTest(&test); |
546 } | 548 } |
547 | 549 |
548 TEST_F(RampUpTest, AbsSendTimeSingleStreamWithHighStartBitrate) { | 550 TEST_F(RampUpTest, AbsSendTimeSingleStreamWithHighStartBitrate) { |
549 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, | 551 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, |
550 RtpExtension::kAbsSendTime, false, false); | 552 RtpExtension::kAbsSendTimeUri, false, false); |
551 RunBaseTest(&test); | 553 RunBaseTest(&test); |
552 } | 554 } |
553 | 555 |
554 TEST_F(RampUpTest, TransportSequenceNumberSingleStream) { | 556 TEST_F(RampUpTest, TransportSequenceNumberSingleStream) { |
555 RampUpTester test(1, 0, 0, RtpExtension::kTransportSequenceNumber, false, | 557 RampUpTester test(1, 0, 0, RtpExtension::kTransportSequenceNumberUri, false, |
556 false); | 558 false); |
557 RunBaseTest(&test); | 559 RunBaseTest(&test); |
558 } | 560 } |
559 | 561 |
560 TEST_F(RampUpTest, TransportSequenceNumberSimulcast) { | 562 TEST_F(RampUpTest, TransportSequenceNumberSimulcast) { |
561 RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, false, | 563 RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumberUri, false, |
562 false); | 564 false); |
563 RunBaseTest(&test); | 565 RunBaseTest(&test); |
564 } | 566 } |
565 | 567 |
566 TEST_F(RampUpTest, TransportSequenceNumberSimulcastWithRtx) { | 568 TEST_F(RampUpTest, TransportSequenceNumberSimulcastWithRtx) { |
567 RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, true, | 569 RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumberUri, true, |
568 false); | 570 false); |
569 RunBaseTest(&test); | 571 RunBaseTest(&test); |
570 } | 572 } |
571 | 573 |
572 TEST_F(RampUpTest, AudioVideoTransportSequenceNumberSimulcastWithRtx) { | 574 TEST_F(RampUpTest, AudioVideoTransportSequenceNumberSimulcastWithRtx) { |
573 RampUpTester test(3, 1, 0, RtpExtension::kTransportSequenceNumber, true, | 575 RampUpTester test(3, 1, 0, RtpExtension::kTransportSequenceNumberUri, true, |
574 false); | 576 false); |
575 RunBaseTest(&test); | 577 RunBaseTest(&test); |
576 } | 578 } |
577 | 579 |
578 TEST_F(RampUpTest, TransportSequenceNumberSimulcastByRedWithRtx) { | 580 TEST_F(RampUpTest, TransportSequenceNumberSimulcastByRedWithRtx) { |
579 RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumber, true, | 581 RampUpTester test(3, 0, 0, RtpExtension::kTransportSequenceNumberUri, true, |
580 true); | 582 true); |
581 RunBaseTest(&test); | 583 RunBaseTest(&test); |
582 } | 584 } |
583 | 585 |
584 TEST_F(RampUpTest, TransportSequenceNumberSingleStreamWithHighStartBitrate) { | 586 TEST_F(RampUpTest, TransportSequenceNumberSingleStreamWithHighStartBitrate) { |
585 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, | 587 RampUpTester test(1, 0, 0.9 * kSingleStreamTargetBps, |
586 RtpExtension::kTransportSequenceNumber, false, false); | 588 RtpExtension::kTransportSequenceNumberUri, false, false); |
587 RunBaseTest(&test); | 589 RunBaseTest(&test); |
588 } | 590 } |
589 } // namespace webrtc | 591 } // namespace webrtc |
OLD | NEW |