/// <summary>
 /// Callback for LinphoneCoreListener
 /// </summary>
 public void CallStatsUpdated(LinphoneCall call, LinphoneCallStats stats)
 {
 }
Exemple #2
0
 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);
 }
Exemple #4
0
        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;
        }
        /// <summary>
        /// Callback for LinphoneCoreListener
        /// </summary>
        public void CallStatsUpdated(LinphoneCall call, LinphoneCallStats stats)
        {

        }