Exemple #1
0
 private void ParseAudioRecvStatsReport(RTCLegacyStatsReport statsReport)
 {
     foreach (var pair in statsReport.Values)
     {
         UpdateAudioRecvStatOfKey(pair.Key?.ToString(), pair.Value?.ToString());
     }
 }
Exemple #2
0
 private void ParseBweStatsReport(RTCLegacyStatsReport statsReport)
 {
     foreach (var pair in statsReport.Values)
     {
         UpdateBweStatOfKey(pair.Key.ToString(), pair.Value.ToString());
     }
 }
Exemple #3
0
        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());
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
        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);
            }
        }