stb_vorbis: fix theoretical seek performance problem

This commit is contained in:
Dougall Johnson 2019-10-01 16:36:41 +10:00
parent 052dce117e
commit 6ca87a9e0e

View File

@ -4707,14 +4707,16 @@ static int seek_to_sample_coarse(stb_vorbis *f, uint32 sample_number)
}
// if we've just found the last page again then we're in a tricky file,
// and we're close enough.
if (mid.page_start == right.page_start)
// and we're close enough (if it wasn't an interpolation probe).
if (mid.page_start == right.page_start) {
if (probe >= 2)
break;
if (sample_number < mid.last_decoded_sample)
} else {
if (last_sample_limit < mid.last_decoded_sample)
right = mid;
else
left = mid;
}
++probe;
}