private void ParseAudioRecvStatsReport(RTCLegacyStatsReport statsReport) { foreach (var pair in statsReport.Values) { UpdateAudioRecvStatOfKey(pair.Key?.ToString(), pair.Value?.ToString()); } }
private void ParseBweStatsReport(RTCLegacyStatsReport statsReport) { foreach (var pair in statsReport.Values) { UpdateBweStatOfKey(pair.Key.ToString(), pair.Value.ToString()); } }
private void ParseConnectionStatsReport(RTCLegacyStatsReport statsReport) { var activeConnection = statsReport.Values["googActiveConnection"]?.ToString(); if (activeConnection != "true") { return; } foreach (var pair in statsReport.Values) { UpdateConnectionStatOfKey(pair.Key.ToString(), pair.Value.ToString()); } }
private void ParseSendSsrcStatsReport(RTCLegacyStatsReport statsReport) { var values = statsReport.Values; if (values.ContainsKey("googFrameRateSent".ToNative())) { // Video track. ParseVideoSendStatsReport(statsReport); } else if (values.ContainsKey("audioInputLevel".ToNative())) { //audio track ParseAudioSendStatsReport(statsReport); } }
private void ParseRecvSsrcStatsReport(RTCLegacyStatsReport statsReport) { var values = statsReport.Values; if (values.ContainsKey("googFrameWidthReceived".ToNative())) { // Video track. ParseVideoRecvStatsReport(statsReport); } else if (values.ContainsKey("audioOutputLevel".ToNative())) { // Audio track. ParseAudioRecvStatsReport(statsReport); } }
public void ParseStatsReport(RTCLegacyStatsReport statsReport) { var reportType = statsReport.Type; if (reportType == "ssrc" && ContainsString(statsReport.ReportId, "ssrc")) { if (ContainsString(statsReport.ReportId, "send")) { ParseSendSsrcStatsReport(statsReport); } if (ContainsString(statsReport.ReportId, "recv")) { ParseRecvSsrcStatsReport(statsReport); } } else if (reportType == "VideoBwe") { ParseBweStatsReport(statsReport); } else if (reportType == "googCandidatePair") { ParseConnectionStatsReport(statsReport); } }