Rename too long variable name to extmap_allow_mixed

Bug: webrtc:7990
Change-Id: I990111e473553163cecb9c73fec90d07c24aca02
Reviewed-on: https://webrtc-review.googlesource.com/c/107362
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25307}
This commit is contained in:
Johannes Kron 2018-10-23 10:17:39 +02:00 committed by Commit Bot
parent 2edab4c026
commit 9581bc4c52
11 changed files with 106 additions and 120 deletions

View File

@ -26,6 +26,7 @@ class RtpHeaderExtensionMap {
static constexpr int kInvalidId = 0;
RtpHeaderExtensionMap();
explicit RtpHeaderExtensionMap(bool extmap_allow_mixed);
explicit RtpHeaderExtensionMap(rtc::ArrayView<const RtpExtension> extensions);
template <typename Extension>
@ -53,18 +54,16 @@ class RtpHeaderExtensionMap {
}
int32_t Deregister(RTPExtensionType type);
bool IsMixedOneTwoByteHeaderSupported() const {
return mixed_one_two_byte_header_supported_;
}
void SetMixedOneTwoByteHeaderSupported(bool supported) {
mixed_one_two_byte_header_supported_ = supported;
}
// Corresponds to the SDP attribute extmap-allow-mixed, see RFC8285.
// Set to true if it's allowed to mix one- and two-byte RTP header extensions
// in the same stream.
bool ExtmapAllowMixed() const { return extmap_allow_mixed_; }
private:
bool Register(int id, RTPExtensionType type, const char* uri);
uint8_t ids_[kRtpExtensionNumberOfExtensions];
bool mixed_one_two_byte_header_supported_;
bool extmap_allow_mixed_;
};
} // namespace webrtc

View File

