diff --git a/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp index a48d6d8057..0f363f1b9c 100644 --- a/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp @@ -193,21 +193,24 @@ public: HRESULT hr = wmSyncReader->GetNextSample (0, &sampleBuffer, &sampleTime, &duration, &flags, &outputNum, &streamNum); - if (SUCCEEDED (hr)) + if (sampleBuffer != nullptr) { BYTE* rawData = nullptr; DWORD dataLength = 0; hr = sampleBuffer->GetBufferAndLength (&rawData, &dataLength); - jassert (SUCCEEDED (hr)); bufferStart = 0; bufferEnd = (int) dataLength; if (bufferEnd <= 0) + { + sampleBuffer->Release(); return false; + } buffer.ensureSize (bufferEnd); memcpy (buffer.getData(), rawData, bufferEnd); + sampleBuffer->Release(); } else {