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: [BUG?] Foobar fails to function with Windows Sonic, why? (Read 6184 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: [BUG?] Foobar fails to function with Windows Sonic, why?

Reply #25
The Spatial Output component is completely independent output, it doesn't need anything else. It's a lot like WASAPI output except spatial mixer seems to have a fixed mixing rate independent of Windows mixer.

Re: [BUG?] Foobar fails to function with Windows Sonic, why?

Reply #26
The Spatial Output component is completely independent output, it doesn't need anything else. It's a lot like WASAPI output except spatial mixer seems to have a fixed mixing rate independent of Windows mixer.
Sorry for being a bit slow tonight, but is your response above saying that foo_out_spatial incorporates normal multichannel support (like foo_out_xaudio2 once included Spatial Output capability), and foo_out_xaudio2 is therefore not needed?

Re: [BUG?] Foobar fails to function with Windows Sonic, why?

Reply #27
@mzso - I created a Spatial Audio output component that Microsoft shouldn't be able to sabotage to stop working: https://foobar.hyv.fi/?view=foo_out_spatial.
Very fresh out of the oven but at least it plays audio.
Nice. I can confirm it works with Windows Sonic. With stereo sources as well.
The Spatial Output component is completely independent output, it doesn't need anything else. It's a lot like WASAPI output except spatial mixer seems to have a fixed mixing rate independent of Windows mixer.
So it's also a whole different API as well?
What happens when I use this output, but I have the Windows spatial audio feature disabled?

The Spatial Output component is completely independent output, it doesn't need anything else. It's a lot like WASAPI output except spatial mixer seems to have a fixed mixing rate independent of Windows mixer.
Sorry for being a bit slow tonight, but is your response above saying that foo_out_spatial incorporates normal multichannel support (like foo_out_xaudio2 once included Spatial Output capability), and foo_out_xaudio2 is therefore not needed?
I think he clearly says that this is completely separate. The "spatial output" came from windows, but it got broken with the plugin.

 

Re: [BUG?] Foobar fails to function with Windows Sonic, why?

Reply #28
Sorry for being a bit slow tonight, but is your response above saying that foo_out_spatial incorporates normal multichannel support (like foo_out_xaudio2 once included Spatial Output capability), and foo_out_xaudio2 is therefore not needed?
XAudio2 output is a entirely different, it for example will happily take up-to 64 channel input. It may not play such audio correctly as there are no defined channel mappings for these, but at least it will audibly play something. And I already replied earlier that it could be useful for Wine people who want to try to avoid resampling.

So it's also a whole different API as well?
What happens when I use this output, but I have the Windows spatial audio feature disabled?
Yeah, there are plenty of different ways to play audio on Windows.
With Spatial disabled the playback should match WASAPI shared mode pretty closely. With the exception that spatial engine seems to have its own sampling rate. So if your Windows mixer is not running at the spatial mixer's sampling rate, there will be extra resampling step before the windows mixer gets the signal.
At least on my machine the spatial engine only reports one supported input type: 48 kHz 32-bit floating point input.
I made foo_out_spatial report the engine's supported audio formats on first device open. If there are multiple supported formats it should print a list of them all.
The documentation for this API seems very lacking and at least Microsoft's github has some incorrect information.