WindowsMediaFormat crash when reading MP3

Hi,
I’m experiencing a crash on windows when trying to read from an MP3 file. If I have enabled JUCE_USE_MP3AUDIOFORMAT then it loads fine. But if I don’t, it instead tries to read the file using a WindowsMediaFormatReader. Here is the basic call chain:

//in processor constructor
formatManager.registerBasicFormats();

//in function "loadFile"
floatBuffer.setSize(1, sampleLength);
std::unique_ptr<juce::AudioFormatReader> formatReader(formatManager.createReaderFor(file));
formatReader->read(&floatBuffer, 0, sampleLength, 0, true, false);

//.. in "read" it reaches this point and enters a different "read"
if (! read (chans, 2, readerStartSample, numSamples, true))
    return false;

//then enters "readSamples"
if (! readSamples (destChannels,
                   jmin ((int) numChannels, numDestChannels), startOffsetInDestBuffer,
                   startSampleInSource, numSamplesToRead))
    return false;

//in readSamples it hits this assertion, i=1, so its trying to read from the right channel but it doesn't exist
for (int i = 0; i < numDestChannels; ++i)
{
    JUCE_BEGIN_IGNORE_WARNINGS_MSVC (28182)
    jassert (destSamples[i] != nullptr);

I can only assume that its a problem of using the “read” interface that specifies “useLeftChannel” and “useRightChannel”. My desired behaviour is that it takes all channels from the source file and sum it in a single mono float buffer.

any help would be much appreciated