diff --git a/libobs/obs-video.c b/libobs/obs-video.c index b7702d960..d4e3b1da4 100644 --- a/libobs/obs-video.c +++ b/libobs/obs-video.c @@ -64,12 +64,14 @@ static uint64_t tick_sources(uint64_t cur_time, uint64_t last_time) source = data->first_source; while (source) { struct obs_source *cur_source = obs_source_get_ref(source); + + if (cur_source) + obs_source_video_tick(cur_source, seconds); + source = (struct obs_source *)source->context.next; - if (cur_source) { - obs_source_video_tick(cur_source, seconds); + if (cur_source) obs_source_release(cur_source); - } } pthread_mutex_unlock(&data->sources_mutex);