From 593966c8dbdbf2dbcd8768b258a3b22adb548b2f Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Tue, 26 Apr 2022 23:32:15 -0700 Subject: Handle 3D7.1 as a separate channel configuration It's treated as 5.1 + 2 aux channels. This allows AL_DIRECT_CHANNELS_SOFT to behave better, not forwarding rear left/right channel inputs to lower front and upper rear, and allows reporting a more appropriate output mode to the app instead of 7.1. --- core/devformat.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'core/devformat.cpp') diff --git a/core/devformat.cpp b/core/devformat.cpp index c841b634..cbe8eaf3 100644 --- a/core/devformat.cpp +++ b/core/devformat.cpp @@ -28,6 +28,7 @@ uint ChannelsFromDevFmt(DevFmtChannels chans, uint ambiorder) noexcept case DevFmtX51: return 6; case DevFmtX61: return 7; case DevFmtX71: return 8; + case DevFmtX3D71: return 8; case DevFmtAmbi3D: return (ambiorder+1) * (ambiorder+1); } return 0; @@ -57,6 +58,7 @@ const char *DevFmtChannelsString(DevFmtChannels chans) noexcept case DevFmtX51: return "5.1 Surround"; case DevFmtX61: return "6.1 Surround"; case DevFmtX71: return "7.1 Surround"; + case DevFmtX3D71: return "3D7.1 Surround"; case DevFmtAmbi3D: return "Ambisonic 3D"; } return "(unknown channels)"; -- cgit v1.2.3