Selectively quoting a blog piece entitled What's an audio endpoint by one of the chief architects of the post-XP Windows audio system:
- an endpoint is a "piece of plastic" (hopefully with some wires in it) "to which users relate" such as "the microphone or headset connected to your laptop".
Which sounds great. Except that on every desktop machine I have ever used in the past 15 years, there has been a microphone AND a line-in input jack, and they exist (at least in my mind) with equal status. As a user, I strongly relate to "pieces of plastic" I connect to the line-in jack. They certainly look very much like an audio endpoint to me. The trouble is:
- When I use
IMMDeviceEnumerator
andIMMDeviceCollction
to discover the devices on my desktop machine, and use Microsoft's own example code to do so (e.g. the "CaptureSharedTimerDriven" audio sample in Microsoft's SDK) they only list the microphone as an endpoint.
So if my line-in jack is NOT an audio endpoint, what is it, how do I access it, set the volume on it, and so on? How can I make an application use it (exclusively) even when a user has selected the microphone as the default endpoint?