mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-01-29 08:31:54 -05:00
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:
@@ -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 &&
|
||||
|
||||
Reference in New Issue
Block a user