CVSROOT: /cvs/gnome Module name: ekiga Changes by: jschamp 06/09/10 08:57:42
Modified files: src/gui : main.cpp . : ChangeLog Log message: --- ekiga/src/gui/main.cpp 2006-09-09 20:06:05.000000000 +0200 +++ ekiga-jan/src/gui/main.cpp 2006-09-10 14:21:08.000000000 +0200 @@ -4491,7 +4491,8 @@ g_return_if_fail (mw != NULL); gm_main_window_update_stats (main_window, 0, 0, 0, 0, 0, 0, 0, 0); - gm_powermeter_set_level (GM_POWERMETER (mw->qualitymeter), 0.0); + if (mw->qualitymeter) + gm_powermeter_set_level (GM_POWERMETER (mw->qualitymeter), 0.0); stats_drawing_area_clear (mw->stats_drawing_area); } @@ -4510,6 +4511,7 @@ GmWindow *mw = NULL; gchar *stats_msg = NULL; + int jitter_quality = 0; gfloat quality_level = 0.0; @@ -4531,8 +4533,23 @@ new_audio_octets_transmitted); /* "arithmetics" for the quality level */ - /* FIXME: we need a proper arithmetic to do that */ - quality_level = 1.0 - ((1.0 / 500) * jitter); + /* Thanks Snark for the math hints */ + if (jitter < 30) + jitter_quality = 100; + if (jitter >= 30 && jitter < 50) + jitter_quality = 100 - (jitter - 30); + if (jitter >= 50 && jitter < 100) + jitter_quality = 80 - (jitter - 50) * 20 / 50; + if (jitter >= 100 && jitter < 150) + jitter_quality = 60 - (jitter - 100) * 20 / 50; + if (jitter >= 150 && jitter < 200) + jitter_quality = 40 - (jitter - 150) * 20 / 50; + if (jitter >= 200 && jitter < 300) + jitter_quality = 20 - (jitter - 200) * 20 / 100; + if (jitter >= 300 || jitter_quality < 0) + jitter_quality = 0; + + quality_level = (float) jitter_quality / 100; if ( (lost < 0.02 && lost != 0.0) || (late < 0.02 && late != 0.0) || URL : http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=ekiga&who=jschamp&date=explicit&mindate=2006-09-10%2008:56&maxdate=2006-09-10%2008:58 _______________________________________________ cvs-commits-list mailing list cvs-commits-list@gnome.org http://mail.gnome.org/mailman/listinfo/cvs-commits-list