Same problem on mac.

Attached a diff to solve the problem.
Feedbacks are welcome !

Laurent.

Rafael Franco Carvalho a écrit :
Hi
This problem also occurs on Windows Vista.
There is any progress solving this problem?
Thanks,
Rafael.
*From:* Mauro Sergio Ferreira Brasil <mailto:[email protected]>
*Sent:* Wednesday, May 27, 2009 11:54 AM
*To:* [email protected] <mailto:[email protected]>
*Subject:* Re: Is sound lib ok on WinXP ?

Hello there!

It seems this condition comes from some time ago.
I checked out the old codes (OpenWengo version 2.1) that we use currently and they are the same and, as expected, don't work as well.

Digging on the code I've noticed the following comment:

//String deviceId = audioDevice.getData()[1];

This comment is on "Win32VolumeControl" constructor that calls "Win32AudioDeviceId::getMixerDeviceId()" which returns the wrong deviceId. During my tests, I realise that the commented code seems to return the desired and correct deviceId.

Does anyone have an idea of why is it commented ?

Thanks and best regards,
Mauro.



Mauro Sergio Ferreira Brasil escreveu:
Hello there!

I'm experiencing some problems with "sound" library and even with QuteCom RC3 client.

Both machines here (mine and the one of my coleague) have updated QuteCom RC3 client application and are not working fine with default device configuration, we don't configured an specific device (just let "(default) ... Input/Output". Microphone keeps showing up with a "red X" indicating problems and don't accept level changing.

Having a better look on sound API, I faced an unexpected condition: during "Win32VolumeControl" instantiation we have the following call:

int deviceId = Win32AudioDeviceId::getMixerDeviceId(deviceName);

The "getMixerDeviceId" method uses "mixerGetNumDevs" to list the devices which don't include the Windows "default" ones that are generally returned by the "portaudio" library. The result is both (Input and Output) devices being configured with the default return of "getMixerDeviceId" method that is "0"; which is valid for one of them (the speakers).

Does anyone had the same problem ?

Thanks and best regards,

--
__At., _ *Technology and Quality on Information*
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ [email protected] <mailto:@tqi.com.br>
: www.tqi.com.br <http://www.tqi.com.br>
( + 55 (34)3291-1700
( + 55 (34)9971-2572

------------------------------------------------------------------------

_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

--
__At., _ *Technology and Quality on Information*
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ [email protected] <mailto:@tqi.com.br>
: www.tqi.com.br <http://www.tqi.com.br>
( + 55 (34)3291-1700
( + 55 (34)9971-2572

------------------------------------------------------------------------
_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev
------------------------------------------------------------------------

_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

diff -r ef3e9c185beb libs/sound/src/mac/AudioDeviceManager.cpp
--- a/libs/sound/src/mac/AudioDeviceManager.cpp Sun Jul 05 10:38:20 2009 +0200
+++ b/libs/sound/src/mac/AudioDeviceManager.cpp Sat Jul 11 21:12:01 2009 +0200
@@ -99,6 +99,8 @@
        status = AudioDeviceGetProperty(deviceId, 0, 0, 
kAudioDevicePropertyDataSource, &size, &dataSourceId);
        if (status) {
                LOG_ERROR("can't get default output data source");
+               MacAudioDevice macAudioDevice(deviceId, false);
+               result = AudioDevice(macAudioDevice.getData());
                return result;
        }
 
@@ -155,6 +157,8 @@
        status = AudioDeviceGetProperty(deviceId, 0, 1, 
kAudioDevicePropertyDataSource, &size, &dataSourceId);
        if (status) {
                LOG_ERROR("can't get default output data source");
+               MacAudioDevice macAudioDevice(deviceId, true);
+               result = AudioDevice(macAudioDevice.getData());
                return result;
        }
 
_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

Reply via email to