clsid2 / mpc-hc

Media Player Classic
GNU General Public License v3.0
11.5k stars 502 forks source link

Spatial audio in Windows doesn't get applied to any other multichannel audio apart from the main one. #3178

Closed Hajker closed 2 weeks ago

Hajker commented 2 weeks ago

Spatial audio (DTS Headphone X, Dolby Atmos or something similar) in Windows doesn't get applied to any other multichannel audio apart from the main one.

To get spatial audio working for any other track other than the main one, you have to toggle/change the subtitles.

This has been an issue for quite a while.

Hajker commented 2 weeks ago

Oh and it seems to happen only if the primary audio is 2 channels (MKV file).

clsid2 commented 2 weeks ago

You can use the header editor of MkvToolNix to change which track is marked as default.

Also enable the Mixer in the audio decoder, to output a consistent number of channels to the audio renderer.

Hajker commented 2 weeks ago

You misunderstood the problem. And don't immediately assume others are stupid. I use mkvtoolnix all the time and know that you can edit which track plays first. But what I'm saying is mpc hc has an issue if you have AUDIO-1 as 2.0ch, and AUDIO-2 as 5.1ch, if you select the 5.1ch, spatial feature in windows won't apply unless you toggle subtitles.

clsid2 commented 2 weeks ago

Toggling subtitles does nothing with regard to audio, except indirectly trigger a flush in the splitter. Same as with a seek action. And it also already flushes when you change the audio track as well.

Hajker commented 2 weeks ago

Sorry I don't know how the technical details work. All I know is that doing the steps I said "wakes up" the spatial audio feature and makes it sound like it's supposed to. And I'm just reporting a bug. I also tried seeking, but it doesn't turn on spatial audio.

clsid2 commented 2 weeks ago

Try a different audio renderer.

I can not test spacial audio.

Hajker commented 2 weeks ago

That fixed it, thank you. Had it on Default DirectSound Device, but MPC Audio Renderer fixes the problem.