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:
parent
228a170361
commit
ee6ddeeaed
1 changed files with 6 additions and 0 deletions
|
|
@ -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 &&
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue