count plan-b/unified-plan usage in SDP answers
the UMA stats currently do not count services like Hangouts that have "complex" SDP with multiple tracks only in the answer, not in the offer. Note that this changes the definition of the existing metric. BUG=chromium:857004 Change-Id: Ib4520a82f7d94cdd4a307d32846e2d26a5f03b90 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186701 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com> Cr-Commit-Position: refs/heads/master@{#32355}
This commit is contained in:
parent
441dbf9a56
commit
b8ca2a18a5
@ -3009,8 +3009,21 @@ void PeerConnection::ReportSdpFormatReceived(
|
||||
} else if (num_audio_tracks > 0 || num_video_tracks > 0) {
|
||||
format = kSdpFormatReceivedSimple;
|
||||
}
|
||||
RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.SdpFormatReceived", format,
|
||||
kSdpFormatReceivedMax);
|
||||
switch (remote_offer.GetType()) {
|
||||
case SdpType::kOffer:
|
||||
// Historically only offers were counted.
|
||||
RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.SdpFormatReceived",
|
||||
format, kSdpFormatReceivedMax);
|
||||
break;
|
||||
case SdpType::kAnswer:
|
||||
RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.SdpFormatReceivedAnswer",
|
||||
format, kSdpFormatReceivedMax);
|
||||
break;
|
||||
default:
|
||||
RTC_LOG(LS_ERROR) << "Can not report SdpFormatReceived for "
|
||||
<< SdpTypeToString(remote_offer.GetType());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void PeerConnection::ReportIceCandidateCollected(
|
||||
|
||||
@ -1855,6 +1855,19 @@ TEST_F(SdpFormatReceivedTest, ComplexPlanBIsReportedAsComplexPlanB) {
|
||||
ElementsAre(Pair(kSdpFormatReceivedComplexPlanB, 1)));
|
||||
}
|
||||
|
||||
TEST_F(SdpFormatReceivedTest, AnswerIsReported) {
|
||||
auto caller = CreatePeerConnectionWithPlanB();
|
||||
caller->AddAudioTrack("audio");
|
||||
caller->AddVideoTrack("video");
|
||||
auto callee = CreatePeerConnectionWithUnifiedPlan();
|
||||
|
||||
ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
|
||||
ASSERT_TRUE(caller->SetRemoteDescription(callee->CreateAnswer()));
|
||||
EXPECT_METRIC_THAT(
|
||||
metrics::Samples("WebRTC.PeerConnection.SdpFormatReceivedAnswer"),
|
||||
ElementsAre(Pair(kSdpFormatReceivedSimple, 1)));
|
||||
}
|
||||
|
||||
// Sender setups in a call.
|
||||
|
||||
TEST_P(PeerConnectionRtpTest, CreateTwoSendersWithSameTrack) {
|
||||
|
||||
@ -2009,8 +2009,9 @@ void SdpOfferAnswerHandler::DoSetRemoteDescription(
|
||||
"Rollback not supported in Plan B"));
|
||||
return;
|
||||
}
|
||||
if (desc->GetType() == SdpType::kOffer) {
|
||||
// Report to UMA the format of the received offer.
|
||||
if (desc->GetType() == SdpType::kOffer ||
|
||||
desc->GetType() == SdpType::kAnswer) {
|
||||
// Report to UMA the format of the received offer or answer.
|
||||
pc_->ReportSdpFormatReceived(*desc);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user