/// <summary> /// Callback for LinphoneCoreListener /// </summary> public void CallStatsUpdated(LinphoneCall call, LinphoneCallStats stats) { }
public void CallStatsUpdated(LinphoneCall call, LinphoneCallStats stats) { Console.WriteLine("CallStatsUpdated: U:{0} | D:{1}", stats.UploadBandwidth, stats.DownloadBandwidth); }
public void CallStatsUpdated(LinphoneCall call, LinphoneCallStats stats) { WriteLog("CallStatsUpdated: U:{0} | D:{1}", stats.UploadBandwidth, stats.DownloadBandwidth); }
private void timerTick(Object sender, EventArgs args) { LinphoneCall call = ((InCallModel)ViewModel).GetCurrentCall(); if (call == null) { return; } startTime = (DateTimeOffset)call.CallStartTimeFromContext; DateTimeOffset now = DateTimeOffset.Now; TimeSpan elapsed = now.Subtract(startTime); var hh = elapsed.Hours; var ss = elapsed.Seconds; var mm = elapsed.Minutes; Status.Text = hh.ToString("00") + ":" + mm.ToString("00") + ":" + ss.ToString("00"); string audioPayloadType = ""; string audioDownloadBandwidth = ""; string audioUploadBandwidth = ""; string videoPayloadType = ""; string videoDownloadBandwidth = ""; string videoUploadBandwidth = ""; LinphoneCallParams param = call.GetCurrentParamsCopy(); ((InCallModel)ViewModel).MediaEncryption = param.MediaEncryption.ToString(); LinphoneCallStats audioStats = null; try { audioStats = call.AudioStats; } catch { } if (audioStats != null) { audioDownloadBandwidth = String.Format("{0:0.00}", audioStats.DownloadBandwidth); audioUploadBandwidth = String.Format("{0:0.00}", audioStats.UploadBandwidth); ((InCallModel)ViewModel).ICE = audioStats.IceState.ToString(); } PayloadType audiopt = param.UsedAudioCodec; if (audiopt != null) { audioPayloadType = audiopt.MimeType + "/" + audiopt.ClockRate; } if (param.VideoEnabled) { LinphoneCallStats videoStats = call.VideoStats; if (videoStats != null) { videoDownloadBandwidth = String.Format("{0:0.00}", videoStats.DownloadBandwidth); videoUploadBandwidth = String.Format("{0:0.00}", videoStats.UploadBandwidth); } PayloadType videopt = param.UsedVideoCodec; if (videopt != null) { videoPayloadType = videopt.MimeType; } Windows.Foundation.Size receivedVideoSize = param.ReceivedVideoSize; String NewReceivedVideoSize = String.Format("{0}x{1}", receivedVideoSize.Width, receivedVideoSize.Height); String OldReceivedVideoSize = ((InCallModel)ViewModel).ReceivedVideoSize; if (OldReceivedVideoSize != NewReceivedVideoSize) { ((InCallModel)ViewModel).ReceivedVideoSize = String.Format("{0}x{1}", receivedVideoSize.Width, receivedVideoSize.Height); ((InCallModel)ViewModel).IsVideoActive = false; if (NewReceivedVideoSize != "0x0") { ((InCallModel)ViewModel).IsVideoActive = true; } } Windows.Foundation.Size sentVideoSize = param.SentVideoSize; ((InCallModel)ViewModel).SentVideoSize = String.Format("{0}x{1}", sentVideoSize.Width, sentVideoSize.Height); ((InCallModel)ViewModel).VideoStatsVisibility = Visibility.Visible; } else { ((InCallModel)ViewModel).VideoStatsVisibility = Visibility.Collapsed; } string downloadBandwidth = audioDownloadBandwidth; if ((downloadBandwidth != "") && (videoDownloadBandwidth != "")) { downloadBandwidth += " - "; } if (videoDownloadBandwidth != "") { downloadBandwidth += videoDownloadBandwidth; } ((InCallModel)ViewModel).DownBandwidth = String.Format("{0} kb/s", downloadBandwidth); string uploadBandwidth = audioUploadBandwidth; if ((uploadBandwidth != "") && (videoUploadBandwidth != "")) { uploadBandwidth += " - "; } if (videoUploadBandwidth != "") { uploadBandwidth += videoUploadBandwidth; } ((InCallModel)ViewModel).UpBandwidth = String.Format("{0} kb/s", uploadBandwidth); string payloadType = audioPayloadType; if ((payloadType != "") && (videoPayloadType != "")) { payloadType += " - "; } if (videoPayloadType != "") { payloadType += videoPayloadType; } ((InCallModel)ViewModel).PayloadType = payloadType; }