Re: [Ekiga-devel-list] Windows XP: "wave" volume goes to zero when calling



Hi Jarmo,
thank you for your detailed bug description

Jarmo Pussinen schrieb:
Michael Rickmann wrote:
Hi Eugen, hallo Dominik,
I think, I fixed it, i.e. possibly the connected cases of 586531. The
main thread  was closing the audioinput device, while the "Media Patch"
thread which pumps the data into the internet was still active.
Consequently "Media Patch" switched to the silence device. This was left
in current_device of audioinput-core.cpp, and it was used for the next
call. Attached patch also sets internal_set_manager(desired_device);
when the stream is started, i.e. when it is really needed. The patch
fixes all my greyed audiobutton problems. Dominik, I just uploaded a new
http://wwwuser.gwdg.de/~mrickma/ekiga/ekiga-setup-3.2.pre6-release.exe .
Could you try it, please, and see how many of your issues get solved.
The initial mute which you desribe is good one, I think. The lady on
500 ekiga net starts babbling along immediately and what we hear is the
time which Ekiga needs to get ready. It is better to dump the buffers
than to have audio latency.
As your cases, Dominik, are so manyfold I also looked into Ekiga's
audiooutput with respect to saving the desired device across calls. In
priciple audioautput-core can be affected in the same way as audioinput.
But at the moment and for me things go right, i.e.
AudioOutputCore::stop() is called twice when a call finishes and thus
the desired device is saved for sure. I guess the calls come from Ekiga
main and a worker thread. But with threading one always knows best in
the end, so I prepared an addional patch (attached ekiga_4outaudiodev).
The corresponding download is
http://wwwuser.gwdg.de/~mrickma/ekiga/ekiga-setup-3.2.pre6-release.exe.isitbetter
. Does it resolve any remaining issues for you? For me it is not better.


I tried both of these versions from ekiga to ekiga without ekiga.net.

I noticed that the microphone setting does not seem to have any
effect to sound volume.
I am using USB microphones. With one I never get any effect with the audioinput slider, with the other more expensive one I get an effect but only under Win7 not XP. I guess without really a lot of work we are in god's hands here.


Also I noticed from log that some weird path was used for dialtone.wav.

2009/08/18 11:58:27.421	  0:16.270	AudioEvent...duler:3040	AEScheduler	Checking pending list with 1
elements
2009/08/18 11:58:27.421	  0:16.270	AudioEvent...duler:3040	AEScheduler	Trying to load dialtone.wav
for event ring_tone_sound
2009/08/18 11:58:27.421	  0:16.270	AudioEvent...duler:3040	AEScheduler	Trying to load
/home/mrickma/src/ekiga/ekiga_build-3.2.pre6/dist/Ekiga/share/sounds/ekiga/dialtone.wav for event
ring_tone_sound
That is a real bug, fortunately an easy one. audiooutput-scheduler.cpp needs to include winpaths.h , as the other code which references DATA_DIR does for Win32. One of the attached patches suffices to fix this. I also checked for the other win32 specific directories, they are ok.


Both versions still sometimes do not shutdown correctly, I inlcuded one
log, if it helps.

That is really a good one, in the weird sense. You must have hit the exit while a call was still active. After line 8160 Ekiga's main thread ends under Wi32. The following OnRelease stuff is the cleanup of your call. But then, - that is the weird thing - in the next ~650 lines the "PTLib Housekeeper" tries to reestablish your registration. I think this is not really Win32 specific. The real experts here should have a look at it. I guess timingwhise it goes right under a well behaving Linux and mostly also under Windows. This bug looks promising though. I think you have hit a key issue here in Ekiga's shutdown, and I may find a trick to make the bug reproducible.

I had other problems, but I could not recreate them after I had done
cleaner installation (removed old ekiga.conf) and got video working
properly. Those additional problems were: microphone setting was set to
maximum between calls (but I think it did not work then either) and
hang up failed very frequently.

jarmo

For the rest of what you observed I have to admit that I have seen it as well ..., at some time somewhere, but I had other more urgent things to fix.
Thanks again.
Regards
Michael
diff -ur ekiga.orig/lib/engine/audiooutput/audiooutput-scheduler.cpp ekiga/lib/engine/audiooutput/audiooutput-scheduler.cpp
--- ekiga.orig/lib/engine/audiooutput/audiooutput-scheduler.cpp	2009-08-18 18:02:51.000000000 +0200
+++ ekiga/lib/engine/audiooutput/audiooutput-scheduler.cpp	2009-08-18 18:03:38.000000000 +0200
@@ -37,6 +37,9 @@
 #include "audiooutput-scheduler.h"
 #include "audiooutput-core.h"
 #include "config.h"
+#ifdef WIN32
+#include "../platform/winpaths.h"
+#endif
 
 using namespace Ekiga;
 
diff -ur ekiga.orig/lib/engine/audiooutput/audiooutput-scheduler.cpp ekiga/lib/engine/audiooutput/audiooutput-scheduler.cpp
--- ekiga.orig/lib/engine/audiooutput/audiooutput-scheduler.cpp	2009-08-18 19:46:47.000000000 +0200
+++ ekiga/lib/engine/audiooutput/audiooutput-scheduler.cpp	2009-08-18 19:47:39.000000000 +0200
@@ -37,6 +37,9 @@
 #include "audiooutput-scheduler.h"
 #include "audiooutput-core.h"
 #include "config.h"
+#ifdef WIN32
+#include "platform/winpaths.h"
+#endif
 
 using namespace Ekiga;
 
diff -ur ekiga.orig/lib/engine/audiooutput/Makefile.am ekiga/lib/engine/audiooutput/Makefile.am
--- ekiga.orig/lib/engine/audiooutput/Makefile.am	2009-08-18 19:46:47.000000000 +0200
+++ ekiga/lib/engine/audiooutput/Makefile.am	2009-08-18 19:48:43.000000000 +0200
@@ -5,6 +5,7 @@
 AM_CXXFLAGS = $(SIGC_CFLAGS) $(GLIB_CFLAGS) $(PTLIB_CFLAGS)
 
 INCLUDES = \
+	-I$(top_srcdir)/lib \
 	-I$(top_srcdir)/lib/gmconf \
 	-I$(top_srcdir)/lib/engine/framework \
 	-I$(top_srcdir)/lib/engine/audiooutput \


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