I went through the driver code and DSP code and compiled the audio formats supported by FxSound. Here are the details,
FxSound Audio Enhancer is a virtual audio playback device and applications stream audio to this device in the formats supported by this device. FxSound DSP which is part of the application processes the audio and outputs it to the audio output device in the format supported by the device.
FxSound supported audio format is, PCM audio, 2 to 8 channels, 24 bit audio with sampling rates 44.1 kHz or 48 kHz. This is the format that we see in the FxSound Audio Enhancer properties.
The processed audio output can only be in the formats that FxSound DSP supports. So, if the audio output device is configured in a format that FxSound cannot support, the device cannot be listed or the audio cannot be output to the device. The output format supported is PCM, 2 to 8 channels, 16, 24, or 32 bits, 16 kHz to 192 kHz sampling rate.
This means that 24 bit audio can be sampled to 16 bit, 24 bit or 32 bit depending on the format supported by the output device and in the range or 16 kHz to 192 kHz sampling rate.
Also note that only PCM format is supported so, if the audio output device expects Dolby Digital or DTS encoded audio, then we cannot support that.
There are two types of multi-channel audio like 6 (5.1) or 8 (7.1).
1 . Multi-channel audio encoded in Dolby Digital or DTS formats and transmitted over S/PDIF or optical digital audio ports. This method is definitely not supported. Because I see that the DSP code does not process audio and create audio output in this format.
2 . Discrete multi-channel audio where the audio card on the PC has 6 or 8 individual analog audio ports and the ports are connected to individual speakers. In this case theoretically FxSound processes and generates multi-channel PCM audio. But I don’t have this type of setup and I have never tested this.
I have created a block diagram to explain the audio flow.