@ -56,15 +56,17 @@ static_assert(arraysize(kExtensions) ==
constexpr RTPExtensionType RtpHeaderExtensionMap::kInvalidType;
constexpr int RtpHeaderExtensionMap::kInvalidId;
RtpHeaderExtensionMap::RtpHeaderExtensionMap()
: mixed_one_two_byte_header_supported_(false) {
RtpHeaderExtensionMap::RtpHeaderExtensionMap() : RtpHeaderExtensionMap(false) {}
RtpHeaderExtensionMap::RtpHeaderExtensionMap(bool extmap_allow_mixed)
: extmap_allow_mixed_(extmap_allow_mixed) {
for (auto& id : ids_)
id = kInvalidId;
}
RtpHeaderExtensionMap::RtpHeaderExtensionMap(
rtc::ArrayView<const RtpExtension> extensions)
: RtpHeaderExtensionMap() {
: RtpHeaderExtensionMap(false) {
for (const RtpExtension& extension : extensions)
RegisterByUri(extension.id, extension.uri);
}

View File

@ -211,8 +211,7 @@ rtc::ArrayView<uint8_t> RtpPacket::AllocateRawExtension(int id, size_t length) {
const bool two_byte_header_required =
id > RtpExtension::kOneByteHeaderExtensionMaxId ||
length > RtpExtension::kOneByteHeaderExtensionMaxValueSize || length == 0;
RTC_CHECK(!two_byte_header_required ||
extensions_.IsMixedOneTwoByteHeaderSupported());
RTC_CHECK(!two_byte_header_required || extensions_.ExtmapAllowMixed());
uint16_t profile_id;
if (extensions_size_ > 0) {
@ -553,7 +552,7 @@ rtc::ArrayView<uint8_t> RtpPacket::AllocateExtension(ExtensionType type,
size_t length) {
// TODO(webrtc:7990): Add support for empty extensions (length==0).
if (length == 0 || length > RtpExtension::kMaxValueSize ||
(!extensions_.IsMixedOneTwoByteHeaderSupported() &&
(!extensions_.ExtmapAllowMixed() &&
length > RtpExtension::kOneByteHeaderExtensionMaxValueSize)) {
return nullptr;
}
@ -563,7 +562,7 @@ rtc::ArrayView<uint8_t> RtpPacket::AllocateExtension(ExtensionType type,
// Extension not registered.
return nullptr;
}
if (!extensions_.IsMixedOneTwoByteHeaderSupported() &&
if (!extensions_.ExtmapAllowMixed() &&
id > RtpExtension::kOneByteHeaderExtensionMaxId) {
return nullptr;
}

View File

@ -226,8 +226,7 @@ TEST(RtpPacketTest, CreateWith2Extensions) {
}
TEST(RtpPacketTest, CreateWithTwoByteHeaderExtensionFirst) {
RtpPacketToSend::ExtensionManager extensions;
extensions.SetMixedOneTwoByteHeaderSupported(true);
RtpPacketToSend::ExtensionManager extensions(true);
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);
@ -248,8 +247,7 @@ TEST(RtpPacketTest, CreateWithTwoByteHeaderExtensionFirst) {
TEST(RtpPacketTest, CreateWithTwoByteHeaderExtensionLast) {
// This test will trigger RtpPacket::PromoteToTwoByteHeaderExtension().
RtpPacketToSend::ExtensionManager extensions;
extensions.SetMixedOneTwoByteHeaderSupported(true);
RtpPacketToSend::ExtensionManager extensions(true);
extensions.Register(kRtpExtensionTransmissionTimeOffset,
kTransmissionOffsetExtensionId);
extensions.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId);

View File

@ -1072,7 +1072,7 @@ static bool CreateMediaContentAnswer(
answer->AddCodecs(negotiated_codecs);
answer->set_protocol(offer->protocol());
answer->set_extmap_allow_mixed_headers(offer->extmap_allow_mixed_headers());
answer->set_extmap_allow_mixed_enum(offer->extmap_allow_mixed_enum());
RtpHeaderExtensions negotiated_rtp_extensions;
NegotiateRtpHeaderExtensions(
local_rtp_extenstions, offer->rtp_header_extensions(),
@ -1406,7 +1406,7 @@ SessionDescription* MediaSessionDescriptionFactory::CreateAnswer(
// Transport info shared by the bundle group.
std::unique_ptr<TransportInfo> bundle_transport;
answer->set_extmap_allow_mixed_headers(offer->extmap_allow_mixed_headers());
answer->set_extmap_allow_mixed(offer->extmap_allow_mixed());
// Get list of all possible codecs that respects existing payload type
// mappings and uses a single payload type space.

View File

@ -1586,18 +1586,18 @@ TEST_F(MediaSessionDescriptionFactoryTest,
MediaSessionOptions opts;
std::unique_ptr<SessionDescription> offer(f1_.CreateOffer(opts, NULL));
// Offer without request of mixed one- and two-byte header extensions.
offer->set_extmap_allow_mixed_headers(false);
offer->set_extmap_allow_mixed(false);
ASSERT_TRUE(offer.get() != NULL);
std::unique_ptr<SessionDescription> answer_no_support(
f2_.CreateAnswer(offer.get(), opts, NULL));
EXPECT_FALSE(answer_no_support->extmap_allow_mixed_headers());
EXPECT_FALSE(answer_no_support->extmap_allow_mixed());
// Offer with request of mixed one- and two-byte header extensions.
offer->set_extmap_allow_mixed_headers(true);
offer->set_extmap_allow_mixed(true);
ASSERT_TRUE(offer.get() != NULL);
std::unique_ptr<SessionDescription> answer_support(
f2_.CreateAnswer(offer.get(), opts, NULL));
EXPECT_TRUE(answer_support->extmap_allow_mixed_headers());
EXPECT_TRUE(answer_support->extmap_allow_mixed());
}
TEST_F(MediaSessionDescriptionFactoryTest,
@ -1613,8 +1613,8 @@ TEST_F(MediaSessionDescriptionFactoryTest,
ASSERT_TRUE(audio_offer);
// Explicit disable of mixed one-two byte header support in offer.
video_offer->set_extmap_allow_mixed_headers(MediaContentDescription::kNo);
audio_offer->set_extmap_allow_mixed_headers(MediaContentDescription::kNo);
video_offer->set_extmap_allow_mixed_enum(MediaContentDescription::kNo);
audio_offer->set_extmap_allow_mixed_enum(MediaContentDescription::kNo);
ASSERT_TRUE(offer.get() != NULL);
std::unique_ptr<SessionDescription> answer_no_support(
@ -1624,22 +1624,22 @@ TEST_F(MediaSessionDescriptionFactoryTest,
MediaContentDescription* audio_answer =
answer_no_support->GetContentDescriptionByName("audio");
EXPECT_EQ(MediaContentDescription::kNo,
video_answer->extmap_allow_mixed_headers());
video_answer->extmap_allow_mixed_enum());
EXPECT_EQ(MediaContentDescription::kNo,
audio_answer->extmap_allow_mixed_headers());
audio_answer->extmap_allow_mixed_enum());
// Enable mixed one-two byte header support in offer.
video_offer->set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
audio_offer->set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
video_offer->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
audio_offer->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
ASSERT_TRUE(offer.get() != NULL);
std::unique_ptr<SessionDescription> answer_support(
f2_.CreateAnswer(offer.get(), opts, NULL));
video_answer = answer_support->GetContentDescriptionByName("video");
audio_answer = answer_support->GetContentDescriptionByName("audio");
EXPECT_EQ(MediaContentDescription::kMedia,
video_answer->extmap_allow_mixed_headers());
video_answer->extmap_allow_mixed_enum());
EXPECT_EQ(MediaContentDescription::kMedia,
audio_answer->extmap_allow_mixed_headers());
audio_answer->extmap_allow_mixed_enum());
}
// Create an audio and video offer with:

View File

@ -175,9 +175,9 @@ void SessionDescription::AddContent(const std::string& name,
}
void SessionDescription::AddContent(ContentInfo* content) {
if (extmap_allow_mixed_headers()) {
if (extmap_allow_mixed()) {
// Mixed support on session level overrides setting on media level.
content->description->set_extmap_allow_mixed_headers(
content->description->set_extmap_allow_mixed_enum(
MediaContentDescription::kSession);
}
contents_.push_back(std::move(*content));

View File

@ -185,22 +185,19 @@ class MediaContentDescription {
// Determines if it's allowed to mix one- and two-byte rtp header extensions
// within the same rtp stream.
enum ExtmapAllowMixedHeaders { kNo, kSession, kMedia };
void set_extmap_allow_mixed_headers(
ExtmapAllowMixedHeaders new_extmap_allow_mixed) {
enum ExtmapAllowMixed { kNo, kSession, kMedia };
void set_extmap_allow_mixed_enum(ExtmapAllowMixed new_extmap_allow_mixed) {
if (new_extmap_allow_mixed == kMedia &&
extmap_allow_mixed_headers_ == kSession) {
extmap_allow_mixed_enum_ == kSession) {
// Do not downgrade from session level to media level.
return;
}
extmap_allow_mixed_headers_ = new_extmap_allow_mixed;
extmap_allow_mixed_enum_ = new_extmap_allow_mixed;
}
ExtmapAllowMixedHeaders extmap_allow_mixed_headers() const {
return extmap_allow_mixed_headers_;
}
bool mixed_one_two_byte_header_extensions_supported() const {
return extmap_allow_mixed_headers_ != kNo;
ExtmapAllowMixed extmap_allow_mixed_enum() const {
return extmap_allow_mixed_enum_;
}
bool extmap_allow_mixed() const { return extmap_allow_mixed_enum_ != kNo; }
protected:
bool rtcp_mux_ = false;
@ -218,7 +215,7 @@ class MediaContentDescription {
// Mixed one- and two-byte header not included in offer on media level or
// session level, but we will respond that we support it. The plan is to add
// it to our offer on session level. See todo in SessionDescription.
ExtmapAllowMixedHeaders extmap_allow_mixed_headers_ = kNo;
ExtmapAllowMixed extmap_allow_mixed_enum_ = kNo;
};
// TODO(bugs.webrtc.org/8620): Remove this alias once downstream projects have
@ -477,24 +474,21 @@ class SessionDescription {
// Determines if it's allowed to mix one- and two-byte rtp header extensions
// within the same rtp stream.
void set_extmap_allow_mixed_headers(bool supported) {
extmap_allow_mixed_headers_ = supported;
MediaContentDescription::ExtmapAllowMixedHeaders media_level_setting =
void set_extmap_allow_mixed(bool supported) {
extmap_allow_mixed_ = supported;
MediaContentDescription::ExtmapAllowMixed media_level_setting =
supported ? MediaContentDescription::kSession
: MediaContentDescription::kNo;
for (auto& content : contents_) {
// Do not set to kNo if the current setting is kMedia.
if (supported ||
content.media_description()->extmap_allow_mixed_headers() !=
MediaContentDescription::kMedia) {
content.media_description()->set_extmap_allow_mixed_headers(
if (supported || content.media_description()->extmap_allow_mixed_enum() !=
MediaContentDescription::kMedia) {
content.media_description()->set_extmap_allow_mixed_enum(
media_level_setting);
}
}
}
bool extmap_allow_mixed_headers() const {
return extmap_allow_mixed_headers_;
}
bool extmap_allow_mixed() const { return extmap_allow_mixed_; }
private:
SessionDescription(const SessionDescription&);
@ -510,7 +504,7 @@ class SessionDescription {
// session level. It's currently not included in offer by default because
// clients prior to https://bugs.webrtc.org/9712 cannot parse this correctly.
// If it's included in offer to us we will respond that we support it.
bool extmap_allow_mixed_headers_ = false;
bool extmap_allow_mixed_ = false;
};
// Indicates whether a session description was sent by the local client or

View File

@ -14,55 +14,51 @@ namespace cricket {
TEST(MediaContentDescriptionTest, ExtmapAllowMixedDefaultValue) {
VideoContentDescription video_desc;
EXPECT_EQ(MediaContentDescription::kNo,
video_desc.extmap_allow_mixed_headers());
EXPECT_EQ(MediaContentDescription::kNo, video_desc.extmap_allow_mixed_enum());
}
TEST(MediaContentDescriptionTest, SetExtmapAllowMixed) {
VideoContentDescription video_desc;
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kNo);
EXPECT_EQ(MediaContentDescription::kNo,
video_desc.extmap_allow_mixed_headers());
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kNo);
EXPECT_EQ(MediaContentDescription::kNo, video_desc.extmap_allow_mixed_enum());
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
EXPECT_EQ(MediaContentDescription::kMedia,
video_desc.extmap_allow_mixed_headers());
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kSession);
video_desc.extmap_allow_mixed_enum());
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kSession);
EXPECT_EQ(MediaContentDescription::kSession,
video_desc.extmap_allow_mixed_headers());
video_desc.extmap_allow_mixed_enum());
// Not allowed to downgrade from kSession to kMedia.
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
EXPECT_EQ(MediaContentDescription::kSession,
video_desc.extmap_allow_mixed_headers());
video_desc.extmap_allow_mixed_enum());
// Always okay to set not supported.
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kNo);
EXPECT_EQ(MediaContentDescription::kNo,
video_desc.extmap_allow_mixed_headers());
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kNo);
EXPECT_EQ(MediaContentDescription::kNo, video_desc.extmap_allow_mixed_enum());
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
EXPECT_EQ(MediaContentDescription::kMedia,
video_desc.extmap_allow_mixed_headers());
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kNo);
EXPECT_EQ(MediaContentDescription::kNo,
video_desc.extmap_allow_mixed_headers());
video_desc.extmap_allow_mixed_enum());
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kNo);
EXPECT_EQ(MediaContentDescription::kNo, video_desc.extmap_allow_mixed_enum());
}
TEST(MediaContentDescriptionTest, MixedOneTwoByteHeaderSupported) {
VideoContentDescription video_desc;
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kNo);
EXPECT_FALSE(video_desc.mixed_one_two_byte_header_extensions_supported());
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
EXPECT_TRUE(video_desc.mixed_one_two_byte_header_extensions_supported());
video_desc.set_extmap_allow_mixed_headers(MediaContentDescription::kSession);
EXPECT_TRUE(video_desc.mixed_one_two_byte_header_extensions_supported());
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kNo);
EXPECT_FALSE(video_desc.extmap_allow_mixed());
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
EXPECT_TRUE(video_desc.extmap_allow_mixed());
video_desc.set_extmap_allow_mixed_enum(MediaContentDescription::kSession);
EXPECT_TRUE(video_desc.extmap_allow_mixed());
}
TEST(SessionDescriptionTest, SetExtmapAllowMixed) {
SessionDescription session_desc;
session_desc.set_extmap_allow_mixed_headers(true);
EXPECT_TRUE(session_desc.extmap_allow_mixed_headers());
session_desc.set_extmap_allow_mixed_headers(false);
EXPECT_FALSE(session_desc.extmap_allow_mixed_headers());
session_desc.set_extmap_allow_mixed(true);
EXPECT_TRUE(session_desc.extmap_allow_mixed());
session_desc.set_extmap_allow_mixed(false);
EXPECT_FALSE(session_desc.extmap_allow_mixed());
}
TEST(SessionDescriptionTest, SetExtmapAllowMixedPropagatesToMediaLevel) {
@ -71,64 +67,64 @@ TEST(SessionDescriptionTest, SetExtmapAllowMixedPropagatesToMediaLevel) {
session_desc.AddContent("video", MediaProtocolType::kRtp, video_desc);
// Setting true on session level propagates to media level.
session_desc.set_extmap_allow_mixed_headers(true);
session_desc.set_extmap_allow_mixed(true);
EXPECT_EQ(MediaContentDescription::kSession,
video_desc->extmap_allow_mixed_headers());
video_desc->extmap_allow_mixed_enum());
// Don't downgrade from session level to media level
video_desc->set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
video_desc->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
EXPECT_EQ(MediaContentDescription::kSession,
video_desc->extmap_allow_mixed_headers());
video_desc->extmap_allow_mixed_enum());
// Setting false on session level propagates to media level if the current
// state is kSession.
session_desc.set_extmap_allow_mixed_headers(false);
session_desc.set_extmap_allow_mixed(false);
EXPECT_EQ(MediaContentDescription::kNo,
video_desc->extmap_allow_mixed_headers());
video_desc->extmap_allow_mixed_enum());
// Now possible to set at media level.
video_desc->set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
video_desc->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
EXPECT_EQ(MediaContentDescription::kMedia,
video_desc->extmap_allow_mixed_headers());
video_desc->extmap_allow_mixed_enum());
// Setting false on session level does not override on media level if current
// state is kMedia.
session_desc.set_extmap_allow_mixed_headers(false);
session_desc.set_extmap_allow_mixed(false);
EXPECT_EQ(MediaContentDescription::kMedia,
video_desc->extmap_allow_mixed_headers());
video_desc->extmap_allow_mixed_enum());
// Setting true on session level overrides setting on media level.
session_desc.set_extmap_allow_mixed_headers(true);
session_desc.set_extmap_allow_mixed(true);
EXPECT_EQ(MediaContentDescription::kSession,
video_desc->extmap_allow_mixed_headers());
video_desc->extmap_allow_mixed_enum());
}
TEST(SessionDescriptionTest, AddContentTransfersExtmapAllowMixedSetting) {
SessionDescription session_desc;
session_desc.set_extmap_allow_mixed_headers(false);
session_desc.set_extmap_allow_mixed(false);
MediaContentDescription* audio_desc = new AudioContentDescription();
audio_desc->set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
audio_desc->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
// If session setting is false, media level setting is preserved when new
// content is added.
session_desc.AddContent("audio", MediaProtocolType::kRtp, audio_desc);
EXPECT_EQ(MediaContentDescription::kMedia,
audio_desc->extmap_allow_mixed_headers());
audio_desc->extmap_allow_mixed_enum());
// If session setting is true, it's transferred to media level when new
// content is added.
session_desc.set_extmap_allow_mixed_headers(true);
session_desc.set_extmap_allow_mixed(true);
MediaContentDescription* video_desc = new VideoContentDescription();
session_desc.AddContent("video", MediaProtocolType::kRtp, video_desc);
EXPECT_EQ(MediaContentDescription::kSession,
video_desc->extmap_allow_mixed_headers());
video_desc->extmap_allow_mixed_enum());
// Session level setting overrides media level when new content is added.
MediaContentDescription* data_desc = new DataContentDescription;
data_desc->set_extmap_allow_mixed_headers(MediaContentDescription::kMedia);
data_desc->set_extmap_allow_mixed_enum(MediaContentDescription::kMedia);
session_desc.AddContent("data", MediaProtocolType::kRtp, data_desc);
EXPECT_EQ(MediaContentDescription::kSession,
data_desc->extmap_allow_mixed_headers());
data_desc->extmap_allow_mixed_enum());
}
} // namespace cricket

