ekiga r6653 - in trunk: . src/gui win32



Author: mschneid
Date: Tue Aug 19 19:43:59 2008
New Revision: 6653
URL: http://svn.gnome.org/viewvc/ekiga?rev=6653&view=rev

Log:
Turn off echo cancellation by default.
Rewire the connection quality meter.
Update the windows build.



Modified:
   trunk/ChangeLog
   trunk/ekiga.schemas.in.in
   trunk/src/gui/main.cpp
   trunk/win32/Makefile

Modified: trunk/ekiga.schemas.in.in
==============================================================================
--- trunk/ekiga.schemas.in.in	(original)
+++ trunk/ekiga.schemas.in.in	Tue Aug 19 19:43:59 2008
@@ -228,7 +228,7 @@
       <applyto>/apps/@PACKAGE_NAME@/codecs/audio/enable_echo_cancelation</applyto>
       <owner>Ekiga</owner>
       <type>bool</type>
-      <default>true</default>
+      <default>false</default>
       <locale name="C">
 	<short>Enable echo cancelation</short>
 	<long>If enabled, use echo cancelation</long>

Modified: trunk/src/gui/main.cpp
==============================================================================
--- trunk/src/gui/main.cpp	(original)
+++ trunk/src/gui/main.cpp	Tue Aug 19 19:43:59 2008
@@ -688,15 +688,53 @@
                            mw->current_call->get_received_video_bandwidth (),
                            videooutput_stats.tx_fps,
                            videooutput_stats.rx_fps);
-    //gdk_threads_enter ();
     gm_main_window_push_info_message (GTK_WIDGET (self), msg);
     if (mw->current_call)
       gm_main_window_set_call_duration (GTK_WIDGET (self), mw->current_call->get_duration ().c_str ());
-    //gdk_threads_leave ();
-
     g_free (msg);
-  }
 
