WASAPI and WMME on same application ???

View: New views
3 Messages — Rating Filter:   Alert me  

WASAPI and WMME on same application ???

by Mauro Sérgio Ferreira Brasil :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello there!

We develop an application here that uses OpenWengo libraries (to provide VoIP services) that, in turn, uses PortAudio.
We have just migrated it to VS2005 so we can use the new Vista audio API to configure the Microphone volume and Mute status that is not working on this S.O.

During the first analysis I noticed the presence of WASAPI implementation on PortAudio and start using it, but now I have some questions:

Question 1 - As we need to provide an application that runs on Windows 2k and newer versions of Windows, I was thinking to use WMME and WASAPI together to provide device listing and managing for all platforms at once (with WASAPI being used for Vista, and WMME for others S.O.'s).

Are these implementations mutually exclusive ?
I mean, on WinXP and priors only WMME works and I have just the devices listed by this implementation, but on WinVista I've got duplicated devices provided by both (WMME and WASAPI) implementations.
So, is there any switch to handle this situation, on such a way that Vista displays only the devices listed by WASAPI implementation and other S.O.'s display WMME listed devices ?

I've made here a control on initialization method of each implementation so the device listing is made only for the right S.O. using "GetVersionEx" method to determinate this behavior.
Is this in fact the only alternative ?

Question 2 - What is the status of WASAPI implementation ?

I'm making such a question because it is commented by default, and I've got crashes on my initial tests.
First crash was resolved with the patch provided on ticket #62, but second one will demand some thinking tomorrow... :-).

I'm working here with "pa_stable_v19_20071207.tar.gz" package provided on your site. Should I get the the "pa_snapshot.tar.gz" package instead ?

Thank's and best regards!

--
TQI - Technology and Quality on Information
At.,                                                                                                                               
 
Technology and Quality on Information
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ @...
: www.tqi.com.br
( + 55 (34)3291-1700
( + 55 (34)9971-2572


_______________________________________________
Portaudio mailing list
Portaudio@...
http://techweb.rfa.org/mailman/listinfo/portaudio

Re: WASAPI and WMME on same application ???

by David Viens :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello

   I would consider PA_WASAPI to be beta at this point.
There are just so many things wrong and lightly documented in the WASAPI API
itself, and also things that were (possibly) fixed in SP1,
that i didnt have time to investigate (not to say cared)

The biggest part of the pro audio community sticked with ASIO on Vista, and
the others just implemented the "wave rt" driver model on top of existing WDM/KS
code they already had, so for the short story, I would doubly see more
improvements in the WASAPI API/portaudio situation in the near future,
at least not from me.

Maybe we (portaudio devs) should just solidify pa_wdm and add "wave rt" in it.

BTW MME is emulated on top of WASAPI in Vista (so you can use pa_winmme on it and its generally OK).
So microsoft's internal code knows more than we do on wasapi thats for sure.

For portaudio, ASIO is still the safe bet for Real time audio on Vista at this point.

Cheers


> We develop an application here that uses OpenWengo libraries (to provide VoIP
> services) that, in turn, uses PortAudio.
> We have just migrated it to VS2005 so we can use the new Vista audio API to
> configure the Microphone volume and Mute status that is not working on this S.O.
>
> During the first analysis I noticed the presence of WASAPI implementation on
> PortAudio and start using it, but now I have some questions:
>
> Question 1 - As we need to provide an application that runs on Windows 2k and
> newer versions of Windows, I was thinking to use WMME and WASAPI together to
> provide device listing and managing for all platforms at once (with WASAPI being
> used for Vista, and WMME for others S.O.'s).
>
> Are these implementations mutually exclusive ?
> I mean, on WinXP and priors only WMME works and I have just the devices listed
> by this implementation, but on WinVista I've got duplicated devices provided by
> both (WMME and WASAPI) implementations.
> So, is there any switch to handle this situation, on such a way that Vista
> displays only the devices listed by WASAPI implementation and other S.O.'s
> display WMME listed devices ?
>
> I've made here a control on initialization method of each implementation so the
> device listing is made only for the right S.O. using "GetVersionEx" method to
> determinate this behavior.
> Is this in fact the only alternative ?
>
> Question 2 - What is the status of WASAPI implementation ?
>
> I'm making such a question because it is commented by default, and I've got
> crashes on my initial tests.
> First crash was resolved with the patch provided on ticket #62, but second one
> will demand some thinking tomorrow... :-).
>
> I'm working here with "pa_stable_v19_20071207.tar.gz" package provided on your
> site. Should I get the the "pa_snapshot.tar.gz" package instead ?
>
> Thank's and best regards!
>
> --
> __At.,                                                                                                                            
>    _
>  
> *Technology and Quality on Information*
> Mauro Sérgio Ferreira Brasil
> Coordenador de Projetos e Analista de Sistemas
> + mauro.brasil@... <mailto:@tqi.com.br>
> : www.tqi.com.br <http://www.tqi.com.br>
> ( + 55 (34)3291-1700
> ( + 55 (34)9971-2572
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Portaudio mailing list
> Portaudio@...
> http://techweb.rfa.org/mailman/listinfo/portaudio
>
>
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG.
> Version: 7.5.524 / Virus Database: 269.23.16/1428 - Release Date: 5/12/2008 7:44 AM


--
David Viens, Plogue Art et Technologie Inc.
Montreal. http://www.plogue.com
_______________________________________________
Portaudio mailing list
Portaudio@...
http://techweb.rfa.org/mailman/listinfo/portaudio

Re: WASAPI and WMME on same application ???

by Mauro Sérgio Ferreira Brasil :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi David, and thanks for you comments!

I had problems subscribing to the mailing list, and as some answer was taking a little longer to come I decided to abandon the WASAPI implementation.
It was a little buggy too, and after getting fixed all crashes, it seems the VoIP application (OpenWengo libraries we use here) wasn't able to establish the voice channels using the intefaces and the implementation of WASAPI.

So I've got back to WMME, and make some chances on their "Sound" API (from OpenWengo) so the volume control take place using the new Vista API's (when the S.O. is Vista, of course), and keeps everything else as it was with WMME for other operating systems.

Anyway, thanks again for the post!

Best regards,
Mauro.



David Viens wrote:
Hello

   I would consider PA_WASAPI to be beta at this point.
There are just so many things wrong and lightly documented in the WASAPI API
itself, and also things that were (possibly) fixed in SP1,
that i didnt have time to investigate (not to say cared)

The biggest part of the pro audio community sticked with ASIO on Vista, and
the others just implemented the "wave rt" driver model on top of existing WDM/KS
code they already had, so for the short story, I would doubly see more
improvements in the WASAPI API/portaudio situation in the near future,
at least not from me.

Maybe we (portaudio devs) should just solidify pa_wdm and add "wave rt" in it.

BTW MME is emulated on top of WASAPI in Vista (so you can use pa_winmme on it and its generally OK).
So microsoft's internal code knows more than we do on wasapi thats for sure.

For portaudio, ASIO is still the safe bet for Real time audio on Vista at this point.

Cheers


  
We develop an application here that uses OpenWengo libraries (to provide VoIP 
services) that, in turn, uses PortAudio.
We have just migrated it to VS2005 so we can use the new Vista audio API to 
configure the Microphone volume and Mute status that is not working on this S.O.

During the first analysis I noticed the presence of WASAPI implementation on 
PortAudio and start using it, but now I have some questions:

Question 1 - As we need to provide an application that runs on Windows 2k and 
newer versions of Windows, I was thinking to use WMME and WASAPI together to 
provide device listing and managing for all platforms at once (with WASAPI being 
used for Vista, and WMME for others S.O.'s).

Are these implementations mutually exclusive ?
I mean, on WinXP and priors only WMME works and I have just the devices listed 
by this implementation, but on WinVista I've got duplicated devices provided by 
both (WMME and WASAPI) implementations.
So, is there any switch to handle this situation, on such a way that Vista 
displays only the devices listed by WASAPI implementation and other S.O.'s 
display WMME listed devices ?

I've made here a control on initialization method of each implementation so the 
device listing is made only for the right S.O. using "GetVersionEx" method to 
determinate this behavior.
Is this in fact the only alternative ?

Question 2 - What is the status of WASAPI implementation ?

I'm making such a question because it is commented by default, and I've got 
crashes on my initial tests.
First crash was resolved with the patch provided on ticket #62, but second one 
will demand some thinking tomorrow... :-).

I'm working here with "pa_stable_v19_20071207.tar.gz" package provided on your 
site. Should I get the the "pa_snapshot.tar.gz" package instead ?

Thank's and best regards!

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



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

_______________________________________________
Portaudio mailing list
Portaudio@...
http://techweb.rfa.org/mailman/listinfo/portaudio


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

No virus found in this incoming message.
Checked by AVG. 
Version: 7.5.524 / Virus Database: 269.23.16/1428 - Release Date: 5/12/2008 7:44 AM
    


  

--
TQI - Technology and Quality on Information
At.,                                                                                                                               
 
Technology and Quality on Information
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ @...
: www.tqi.com.br
( + 55 (34)3291-1700
( + 55 (34)9971-2572


_______________________________________________
Portaudio mailing list
Portaudio@...
http://techweb.rfa.org/mailman/listinfo/portaudio