View File

@ -856,7 +856,7 @@ std::string SdpSerialize(const JsepSessionDescription& jdesc) {
}
// Mixed one- and two-byte header extension.
if (desc->extmap_allow_mixed_headers()) {
if (desc->extmap_allow_mixed()) {
InitAttrLine(kAttributeExtmapAllowMixed, &os);
AddLine(os.str(), &message);
}
@ -1496,7 +1496,7 @@ void BuildRtpContentAttributes(const MediaContentDescription* media_desc,
// The attribute MUST be either on session level or media level. We support
// responding on both levels, however, we don't respond on media level if it's
// set on session level.
if (media_desc->extmap_allow_mixed_headers() ==
if (media_desc->extmap_allow_mixed_enum() ==
MediaContentDescription::kMedia) {
InitAttrLine(kAttributeExtmapAllowMixed, &os);
AddLine(os.str(), message);
@ -2020,7 +2020,7 @@ bool ParseSessionDescription(const std::string& message,
std::string line;
desc->set_msid_supported(false);
desc->set_extmap_allow_mixed_headers(false);
desc->set_extmap_allow_mixed(false);
// RFC 4566
// v= (protocol version)
if (!GetLineWithType(message, pos, &line, kLineTypeVersion)) {
@ -2158,7 +2158,7 @@ bool ParseSessionDescription(const std::string& message,
desc->set_msid_supported(
CaseInsensitiveFind(semantics, kMediaStreamSemantic));
} else if (HasAttribute(line, kAttributeExtmapAllowMixed)) {
desc->set_extmap_allow_mixed_headers(true);
desc->set_extmap_allow_mixed(true);
} else if (HasAttribute(line, kAttributeExtmap)) {
RtpExtension extmap;
if (!ParseExtmap(line, &extmap, error)) {
@ -2930,7 +2930,7 @@ bool ParseContent(const std::string& message,
} else if (HasAttribute(line, kAttributeSendRecv)) {
media_desc->set_direction(RtpTransceiverDirection::kSendRecv);
} else if (HasAttribute(line, kAttributeExtmapAllowMixed)) {
media_desc->set_extmap_allow_mixed_headers(
media_desc->set_extmap_allow_mixed_enum(
MediaContentDescription::kMedia);
} else if (HasAttribute(line, kAttributeExtmap)) {
RtpExtension extmap;

View File

@ -1286,8 +1286,7 @@ class WebRtcSdpTest : public testing::Test {
EXPECT_EQ(cd1->streams(), cd2->streams());
// extmap-allow-mixed
EXPECT_EQ(cd1->extmap_allow_mixed_headers(),
cd2->extmap_allow_mixed_headers());
EXPECT_EQ(cd1->extmap_allow_mixed_enum(), cd2->extmap_allow_mixed_enum());
// extmap
ASSERT_EQ(cd1->rtp_header_extensions().size(),
@ -1405,8 +1404,7 @@ class WebRtcSdpTest : public testing::Test {
// global attributes
EXPECT_EQ(desc1.msid_supported(), desc2.msid_supported());
EXPECT_EQ(desc1.extmap_allow_mixed_headers(),
desc2.extmap_allow_mixed_headers());
EXPECT_EQ(desc1.extmap_allow_mixed(), desc2.extmap_allow_mixed());
}
bool CompareSessionDescription(const JsepSessionDescription& desc1,
@ -2123,7 +2121,7 @@ TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithDataChannelAndBandwidth) {
}
TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithExtmapAllowMixed) {
jdesc_.description()->set_extmap_allow_mixed_headers(true);
jdesc_.description()->set_extmap_allow_mixed(true);
TestSerialize(jdesc_);
}
@ -2134,9 +2132,9 @@ TEST_F(WebRtcSdpTest, SerializeMediaContentDescriptionWithExtmapAllowMixed) {
cricket::MediaContentDescription* audio_desc =
jdesc_.description()->GetContentDescriptionByName(kAudioContentName);
ASSERT_TRUE(audio_desc);
video_desc->set_extmap_allow_mixed_headers(
video_desc->set_extmap_allow_mixed_enum(
cricket::MediaContentDescription::kMedia);
audio_desc->set_extmap_allow_mixed_headers(
audio_desc->set_extmap_allow_mixed_enum(
cricket::MediaContentDescription::kMedia);
TestSerialize(jdesc_);
}
@ -2479,7 +2477,7 @@ TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithoutMsid) {
}
TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithExtmapAllowMixed) {
jdesc_.description()->set_extmap_allow_mixed_headers(true);
jdesc_.description()->set_extmap_allow_mixed(true);
std::string sdp_with_extmap_allow_mixed = kSdpFullString;
InjectAfter("t=0 0\r\n", kExtmapAllowMixed, &sdp_with_extmap_allow_mixed);
// Deserialize
@ -2490,7 +2488,7 @@ TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithExtmapAllowMixed) {
}
TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithoutExtmapAllowMixed) {
jdesc_.description()->set_extmap_allow_mixed_headers(false);
jdesc_.description()->set_extmap_allow_mixed(false);
std::string sdp_without_extmap_allow_mixed = kSdpFullString;
// Deserialize
JsepSessionDescription jdesc_deserialized(kDummyType);
@ -2507,9 +2505,9 @@ TEST_F(WebRtcSdpTest, DeserializeMediaContentDescriptionWithExtmapAllowMixed) {
cricket::MediaContentDescription* audio_desc =
jdesc_.description()->GetContentDescriptionByName(kAudioContentName);
ASSERT_TRUE(audio_desc);
video_desc->set_extmap_allow_mixed_headers(
video_desc->set_extmap_allow_mixed_enum(
cricket::MediaContentDescription::kMedia);
audio_desc->set_extmap_allow_mixed_headers(
audio_desc->set_extmap_allow_mixed_enum(
cricket::MediaContentDescription::kMedia);
std::string sdp_with_extmap_allow_mixed = kSdpFullString;