OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2004 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 2413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2424 EXPECT_EQ(GetEngineCodec("ulpfec").id, config.rtp.ulpfec.ulpfec_payload_type); | 2424 EXPECT_EQ(GetEngineCodec("ulpfec").id, config.rtp.ulpfec.ulpfec_payload_type); |
2425 EXPECT_EQ(GetEngineCodec("red").id, config.rtp.ulpfec.red_payload_type); | 2425 EXPECT_EQ(GetEngineCodec("red").id, config.rtp.ulpfec.red_payload_type); |
2426 | 2426 |
2427 EXPECT_EQ(1u, config.rtp.rtx.ssrcs.size()); | 2427 EXPECT_EQ(1u, config.rtp.rtx.ssrcs.size()); |
2428 EXPECT_EQ(kRtxSsrcs1[0], config.rtp.rtx.ssrcs[0]); | 2428 EXPECT_EQ(kRtxSsrcs1[0], config.rtp.rtx.ssrcs[0]); |
2429 VerifySendStreamHasRtxTypes(config, default_apt_rtx_types_); | 2429 VerifySendStreamHasRtxTypes(config, default_apt_rtx_types_); |
2430 // TODO(juberti): Check RTCP, PLI, TMMBR. | 2430 // TODO(juberti): Check RTCP, PLI, TMMBR. |
2431 } | 2431 } |
2432 | 2432 |
2433 // TODO(brandtr): Remove when FlexFEC _is_ exposed by default. | 2433 // TODO(brandtr): Remove when FlexFEC _is_ exposed by default. |
2434 TEST_F(WebRtcVideoChannel2Test, FlexfecCodecWithoutSsrcNotExposedByDefault) { | 2434 TEST_F(WebRtcVideoChannel2Test, |
| 2435 FlexfecSendCodecWithoutSsrcNotExposedByDefault) { |
2435 FakeVideoSendStream* stream = AddSendStream(); | 2436 FakeVideoSendStream* stream = AddSendStream(); |
2436 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); | 2437 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); |
2437 | 2438 |
2438 EXPECT_EQ(-1, config.rtp.flexfec.payload_type); | 2439 EXPECT_EQ(-1, config.rtp.flexfec.payload_type); |
| 2440 EXPECT_EQ(0U, config.rtp.flexfec.ssrc); |
| 2441 EXPECT_TRUE(config.rtp.flexfec.protected_media_ssrcs.empty()); |
2439 } | 2442 } |
2440 | 2443 |
2441 // TODO(brandtr): Remove when FlexFEC _is_ exposed by default. | 2444 // TODO(brandtr): Remove when FlexFEC _is_ exposed by default. |
2442 TEST_F(WebRtcVideoChannel2Test, FlexfecCodecWithSsrcNotExposedByDefault) { | 2445 TEST_F(WebRtcVideoChannel2Test, FlexfecSendCodecWithSsrcNotExposedByDefault) { |
2443 FakeVideoSendStream* stream = AddSendStream( | 2446 FakeVideoSendStream* stream = AddSendStream( |
2444 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); | 2447 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
2445 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); | 2448 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); |
2446 | 2449 |
2447 EXPECT_EQ(-1, config.rtp.flexfec.payload_type); | 2450 EXPECT_EQ(-1, config.rtp.flexfec.payload_type); |
| 2451 EXPECT_EQ(0U, config.rtp.flexfec.ssrc); |
| 2452 EXPECT_TRUE(config.rtp.flexfec.protected_media_ssrcs.empty()); |
| 2453 } |
| 2454 |
| 2455 // TODO(brandtr): Remove when FlexFEC _is_ exposed by default. |
| 2456 TEST_F(WebRtcVideoChannel2Test, |
| 2457 FlexfecRecvCodecWithoutSsrcNotExposedByDefault) { |
| 2458 AddRecvStream(); |
| 2459 |
| 2460 const std::vector<FakeFlexfecReceiveStream*>& streams = |
| 2461 fake_call_->GetFlexfecReceiveStreams(); |
| 2462 EXPECT_TRUE(streams.empty()); |
| 2463 } |
| 2464 |
| 2465 // TODO(brandtr): Remove when FlexFEC _is_ exposed by default. |
| 2466 TEST_F(WebRtcVideoChannel2Test, FlexfecRecvCodecWithSsrcNotExposedByDefault) { |
| 2467 AddRecvStream( |
| 2468 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
| 2469 |
| 2470 const std::vector<FakeFlexfecReceiveStream*>& streams = |
| 2471 fake_call_->GetFlexfecReceiveStreams(); |
| 2472 EXPECT_TRUE(streams.empty()); |
2448 } | 2473 } |
2449 | 2474 |
2450 // TODO(brandtr): When FlexFEC is no longer behind a field trial, merge all | 2475 // TODO(brandtr): When FlexFEC is no longer behind a field trial, merge all |
2451 // tests that use this test fixture into the corresponding "non-field trial" | 2476 // tests that use this test fixture into the corresponding "non-field trial" |
2452 // tests. | 2477 // tests. |
2453 class WebRtcVideoChannel2FlexfecTest : public WebRtcVideoChannel2Test { | 2478 class WebRtcVideoChannel2FlexfecRecvTest : public WebRtcVideoChannel2Test { |
2454 public: | 2479 public: |
2455 WebRtcVideoChannel2FlexfecTest() | 2480 WebRtcVideoChannel2FlexfecRecvTest() |
| 2481 : WebRtcVideoChannel2Test("WebRTC-FlexFEC-03-Advertised/Enabled/") {} |
| 2482 }; |
| 2483 |
| 2484 TEST_F(WebRtcVideoChannel2FlexfecRecvTest, |
| 2485 DefaultFlexfecCodecHasTransportCcAndRembFeedbackParam) { |
| 2486 EXPECT_TRUE(cricket::HasTransportCc(GetEngineCodec("flexfec-03"))); |
| 2487 EXPECT_TRUE(cricket::HasRemb(GetEngineCodec("flexfec-03"))); |
| 2488 } |
| 2489 |
| 2490 TEST_F(WebRtcVideoChannel2FlexfecRecvTest, SetDefaultRecvCodecsWithoutSsrc) { |
| 2491 AddRecvStream(); |
| 2492 |
| 2493 const std::vector<FakeFlexfecReceiveStream*>& streams = |
| 2494 fake_call_->GetFlexfecReceiveStreams(); |
| 2495 EXPECT_TRUE(streams.empty()); |
| 2496 } |
| 2497 |
| 2498 TEST_F(WebRtcVideoChannel2FlexfecRecvTest, SetDefaultRecvCodecsWithSsrc) { |
| 2499 AddRecvStream( |
| 2500 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
| 2501 |
| 2502 const std::vector<FakeFlexfecReceiveStream*>& streams = |
| 2503 fake_call_->GetFlexfecReceiveStreams(); |
| 2504 ASSERT_EQ(1U, streams.size()); |
| 2505 const FakeFlexfecReceiveStream* stream = streams.front(); |
| 2506 const webrtc::FlexfecReceiveStream::Config& config = stream->GetConfig(); |
| 2507 EXPECT_EQ(GetEngineCodec("flexfec-03").id, config.payload_type); |
| 2508 EXPECT_EQ(kFlexfecSsrc, config.remote_ssrc); |
| 2509 ASSERT_EQ(1U, config.protected_media_ssrcs.size()); |
| 2510 EXPECT_EQ(kSsrcs1[0], config.protected_media_ssrcs[0]); |
| 2511 } |
| 2512 |
| 2513 // TODO(brandtr): When FlexFEC is no longer behind a field trial, merge all |
| 2514 // tests that use this test fixture into the corresponding "non-field trial" |
| 2515 // tests. |
| 2516 class WebRtcVideoChannel2FlexfecSendRecvTest : public WebRtcVideoChannel2Test { |
| 2517 public: |
| 2518 WebRtcVideoChannel2FlexfecSendRecvTest() |
2456 : WebRtcVideoChannel2Test( | 2519 : WebRtcVideoChannel2Test( |
2457 "WebRTC-FlexFEC-03-Advertised/Enabled/WebRTC-FlexFEC-03/Enabled/") { | 2520 "WebRTC-FlexFEC-03-Advertised/Enabled/WebRTC-FlexFEC-03/Enabled/") { |
2458 } | 2521 } |
2459 }; | 2522 }; |
2460 | 2523 |
2461 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | 2524 TEST_F(WebRtcVideoChannel2FlexfecSendRecvTest, |
2462 // by default. | 2525 SetDefaultSendCodecsWithoutSsrc) { |
2463 TEST_F(WebRtcVideoChannel2FlexfecTest, | |
2464 DefaultFlexfecCodecHasTransportCcAndRembFeedbackParam) { | |
2465 EXPECT_TRUE(cricket::HasTransportCc(GetEngineCodec("flexfec-03"))); | |
2466 EXPECT_TRUE(cricket::HasRemb(GetEngineCodec("flexfec-03"))); | |
2467 } | |
2468 | |
2469 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | |
2470 // by default. | |
2471 TEST_F(WebRtcVideoChannel2FlexfecTest, SetDefaultSendCodecsWithoutSsrc) { | |
2472 FakeVideoSendStream* stream = AddSendStream(); | 2526 FakeVideoSendStream* stream = AddSendStream(); |
2473 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); | 2527 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); |
2474 | 2528 |
2475 EXPECT_EQ(GetEngineCodec("flexfec-03").id, config.rtp.flexfec.payload_type); | 2529 EXPECT_EQ(GetEngineCodec("flexfec-03").id, config.rtp.flexfec.payload_type); |
2476 EXPECT_EQ(0U, config.rtp.flexfec.ssrc); | 2530 EXPECT_EQ(0U, config.rtp.flexfec.ssrc); |
2477 EXPECT_TRUE(config.rtp.flexfec.protected_media_ssrcs.empty()); | 2531 EXPECT_TRUE(config.rtp.flexfec.protected_media_ssrcs.empty()); |
2478 } | 2532 } |
2479 | 2533 |
2480 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | 2534 TEST_F(WebRtcVideoChannel2FlexfecSendRecvTest, SetDefaultSendCodecsWithSsrc) { |
2481 // by default. | |
2482 TEST_F(WebRtcVideoChannel2FlexfecTest, SetDefaultSendCodecsWithSsrc) { | |
2483 FakeVideoSendStream* stream = AddSendStream( | 2535 FakeVideoSendStream* stream = AddSendStream( |
2484 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); | 2536 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
2485 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); | 2537 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); |
2486 | 2538 |
2487 EXPECT_EQ(GetEngineCodec("flexfec-03").id, config.rtp.flexfec.payload_type); | 2539 EXPECT_EQ(GetEngineCodec("flexfec-03").id, config.rtp.flexfec.payload_type); |
2488 EXPECT_EQ(kFlexfecSsrc, config.rtp.flexfec.ssrc); | 2540 EXPECT_EQ(kFlexfecSsrc, config.rtp.flexfec.ssrc); |
2489 ASSERT_EQ(1U, config.rtp.flexfec.protected_media_ssrcs.size()); | 2541 ASSERT_EQ(1U, config.rtp.flexfec.protected_media_ssrcs.size()); |
2490 EXPECT_EQ(kSsrcs1[0], config.rtp.flexfec.protected_media_ssrcs[0]); | 2542 EXPECT_EQ(kSsrcs1[0], config.rtp.flexfec.protected_media_ssrcs[0]); |
2491 } | 2543 } |
2492 | 2544 |
2493 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFec) { | 2545 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsWithoutFec) { |
2494 cricket::VideoSendParameters parameters; | 2546 cricket::VideoSendParameters parameters; |
2495 parameters.codecs.push_back(GetEngineCodec("VP8")); | 2547 parameters.codecs.push_back(GetEngineCodec("VP8")); |
2496 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 2548 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
2497 | 2549 |
2498 FakeVideoSendStream* stream = AddSendStream(); | 2550 FakeVideoSendStream* stream = AddSendStream(); |
2499 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); | 2551 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); |
2500 | 2552 |
2501 EXPECT_EQ(-1, config.rtp.ulpfec.ulpfec_payload_type); | 2553 EXPECT_EQ(-1, config.rtp.ulpfec.ulpfec_payload_type); |
2502 EXPECT_EQ(-1, config.rtp.ulpfec.red_payload_type); | 2554 EXPECT_EQ(-1, config.rtp.ulpfec.red_payload_type); |
2503 } | 2555 } |
2504 | 2556 |
2505 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | 2557 TEST_F(WebRtcVideoChannel2FlexfecSendRecvTest, SetSendCodecsWithoutFec) { |
2506 // by default. | |
2507 TEST_F(WebRtcVideoChannel2FlexfecTest, SetSendCodecsWithoutFec) { | |
2508 cricket::VideoSendParameters parameters; | 2558 cricket::VideoSendParameters parameters; |
2509 parameters.codecs.push_back(GetEngineCodec("VP8")); | 2559 parameters.codecs.push_back(GetEngineCodec("VP8")); |
2510 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 2560 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
2511 | 2561 |
2512 FakeVideoSendStream* stream = AddSendStream(); | 2562 FakeVideoSendStream* stream = AddSendStream(); |
2513 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); | 2563 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); |
2514 | 2564 |
2515 EXPECT_EQ(-1, config.rtp.flexfec.payload_type); | 2565 EXPECT_EQ(-1, config.rtp.flexfec.payload_type); |
2516 } | 2566 } |
2517 | 2567 |
2518 TEST_F(WebRtcVideoChannel2FlexfecTest, SetRecvCodecsWithFec) { | 2568 TEST_F(WebRtcVideoChannel2FlexfecRecvTest, SetRecvCodecsWithFec) { |
2519 AddRecvStream( | 2569 AddRecvStream( |
2520 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); | 2570 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
2521 | 2571 |
2522 cricket::VideoRecvParameters recv_parameters; | 2572 cricket::VideoRecvParameters recv_parameters; |
2523 recv_parameters.codecs.push_back(GetEngineCodec("VP8")); | 2573 recv_parameters.codecs.push_back(GetEngineCodec("VP8")); |
2524 recv_parameters.codecs.push_back(GetEngineCodec("flexfec-03")); | 2574 recv_parameters.codecs.push_back(GetEngineCodec("flexfec-03")); |
2525 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); | 2575 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); |
2526 | 2576 |
2527 const std::vector<FakeFlexfecReceiveStream*>& flexfec_streams = | 2577 const std::vector<FakeFlexfecReceiveStream*>& flexfec_streams = |
2528 fake_call_->GetFlexfecReceiveStreams(); | 2578 fake_call_->GetFlexfecReceiveStreams(); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2641 | 2691 |
2642 parameters.codecs.pop_back(); | 2692 parameters.codecs.pop_back(); |
2643 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 2693 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
2644 stream = fake_call_->GetVideoSendStreams()[0]; | 2694 stream = fake_call_->GetVideoSendStreams()[0]; |
2645 ASSERT_TRUE(stream != nullptr); | 2695 ASSERT_TRUE(stream != nullptr); |
2646 config = stream->GetConfig().Copy(); | 2696 config = stream->GetConfig().Copy(); |
2647 EXPECT_EQ(-1, config.rtp.ulpfec.ulpfec_payload_type) | 2697 EXPECT_EQ(-1, config.rtp.ulpfec.ulpfec_payload_type) |
2648 << "SetSendCodec without ULPFEC should disable current ULPFEC."; | 2698 << "SetSendCodec without ULPFEC should disable current ULPFEC."; |
2649 } | 2699 } |
2650 | 2700 |
2651 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | 2701 TEST_F(WebRtcVideoChannel2FlexfecSendRecvTest, |
2652 // by default. | 2702 SetSendCodecsWithoutFecDisablesFec) { |
2653 TEST_F(WebRtcVideoChannel2FlexfecTest, SetSendCodecsWithoutFecDisablesFec) { | |
2654 cricket::VideoSendParameters parameters; | 2703 cricket::VideoSendParameters parameters; |
2655 parameters.codecs.push_back(GetEngineCodec("VP8")); | 2704 parameters.codecs.push_back(GetEngineCodec("VP8")); |
2656 parameters.codecs.push_back(GetEngineCodec("flexfec-03")); | 2705 parameters.codecs.push_back(GetEngineCodec("flexfec-03")); |
2657 ASSERT_TRUE(channel_->SetSendParameters(parameters)); | 2706 ASSERT_TRUE(channel_->SetSendParameters(parameters)); |
2658 | 2707 |
2659 FakeVideoSendStream* stream = AddSendStream( | 2708 FakeVideoSendStream* stream = AddSendStream( |
2660 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); | 2709 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
2661 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); | 2710 webrtc::VideoSendStream::Config config = stream->GetConfig().Copy(); |
2662 | 2711 |
2663 EXPECT_EQ(GetEngineCodec("flexfec-03").id, config.rtp.flexfec.payload_type); | 2712 EXPECT_EQ(GetEngineCodec("flexfec-03").id, config.rtp.flexfec.payload_type); |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3047 | 3096 |
3048 cricket::VideoRecvParameters recv_parameters; | 3097 cricket::VideoRecvParameters recv_parameters; |
3049 recv_parameters.codecs.push_back(GetEngineCodec("VP8")); | 3098 recv_parameters.codecs.push_back(GetEngineCodec("VP8")); |
3050 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); | 3099 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); |
3051 stream = fake_call_->GetVideoReceiveStreams()[0]; | 3100 stream = fake_call_->GetVideoReceiveStreams()[0]; |
3052 ASSERT_TRUE(stream != nullptr); | 3101 ASSERT_TRUE(stream != nullptr); |
3053 EXPECT_EQ(-1, stream->GetConfig().rtp.ulpfec.ulpfec_payload_type) | 3102 EXPECT_EQ(-1, stream->GetConfig().rtp.ulpfec.ulpfec_payload_type) |
3054 << "SetSendCodec without ULPFEC should disable current ULPFEC."; | 3103 << "SetSendCodec without ULPFEC should disable current ULPFEC."; |
3055 } | 3104 } |
3056 | 3105 |
3057 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | 3106 TEST_F(WebRtcVideoChannel2FlexfecRecvTest, SetRecvParamsWithoutFecDisablesFec) { |
3058 // by default. | |
3059 TEST_F(WebRtcVideoChannel2FlexfecTest, SetRecvParamsWithoutFecDisablesFec) { | |
3060 cricket::VideoSendParameters send_parameters; | |
3061 send_parameters.codecs.push_back(GetEngineCodec("VP8")); | |
3062 send_parameters.codecs.push_back(GetEngineCodec("flexfec-03")); | |
3063 ASSERT_TRUE(channel_->SetSendParameters(send_parameters)); | |
3064 | |
3065 AddRecvStream( | 3107 AddRecvStream( |
3066 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); | 3108 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
3067 const std::vector<FakeFlexfecReceiveStream*>& streams = | 3109 const std::vector<FakeFlexfecReceiveStream*>& streams = |
3068 fake_call_->GetFlexfecReceiveStreams(); | 3110 fake_call_->GetFlexfecReceiveStreams(); |
3069 | 3111 |
3070 ASSERT_EQ(1U, streams.size()); | 3112 ASSERT_EQ(1U, streams.size()); |
3071 const FakeFlexfecReceiveStream* stream = streams.front(); | 3113 const FakeFlexfecReceiveStream* stream = streams.front(); |
3072 EXPECT_EQ(GetEngineCodec("flexfec-03").id, stream->GetConfig().payload_type); | 3114 EXPECT_EQ(GetEngineCodec("flexfec-03").id, stream->GetConfig().payload_type); |
3073 EXPECT_EQ(kFlexfecSsrc, stream->GetConfig().remote_ssrc); | 3115 EXPECT_EQ(kFlexfecSsrc, stream->GetConfig().remote_ssrc); |
3074 ASSERT_EQ(1U, stream->GetConfig().protected_media_ssrcs.size()); | 3116 ASSERT_EQ(1U, stream->GetConfig().protected_media_ssrcs.size()); |
(...skipping 26 matching lines...) Expand all Loading... |
3101 send_parameters.codecs.push_back(GetEngineCodec("VP8")); | 3143 send_parameters.codecs.push_back(GetEngineCodec("VP8")); |
3102 send_parameters.codecs.push_back(GetEngineCodec("red")); | 3144 send_parameters.codecs.push_back(GetEngineCodec("red")); |
3103 send_parameters.codecs.push_back(GetEngineCodec("ulpfec")); | 3145 send_parameters.codecs.push_back(GetEngineCodec("ulpfec")); |
3104 ASSERT_TRUE(channel_->SetSendParameters(send_parameters)); | 3146 ASSERT_TRUE(channel_->SetSendParameters(send_parameters)); |
3105 stream = fake_call_->GetVideoReceiveStreams()[0]; | 3147 stream = fake_call_->GetVideoReceiveStreams()[0]; |
3106 EXPECT_EQ(GetEngineCodec("ulpfec").id, | 3148 EXPECT_EQ(GetEngineCodec("ulpfec").id, |
3107 stream->GetConfig().rtp.ulpfec.ulpfec_payload_type) | 3149 stream->GetConfig().rtp.ulpfec.ulpfec_payload_type) |
3108 << "ULPFEC should be enabled on the receive stream."; | 3150 << "ULPFEC should be enabled on the receive stream."; |
3109 } | 3151 } |
3110 | 3152 |
3111 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | 3153 TEST_F(WebRtcVideoChannel2FlexfecSendRecvTest, SetSendParamsWithFecEnablesFec) { |
3112 // by default. | |
3113 TEST_F(WebRtcVideoChannel2FlexfecTest, SetSendParamsWithFecEnablesFec) { | |
3114 AddRecvStream( | 3154 AddRecvStream( |
3115 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); | 3155 CreatePrimaryWithFecFrStreamParams("cname", kSsrcs1[0], kFlexfecSsrc)); |
3116 const std::vector<FakeFlexfecReceiveStream*>& streams = | 3156 const std::vector<FakeFlexfecReceiveStream*>& streams = |
3117 fake_call_->GetFlexfecReceiveStreams(); | 3157 fake_call_->GetFlexfecReceiveStreams(); |
3118 | 3158 |
3119 cricket::VideoRecvParameters recv_parameters; | 3159 cricket::VideoRecvParameters recv_parameters; |
3120 recv_parameters.codecs.push_back(GetEngineCodec("VP8")); | 3160 recv_parameters.codecs.push_back(GetEngineCodec("VP8")); |
3121 recv_parameters.codecs.push_back(GetEngineCodec("flexfec-03")); | 3161 recv_parameters.codecs.push_back(GetEngineCodec("flexfec-03")); |
3122 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); | 3162 ASSERT_TRUE(channel_->SetRecvParameters(recv_parameters)); |
3123 ASSERT_EQ(1U, streams.size()); | 3163 ASSERT_EQ(1U, streams.size()); |
(...skipping 14 matching lines...) Expand all Loading... |
3138 const FakeFlexfecReceiveStream* stream_with_send_params = streams.front(); | 3178 const FakeFlexfecReceiveStream* stream_with_send_params = streams.front(); |
3139 EXPECT_EQ(GetEngineCodec("flexfec-03").id, | 3179 EXPECT_EQ(GetEngineCodec("flexfec-03").id, |
3140 stream_with_send_params->GetConfig().payload_type); | 3180 stream_with_send_params->GetConfig().payload_type); |
3141 EXPECT_EQ(kFlexfecSsrc, stream_with_send_params->GetConfig().remote_ssrc); | 3181 EXPECT_EQ(kFlexfecSsrc, stream_with_send_params->GetConfig().remote_ssrc); |
3142 EXPECT_EQ(1U, | 3182 EXPECT_EQ(1U, |
3143 stream_with_send_params->GetConfig().protected_media_ssrcs.size()); | 3183 stream_with_send_params->GetConfig().protected_media_ssrcs.size()); |
3144 EXPECT_EQ(kSsrcs1[0], | 3184 EXPECT_EQ(kSsrcs1[0], |
3145 stream_with_send_params->GetConfig().protected_media_ssrcs[0]); | 3185 stream_with_send_params->GetConfig().protected_media_ssrcs[0]); |
3146 } | 3186 } |
3147 | 3187 |
3148 TEST_F(WebRtcVideoChannel2Test, SetSendCodecsRejectDuplicateFecPayloads) { | 3188 TEST_F(WebRtcVideoChannel2Test, SetRecvCodecsRejectDuplicateFecPayloads) { |
3149 cricket::VideoRecvParameters parameters; | 3189 cricket::VideoRecvParameters parameters; |
3150 parameters.codecs.push_back(GetEngineCodec("VP8")); | 3190 parameters.codecs.push_back(GetEngineCodec("VP8")); |
3151 parameters.codecs.push_back(GetEngineCodec("red")); | 3191 parameters.codecs.push_back(GetEngineCodec("red")); |
3152 parameters.codecs[1].id = parameters.codecs[0].id; | 3192 parameters.codecs[1].id = parameters.codecs[0].id; |
3153 EXPECT_FALSE(channel_->SetRecvParameters(parameters)); | 3193 EXPECT_FALSE(channel_->SetRecvParameters(parameters)); |
3154 } | 3194 } |
3155 | 3195 |
3156 // TODO(brandtr): Merge into "non-field trial" test when FlexFEC is enabled | 3196 TEST_F(WebRtcVideoChannel2FlexfecRecvTest, |
3157 // by default. | 3197 SetRecvCodecsRejectDuplicateFecPayloads) { |
3158 TEST_F(WebRtcVideoChannel2FlexfecTest, | |
3159 SetSendCodecsRejectDuplicateFecPayloads) { | |
3160 cricket::VideoRecvParameters parameters; | 3198 cricket::VideoRecvParameters parameters; |
3161 parameters.codecs.push_back(GetEngineCodec("VP8")); | 3199 parameters.codecs.push_back(GetEngineCodec("VP8")); |
3162 parameters.codecs.push_back(GetEngineCodec("flexfec-03")); | 3200 parameters.codecs.push_back(GetEngineCodec("flexfec-03")); |
3163 parameters.codecs[1].id = parameters.codecs[0].id; | 3201 parameters.codecs[1].id = parameters.codecs[0].id; |
3164 EXPECT_FALSE(channel_->SetRecvParameters(parameters)); | 3202 EXPECT_FALSE(channel_->SetRecvParameters(parameters)); |
3165 } | 3203 } |
3166 | 3204 |
3167 TEST_F(WebRtcVideoChannel2Test, SetRecvCodecsRejectDuplicateCodecPayloads) { | 3205 TEST_F(WebRtcVideoChannel2Test, SetRecvCodecsRejectDuplicateCodecPayloads) { |
3168 cricket::VideoRecvParameters parameters; | 3206 cricket::VideoRecvParameters parameters; |
3169 parameters.codecs.push_back(GetEngineCodec("VP8")); | 3207 parameters.codecs.push_back(GetEngineCodec("VP8")); |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3802 const int rtx_vp8_payload_type = default_apt_rtx_types_[vp8.id]; | 3840 const int rtx_vp8_payload_type = default_apt_rtx_types_[vp8.id]; |
3803 TestReceiveUnsignaledSsrcPacket(rtx_vp8_payload_type, | 3841 TestReceiveUnsignaledSsrcPacket(rtx_vp8_payload_type, |
3804 false /* expect_created_receive_stream */); | 3842 false /* expect_created_receive_stream */); |
3805 } | 3843 } |
3806 | 3844 |
3807 TEST_F(WebRtcVideoChannel2Test, UlpfecPacketDoesntCreateUnsignalledStream) { | 3845 TEST_F(WebRtcVideoChannel2Test, UlpfecPacketDoesntCreateUnsignalledStream) { |
3808 TestReceiveUnsignaledSsrcPacket(GetEngineCodec("ulpfec").id, | 3846 TestReceiveUnsignaledSsrcPacket(GetEngineCodec("ulpfec").id, |
3809 false /* expect_created_receive_stream */); | 3847 false /* expect_created_receive_stream */); |
3810 } | 3848 } |
3811 | 3849 |
3812 // TODO(brandtr): Change to "non-field trial" test when FlexFEC is enabled | 3850 TEST_F(WebRtcVideoChannel2FlexfecRecvTest, |
3813 // by default. | |
3814 TEST_F(WebRtcVideoChannel2FlexfecTest, | |
3815 FlexfecPacketDoesntCreateUnsignalledStream) { | 3851 FlexfecPacketDoesntCreateUnsignalledStream) { |
3816 TestReceiveUnsignaledSsrcPacket(GetEngineCodec("flexfec-03").id, | 3852 TestReceiveUnsignaledSsrcPacket(GetEngineCodec("flexfec-03").id, |
3817 false /* expect_created_receive_stream */); | 3853 false /* expect_created_receive_stream */); |
3818 } | 3854 } |
3819 | 3855 |
3820 TEST_F(WebRtcVideoChannel2Test, RedRtxPacketDoesntCreateUnsignalledStream) { | 3856 TEST_F(WebRtcVideoChannel2Test, RedRtxPacketDoesntCreateUnsignalledStream) { |
3821 TestReceiveUnsignaledSsrcPacket(kRedRtxPayloadType, | 3857 TestReceiveUnsignaledSsrcPacket(kRedRtxPayloadType, |
3822 false /* expect_created_receive_stream */); | 3858 false /* expect_created_receive_stream */); |
3823 } | 3859 } |
3824 | 3860 |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4457 | 4493 |
4458 TEST_F(WebRtcVideoChannel2SimulcastTest, | 4494 TEST_F(WebRtcVideoChannel2SimulcastTest, |
4459 NoSimulcastScreenshareWithoutConference) { | 4495 NoSimulcastScreenshareWithoutConference) { |
4460 webrtc::test::ScopedFieldTrials override_field_trials_( | 4496 webrtc::test::ScopedFieldTrials override_field_trials_( |
4461 "WebRTC-SimulcastScreenshare/Enabled/"); | 4497 "WebRTC-SimulcastScreenshare/Enabled/"); |
4462 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true, | 4498 VerifySimulcastSettings(cricket::VideoCodec("VP8"), 1280, 720, 3, 1, true, |
4463 false); | 4499 false); |
4464 } | 4500 } |
4465 | 4501 |
4466 } // namespace cricket | 4502 } // namespace cricket |
OLD | NEW |