[Live-devel] AudioInputDevice and different audio host APIs

Ross Finlayson finlayson at live555.com
Fri May 11 17:20:46 PDT 2012


> I am using the AudioInputDevice class to stream data from a microphone.  I am using the getPortNames function to return the names of the microphones connected to the Windows machine so that the user can select the desired microphone.  I have however noticed that the getPortNames function only returns the devices that belong to the system default audio host API, which in my case is MME. 
>  
> My questions are
>  
> Can the getPortNames function return all the audio input irrespective of which audio host API they belong to?
>  
> and if so,
>  
> Can the AudioInputDevice ::createNew function make use of an input that is not part of the system default audio host API?

Remember, You Have Complete Source Code.

"AudioInputDevice" is an abstract base class, implemented by a subclass.  You are (I presume) using the "WindowsAudioInputDevice" subclass, whose source code is in the "WindowsAudioInputDevice" directory (and has two possible implementations - one that uses Windows' built-in software 'mixer', and one that doesn't).  You can review that code to figure out how it works.

If you are not happy with either of the current implementations, then you can - if you wish - provide your own.  This would be another subclass of "AudioInputDevice" (ideally with a different name than "WindowsAudioInputDevice", to avoid confusion).  You would reimplement the "AudioInputDevice::createNew()" function to create an instance of your new subclass, rather than "WindowsAudioInputDevice".


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120511/b40991af/attachment.html>


More information about the live-devel mailing list