diff --git a/src/audio_core/hle/wmf_decoder.cpp b/src/audio_core/hle/wmf_decoder.cpp index 02206ec013..27899282b7 100644 --- a/src/audio_core/hle/wmf_decoder.cpp +++ b/src/audio_core/hle/wmf_decoder.cpp @@ -163,9 +163,10 @@ MFOutputState WMFDecoder::Impl::DecodingLoop(ADTSData adts_header, } } - // in case of "ok" only, just return quickly + // If we return OK here, the decoder won't be in a state to receive new data and will fail + // on the next call; instead treat it like the HaveMoreData case if (output_status == MFOutputState::OK) - return MFOutputState::OK; + continue; // for status = 2, reset MF if (output_status == MFOutputState::NeedReconfig) {