Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Understanding "Do not map through this device" option (Read 8346 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Understanding "Do not map through this device" option

Several times I have come across the suggestion to check(enable) the "Do not map through this device" option in audio device properties. But I have never really understood what that option does ? What happens behind the scenes when you disable/enable the option ?

Understanding "Do not map through this device" option

Reply #1
I have long wondered this myself.  Anyone?

Understanding "Do not map through this device" option

Reply #2
I've read it may have something to do with preventing KMixer affecting the device, but I can't confirm if that's true.
Acid8000 aka. PhilDEE

Understanding "Do not map through this device" option

Reply #3
I am pretty sure its nothing to do with the kmixer.

Well I fooled around with it a little more and here's what I found -

I was of the impression that "Do not map..." will prevent "windows sounds" (popups, alerts, ding dong etc..) or any other application to go that audio device. However that is NOT the case. I tried that option and Windows Sounds go right through that device when it is busy with another application (like playing a track in fb2k).
In fact I could make it play fb2k and WMP both at the same time!! Try it and let me know if you experience the same thing.


The "Do not use audio features..." is where it really gets interesting. It basically removes the device logically from your system. It becomes invisible to applications that can't/don't use ASIO or KS. In effect it does not load windows mixer or the soundcard mixer/panel, thereby eliminating the volume control and other possible processing by the mixer completely from the path. Whether this is of any advantage or not, I am not sure. Because ASIO or KS also essentially bypass the kmixer but not the soundcard's mixer, right ? Well, even with ASIO or KS the windows or soundcard mixer's volume control is still very much in control! And I believe its a well accepted fact that any type of 'digital' volume control is not desirable.

So my theory is that even if you use ASIO or KS, you should always check the "Do not use audio feature of the device". Ofcourse you will loose sound from all other applications that cant do KS or ASIO (virtually everything).

Anyone else care to comment ?

Understanding "Do not map through this device" option

Reply #4
And I believe its a well accepted fact that any type of 'digital' volume control is not desirable.
Like some others on HA mentioned in recent threads this is not quite true. If the signal processing after the "digital volume control" remains 24 bit until the DAC, there will be hardly if any audible degradation (unless you cause clipping). Lowering the volume by 8 bits (about 48 dB) will still result in a theoretical 16-bit resolution, which is AFAIK considered transparent in HA.
However, when your soundcard has a 16-bit path, there might be an audible quality loss. But even then, with modern (over)compressed music, it's probably nothing to worry about.
One of the problems with digital audio in pc's is that the signal path is usually not very clear. Be prepared for surprises if you don't know what's happening to your audio data.


Understanding "Do not map through this device" option

Reply #6
that link is pointing back to this thread. can you please update it ? thanks.
I must have been confusing topics. Link removed! Thanks for pointing that out

Understanding "Do not map through this device" option

Reply #7
ok. well here's some more interesting observations -

DirectSound can play sound even with no 'device' ?

I have a soundcard installed and working properly, but I do not have any devices listed in the "Sounds and Audio Devices", obviously because I have selected "Do not use audio features" for that device/soundcard.
So currently there is no Windows or the soundcard's mixer/panel available, and any application like WMP, Messenger, windows sounds etc. cannot see this device and wont play any sounds. All that is fine and as expected.

However, fb2k can play just fine via DirectSound. I was expecting it to play KS but not DS. At this point how is KS different (or better) than DS ? Is the flow of audio data through the layers (mixers, drivers) any different between KS and DS, in this situation ?

Understanding "Do not map through this device" option

Reply #8
I tried that and Foobar2000, Videolan and Minefield works.

Understanding "Do not map through this device" option

Reply #9
Several times I have come across the suggestion to check(enable) the "Do not map through this device" option in audio device properties. But I have never really understood what that option does ? What happens behind the scenes when you disable/enable the option ?



However, fb2k can play just fine via DirectSound. I was expecting it to play KS but not DS. At this point how is KS different (or better) than DS ? Is the flow of audio data through the layers (mixers, drivers) any different between KS and DS, in this situation ?


There were many good questions in this thread but no answers.

Is there anyone wise to know about these?

Understanding "Do not map through this device" option

Reply #10
And I believe its a well accepted fact that any type of 'digital' volume control is not desirable.


In what sense?

Are you saying that any undesired attenuation of a signal is not desireable (a trusm)?

Are you saying that any attenuation of a signal is not desireable?

Are you saying that any digital attenuation of a signal is less desireable than a similar analog attenuation?





Understanding "Do not map through this device" option

Reply #11
Are you saying that any digital attenuation of a signal is less desireable than a similar analog attenuation?


This, for sound quality reasons, I believe.

Understanding "Do not map through this device" option

Reply #12
About the original question:
I used to think that the option simply prevented the card to be used when the "Default soundcard" output was selected.
It may also prevent it to be listed in the classic "MME" (waveout) mode. (The applications that don't have audio configuration, output the sound to the default soundcard).

DirectSound is a separate audio layer from the classic one ( asio is another, and Vista's wasapi  is another). Concretely this means that they don't share the audio driver, and don't use to share the same resources. This is even reinforced by the fact that the same soundcard has different names in waveout and directsound. So disabling it for waveout doesn't necesarily mean it is not available for directsound.

Kernel Streaming, on the other hand is not exactly a different layer, but a way to connect to the bottom of the directsound layer instead of on the top (so bypassing the software side of directsound, and just using the soundcard driver).

So using kernel streaming has advantages and disadvantages. A disadvantage is that you cannot control the volume nor can use another application (there's no mixer). Advantages is that supposedly what the player outputs gets onto the soundcard.


About digital volume control:
There are digital volume controls done wrong, and digital volume controls done right. The worse would be just quantizing (I don't think it is in use). The "usual" is a multiplication in float and quantizing back to 16 (or 24) bits.  If there's dither on the conversion from float to int then it's as good as one can get. Digital volume atennuation is not bad, and would only annoy if you amplify it (why would you reduce the volume to amplify afterwards?)




Addenum about windows audio layers (not 100% accurate, but to get an idea):

-The classic layer existed since the win 3x days, providing sound playback and recording, a way to control volumes (usually hardware mixed by the soundcard) and not much more
- Directsound appeared during the win 95 days, although it didn't start to be mature until win 98. The original goal was less latency (it wasn't rare to have latencies of half a second or more with the MME driver) and directx, with the exclusive mode allowed this to be reduced to a bit less than 100ms. (much better to play games).
-Since Win Me and Win XP, the classic (MME) is just a compatibility layer atop of directsound. (they added the WDM driver architecture).
- ASIO was invented to have extra low latency on audio, with the original intention of being used for music-related applications. Latencies as low as 10ms were now possible with soundcards that supported this. (Nowadays some soundcards support 2ms of latency).
- With Win XP (not sure if on the original release, or with a more recent SP) kernel streaming (KS) appeared in windows so that audio could be sent bypassing the typical windows audio path (kmixer). I am not 100% sure of the reasons of this. Maybe an answer to ASIO.
- Around that time ASIO4ALL appeared and allowed any soundcard to be used as if it supported ASIO. The latencies were higher, but still lower than with Directsound. Not sure if it originally used kernel Streaming, or it started to use it later on.
- Finally, in Vista, the audio architecture has got some fundamental changes changing again the different drivers and paths that the audio takes to reach the physical soundcard.