LFE lost when downmixing to 4.0
#1
Hi everybody!

I am using Mac OS X to watch movies. I've got prettly large and nice front speakers, so I don't need neither center nor subwoofer at the moment. Decided to use a USB->SPDIF->DAC combination for the front speakers and the built-in sound card for rear ones.
Setting up an aggregate device with four channels in quadraphonic mode works perfectly for the purpose. I am able to map channels in MPlayerX and have them downmixed properly, so that front speakers reproduce both the center and the subwoofer.

Still I'd prefer xbmc for the home theater, so I tried to set 4.0 mode in xbmc, but then the subwoofer was simply discarded.

Looked into the log, here is what it says in its relevant part:

19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: Source Stream Layout: [Left] [Right] [Center] [LFE] [Side Left] [Side Right]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: User-Configured Speaker Layout: [Left] [Right] [Side Left] [Side Right]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: Output Device Layout: [Left] [Right] [Side Left] [Side Right]
19:52:51 T:2963578880 DEBUG: CCoreAudioMixMap::Rebuild: Using pre-defined mixing matrix.
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: Loading matrix mixer configuration
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [0][0][1.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [0][1][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [0][2][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [0][3][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [1][0][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [1][1][1.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [1][2][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [1][3][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [2][0][0.7]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [2][1][0.7]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [2][2][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [2][3][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [3][0][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [3][1][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [3][2][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [3][3][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [4][0][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [4][1][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [4][2][1.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [4][3][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [5][0][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [5][1][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [5][2][0.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: [5][3][1.0]
19:52:51 T:2963578880 DEBUG: CCoreAudioRenderer::InitializePCM: Mixer Output Format: 4 channels, 48.0 kHz, 32 bits, 4 bytes per frame

It is quite clear what happens: the default matrix is set so that the channel 3 (which is the LSE as it can be seen from the first line of the log) has no mapping at all. No wonder it is discarded.

Is there a way to replace the matrix with the one I'd prefer? Actually, this seems more like a bug than a feature, because hardly anyone would like the sub channel to be simply discarded. In the worst case, as I understood, I will need to alter the source file that contains the matrix and recompile the whole thing, but I'd prefer to stick to an easier solution.
Reply

Logout Mark Read Team Forum Stats Members Help
LFE lost when downmixing to 4.00