зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1646092 - Do not add ssrc-group to sdp on recvonly msections; r=bwc
Chrome will not accept sdp with ssrc-group:FID on recvonly msections, causing calls to fail to be established between Firefox and Chrome when only a microphone is present on the Firefox side. Differential Revision: https://phabricator.services.mozilla.com/D80034
This commit is contained in:
Родитель
ebb721dcf8
Коммит
1116efcc34
|
@ -3085,11 +3085,7 @@ TEST_F(JsepSessionTest, OfferAnswerRecvOnlyLines) {
|
||||||
const auto& msection =
|
const auto& msection =
|
||||||
parsedOffer->GetMediaSection(transceiver->GetLevel());
|
parsedOffer->GetMediaSection(transceiver->GetLevel());
|
||||||
const auto& ssrcs = msection.GetAttributeList().GetSsrc().mSsrcs;
|
const auto& ssrcs = msection.GetAttributeList().GetSsrc().mSsrcs;
|
||||||
if (msection.GetMediaType() == SdpMediaSection::kVideo) {
|
ASSERT_EQ(1U, ssrcs.size());
|
||||||
ASSERT_EQ(2U, ssrcs.size());
|
|
||||||
} else {
|
|
||||||
ASSERT_EQ(1U, ssrcs.size());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -256,8 +256,8 @@ bool JsepTrack::IsRtxEnabled(
|
||||||
|
|
||||||
void JsepTrack::AddToMsection(const std::vector<JsConstraints>& constraintsList,
|
void JsepTrack::AddToMsection(const std::vector<JsConstraints>& constraintsList,
|
||||||
sdp::Direction direction,
|
sdp::Direction direction,
|
||||||
SsrcGenerator& ssrcGenerator,
|
SsrcGenerator& ssrcGenerator, bool rtxEnabled,
|
||||||
bool requireRtxSsrcs, SdpMediaSection* msection) {
|
SdpMediaSection* msection) {
|
||||||
UniquePtr<SdpSimulcastAttribute> simulcast(new SdpSimulcastAttribute);
|
UniquePtr<SdpSimulcastAttribute> simulcast(new SdpSimulcastAttribute);
|
||||||
UniquePtr<SdpRidAttributeList> rids(new SdpRidAttributeList);
|
UniquePtr<SdpRidAttributeList> rids(new SdpRidAttributeList);
|
||||||
for (const JsConstraints& constraints : constraintsList) {
|
for (const JsConstraints& constraints : constraintsList) {
|
||||||
|
@ -283,6 +283,10 @@ void JsepTrack::AddToMsection(const std::vector<JsConstraints>& constraintsList,
|
||||||
msection->GetAttributeList().SetAttribute(rids.release());
|
msection->GetAttributeList().SetAttribute(rids.release());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool requireRtxSsrcs =
|
||||||
|
rtxEnabled && msection->GetDirectionAttribute().mValue !=
|
||||||
|
SdpDirectionAttribute::Direction::kRecvonly;
|
||||||
|
|
||||||
if (mType != SdpMediaSection::kApplication && mDirection == sdp::kSend) {
|
if (mType != SdpMediaSection::kApplication && mDirection == sdp::kSend) {
|
||||||
UpdateSsrcs(ssrcGenerator, constraintsList.size());
|
UpdateSsrcs(ssrcGenerator, constraintsList.size());
|
||||||
|
|
||||||
|
|
|
@ -277,7 +277,7 @@ class JsepTrack {
|
||||||
|
|
||||||
void AddToMsection(const std::vector<JsConstraints>& constraintsList,
|
void AddToMsection(const std::vector<JsConstraints>& constraintsList,
|
||||||
sdp::Direction direction, SsrcGenerator& ssrcGenerator,
|
sdp::Direction direction, SsrcGenerator& ssrcGenerator,
|
||||||
bool requireRtxSsrcs, SdpMediaSection* msection);
|
bool rtxEnabled, SdpMediaSection* msection);
|
||||||
|
|
||||||
// See Bug 1642419, this can be removed when all sites are working with RTX.
|
// See Bug 1642419, this can be removed when all sites are working with RTX.
|
||||||
void SetRtxIsAllowed(bool aRtxIsAllowed) { mRtxIsAllowed = aRtxIsAllowed; }
|
void SetRtxIsAllowed(bool aRtxIsAllowed) { mRtxIsAllowed = aRtxIsAllowed; }
|
||||||
|
|
Загрузка…
Ссылка в новой задаче