libobs: Avoid position underflow when mixing audio sources

When a variable `pos` became larger than `AUDIO_OUTPUT_FRAMES`, `count`
will get overflowed number. To avoid the overflow, continue the loop
when `AUDIO_OUTPUT_FRAMES - pos` is not positive.
This commit is contained in:
Norihiro Kamae
2023-02-08 18:08:20 +09:00
committed by Jim
parent 228a170361
commit ee6ddeeaed

View File

@@ -1472,6 +1472,12 @@ static bool scene_audio_render(void *data, uint64_t *ts_out,
pos = (size_t)ns_to_audio_frames(sample_rate,
source_ts - timestamp);
if (pos >= AUDIO_OUTPUT_FRAMES) {
item = item->next;
continue;
}
count = AUDIO_OUTPUT_FRAMES - pos;
if (!apply_buf && !item->visible &&