Changed defaults for CreateAnswer in non-constraint mode

This CL also adds control flag in webrtcsession_unittests
that says whether to prefer constraints APIs or non-constraints APIs, and uses it in the test that was needed
to uncover the bug.

BUG=webrtc:4906

Review URL: https://codereview.webrtc.org/1775033002

Cr-Commit-Position: refs/heads/master@{#11947}
This commit is contained in:
hta
2016-03-10 13:35:55 -08:00
committed by Commit bot
parent 50da1d329a
commit aac2dea765
5 changed files with 119 additions and 40 deletions

View File

@ -2454,11 +2454,11 @@ TEST(CreateSessionOptionsTest, GetOptionsForOfferWithInvalidAudioOption) {
rtc_options.offer_to_receive_audio = RTCOfferAnswerOptions::kUndefined - 1;
cricket::MediaSessionOptions options;
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, true, &options));
rtc_options.offer_to_receive_audio =
RTCOfferAnswerOptions::kMaxOfferToReceiveMedia + 1;
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, true, &options));
}
TEST(CreateSessionOptionsTest, GetOptionsForOfferWithInvalidVideoOption) {
@ -2466,11 +2466,11 @@ TEST(CreateSessionOptionsTest, GetOptionsForOfferWithInvalidVideoOption) {
rtc_options.offer_to_receive_video = RTCOfferAnswerOptions::kUndefined - 1;
cricket::MediaSessionOptions options;
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, true, &options));
rtc_options.offer_to_receive_video =
RTCOfferAnswerOptions::kMaxOfferToReceiveMedia + 1;
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_FALSE(ExtractMediaSessionOptions(rtc_options, true, &options));
}
// Test that a MediaSessionOptions is created for an offer if
@ -2481,7 +2481,7 @@ TEST(CreateSessionOptionsTest, GetMediaSessionOptionsForOfferWithAudioVideo) {
rtc_options.offer_to_receive_video = 1;
cricket::MediaSessionOptions options;
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, true, &options));
EXPECT_TRUE(options.has_audio());
EXPECT_TRUE(options.has_video());
EXPECT_TRUE(options.bundle_enabled);
@ -2494,7 +2494,7 @@ TEST(CreateSessionOptionsTest, GetMediaSessionOptionsForOfferWithAudio) {
rtc_options.offer_to_receive_audio = 1;
cricket::MediaSessionOptions options;
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, true, &options));
EXPECT_TRUE(options.has_audio());
EXPECT_FALSE(options.has_video());
EXPECT_TRUE(options.bundle_enabled);
@ -2508,7 +2508,7 @@ TEST(CreateSessionOptionsTest, GetDefaultMediaSessionOptionsForOffer) {
cricket::MediaSessionOptions options;
options.transport_options["audio"] = cricket::TransportOptions();
options.transport_options["video"] = cricket::TransportOptions();
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, true, &options));
EXPECT_TRUE(options.has_audio());
EXPECT_FALSE(options.has_video());
EXPECT_TRUE(options.bundle_enabled);
@ -2525,7 +2525,7 @@ TEST(CreateSessionOptionsTest, GetMediaSessionOptionsForOfferWithVideo) {
rtc_options.offer_to_receive_video = 1;
cricket::MediaSessionOptions options;
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, true, &options));
EXPECT_FALSE(options.has_audio());
EXPECT_TRUE(options.has_video());
EXPECT_TRUE(options.bundle_enabled);
@ -2541,7 +2541,7 @@ TEST(CreateSessionOptionsTest,
rtc_options.use_rtp_mux = false;
cricket::MediaSessionOptions options;
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, true, &options));
EXPECT_TRUE(options.has_audio());
EXPECT_TRUE(options.has_video());
EXPECT_FALSE(options.bundle_enabled);
@ -2557,12 +2557,12 @@ TEST(CreateSessionOptionsTest, GetMediaSessionOptionsForOfferWithIceRestart) {
cricket::MediaSessionOptions options;
options.transport_options["audio"] = cricket::TransportOptions();
options.transport_options["video"] = cricket::TransportOptions();
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, true, &options));
EXPECT_TRUE(options.transport_options["audio"].ice_restart);
EXPECT_TRUE(options.transport_options["video"].ice_restart);
rtc_options = RTCOfferAnswerOptions();
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, &options));
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_options, true, &options));
EXPECT_FALSE(options.transport_options["audio"].ice_restart);
EXPECT_FALSE(options.transport_options["video"].ice_restart);
}
@ -2584,16 +2584,17 @@ TEST(CreateSessionOptionsTest, MediaConstraintsInAnswer) {
RTCOfferAnswerOptions rtc_offer_options;
cricket::MediaSessionOptions offer_options;
EXPECT_TRUE(ExtractMediaSessionOptions(rtc_offer_options, &offer_options));
EXPECT_TRUE(
ExtractMediaSessionOptions(rtc_offer_options, false, &offer_options));
EXPECT_TRUE(offer_options.has_audio());
EXPECT_FALSE(offer_options.has_video());
EXPECT_TRUE(offer_options.has_video());
RTCOfferAnswerOptions updated_rtc_offer_options;
updated_rtc_offer_options.offer_to_receive_audio = 1;
updated_rtc_offer_options.offer_to_receive_video = 1;
cricket::MediaSessionOptions updated_offer_options;
EXPECT_TRUE(ExtractMediaSessionOptions(updated_rtc_offer_options,
EXPECT_TRUE(ExtractMediaSessionOptions(updated_rtc_offer_options, false,
&updated_offer_options));
EXPECT_TRUE(updated_offer_options.has_audio());
EXPECT_TRUE(updated_offer_options.has_video());