+    int jitter_quality = 0;
+    gfloat quality_level = 0.0;
+    unsigned int jitter = mw->current_call->get_jitter_size ();
+    double lost = mw->current_call->get_lost_packets ();
+    double late = mw->current_call->get_late_packets ();
+    double out_of_order = mw->current_call->get_out_of_order_packets ();
+
+    /* "arithmetics" for the quality level */
+    /* 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.0) ||
+         (late > 0.0) ||
+         ((out_of_order > 0.0) && quality_level > 0.2) ) {
+      quality_level = 0.2;
+    }
+
+    if ( (lost > 0.02) ||
+         (late > 0.02) ||
+         (out_of_order > 0.02) ) {
+      quality_level = 0;
+    }
+
+    if (mw->qualitymeter)
+      gm_powermeter_set_level (GM_POWERMETER (mw->qualitymeter),
+  			       quality_level);
+  }
   return true;
 }
 

Modified: trunk/win32/Makefile
==============================================================================
--- trunk/win32/Makefile	(original)
+++ trunk/win32/Makefile	Tue Aug 19 19:43:59 2008
@@ -186,7 +186,8 @@
 
 confflags:=--prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
 confptlib:=--prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
-	   --with-directx-dir=$(BUILDROOT)
+	   --with-directx-includedir=$(INCLUDEDIR)/directx \
+	   --disable-qos --disable-vidfile --disable-plugins
 confopal :=--prefix=$(BUILDROOT) --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
 	   --with-ffmpeg-dir=$(FFMPEG_DIR)
 confekiga:= $(confflags) --with-ptlib-dir=$(PTLIB_DIR) --with-opal-dir=$(OPAL_DIR) \
@@ -203,7 +204,7 @@
 	    --disable-muxers --enable-muxer=h264 --enable-muxer=mpeg4 --enable-muxer=h263 \
 	    --disable-encoders --enable-encoder=mpeg4 --enable-encoder=h263 \
 	    --disable-protocols --disable-bsfs --disable-ffplay --prefix=$(BUILDROOT) \
-            --libdir=$(EKIGA_PREFIX) --extra-ldflags=-Wl,-static --disable-devices --disable-ffmpeg
+            --libdir=$(LIBDIR) --extra-ldflags=-Wl,-static
 #	    --disable-network
 
 confx264:=  --disable-avis-input --prefix=$(BUILDROOT) --host=$(DEB_HOST_GNU_TYPE)
@@ -329,23 +330,23 @@
 	echo --- Getting PTLib $(PTLIB_REV) ...
 	$(SVN) co $(PTLIB_URL) $(SRCDIR)/$(PTLIB_ARCHIVE) -r $(PTLIB_REV)
 
-$(PTLIB_DIR)/configure: binaries $(LIBDIR)/libldap.dll $(INCLUDEDIR)/directx/dsound.h $(LIBDIR)/libogg.a $(LIBDIR)/libspeex.a $(SRCDIR)/$(PTLIB_ARCHIVE) $(EKIGA_WIN32_DIFF_DIR)/ptlib_Makefile.am $(LIBDIR)/libexpat.a $(EKIGA_WIN32_DIFF_DIR)/ptlib_configure.ac $(EKIGA_WIN32_DIFF_DIR)/ptlib_ptlib.pc.in
+$(PTLIB_DIR)/configure: binaries $(LIBDIR)/libldap.dll $(LIBDIR)/libogg.a $(LIBDIR)/libspeex.a $(SRCDIR)/$(PTLIB_ARCHIVE) $(EKIGA_WIN32_DIFF_DIR)/ptlib_Makefile.am $(LIBDIR)/libexpat.a $(EKIGA_WIN32_DIFF_DIR)/ptlib_configure.ac $(EKIGA_WIN32_DIFF_DIR)/ptlib_ptlib.pc.in
 	rm -f $(LIBDIR)/libpt.a
 	rm -rf $(PTLIB_DIR)
 	$(CP) -r $(SRCDIR)/$(PTLIB_ARCHIVE) $(PTLIB_DIR)
-	$(RM) -f $(PTLIB_DIR)/configure.exe $(PTLIB_DIR)/configure $(PTLIB_DIR)/configure.ac $(PTLIB_DIR)/Makefile.in
-	$(CP) -fl $(EKIGA_WIN32_DIFF_DIR)/ptlib_configure.ac $(PTLIB_DIR)/configure.ac
-	$(CP) -fl $(EKIGA_WIN32_DIFF_DIR)/ptlib_Makefile.am $(PTLIB_DIR)/Makefile.am
-	$(CP) -fl $(EKIGA_WIN32_DIFF_DIR)/ptlib_ptlib.pc.in $(PTLIB_DIR)/ptlib.pc.in    
-	touch $(PTLIB_DIR)/make/ptlib-config
-	chmod 777 $(PTLIB_DIR)/make/ptlib-config
-	(cd $(PTLIB_DIR); \
-	sed -i "s#\$${buildroot}#${BUILDROOT}#" ptlib.pc.in; \
-	sed -i "s/\$${PTLIB_VER}/${PTLIB_VER}/" configure.ac; \
-	$(ACLOCAL); autoheader; libtoolize --force; \
-	touch NEWS README AUTHORS ChangeLog unused.h.in; \
-	automake-1.9 -a -c; autoconf; \
-	)
+#	$(RM) -f $(PTLIB_DIR)/configure.exe $(PTLIB_DIR)/configure $(PTLIB_DIR)/configure.ac $(PTLIB_DIR)/Makefile.in
+#	$(CP) -fl $(EKIGA_WIN32_DIFF_DIR)/ptlib_configure.ac $(PTLIB_DIR)/configure.ac
+#	$(CP) -fl $(EKIGA_WIN32_DIFF_DIR)/ptlib_Makefile.am $(PTLIB_DIR)/Makefile.am
+#	$(CP) -fl $(EKIGA_WIN32_DIFF_DIR)/ptlib_ptlib.pc.in $(PTLIB_DIR)/ptlib.pc.in    
+#	touch $(PTLIB_DIR)/make/ptlib-config
+#	chmod 777 $(PTLIB_DIR)/make/ptlib-config
+#	(cd $(PTLIB_DIR); \
+#	sed -i "s#\$${buildroot}#${BUILDROOT}#" ptlib.pc.in; \
+#	sed -i "s/\$${PTLIB_VER}/${PTLIB_VER}/" configure.ac; \
+#	$(ACLOCAL); autoheader; libtoolize --force; \
+#	touch NEWS README AUTHORS ChangeLog unused.h.in; \
+#	automake-1.9 -a -c; autoconf; \
+#	)
 	
 
 $(PTLIB_DIR)/config.status: binaries $(PTLIB_DIR)/configure
@@ -403,6 +404,10 @@
 	touch $@
 
 $(BINDIR)/avcodec.dll: $(FFMPEG_DIR)/config.status
+	$(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavutil
+	$(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavcodec
+	$(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavformat
+	$(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)/libavdevice
 	$(MAKE) $(MAKE_LIB_OPTS) -C $(FFMPEG_DIR)
 	$(MAKE) -C $(FFMPEG_DIR) install
 	touch $@
@@ -434,7 +439,7 @@
 	echo --- Getting theora ---
 	$(SVN) co $(THEORA_URL) $(SRCDIR)/$(THEORA_ARCHIVE) -r $(THEORA_VER)
 
-$(THEORA_DIR)/config.status: $(SRCDIR)/$(THEORA_ARCHIVE)
+$(THEORA_DIR)/config.status: $(SRCDIR)/$(THEORA_ARCHIVE) $(LIBDIR)/libogg.a
 	rm -rf $(THEORA_DIR)
 	$(CP) -r $(SRCDIR)/$(THEORA_ARCHIVE) $(THEORA_DIR)
 	(cd $(THEORA_DIR)/; \
@@ -705,7 +710,6 @@
 	-$(RM) -rf $(SIGC_DIR)
 	-$(RM) -rf $(SPEEX_DIR)
 	-$(RM) -rf $(EXPAT_DIR)
-	-$(RM) -rf $(DIRECTX_DIR)
 	-$(RM) -rf $(FFMPEG_DIR)
 	-$(RM) -rf $(X264_DIR)
 	-$(RM) -rf $(THEORA_DIR)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]