diff --git a/whisper.cpp b/whisper.cpp index 3459dd6efcb..84d292d304c 100644 --- a/whisper.cpp +++ b/whisper.cpp @@ -5357,7 +5357,10 @@ int whisper_full_with_state( beam_candidates.begin(), beam_candidates.end(), [](const beam_candidate & a, const beam_candidate & b) { - return a.sequence.sum_logprobs_all > b.sequence.sum_logprobs_all; + if (a.sequence.sum_logprobs_all != b.sequence.sum_logprobs_all) { + return a.sequence.sum_logprobs_all > b.sequence.sum_logprobs_all; + } + return a.decoder_idx < b.decoder_idx; }); uint32_t cur_c = 0;