libobs: Allow deferred source udpate on create

This allows sources to optionally defer update on creation in order to
prevent updates from being called from threads other than the video
thread.
This commit is contained in:
jp9000 2014-05-30 03:24:15 -07:00
parent 1c8e27f220
commit 1343d6bdee

View File

@ -364,14 +364,14 @@ void obs_source_update(obs_source_t source, obs_data_t settings)
{
if (!source) return;
obs_data_apply(source->context.settings, settings);
if (settings)
obs_data_apply(source->context.settings, settings);
if (source->context.data && source->info.update) {
if (source->info.output_flags & OBS_SOURCE_VIDEO)
source->defer_update = true;
else
source->info.update(source->context.data,
source->context.settings);
if (source->info.output_flags & OBS_SOURCE_VIDEO) {
source->defer_update = true;
} else if (source->context.data && source->info.update) {
source->info.update(source->context.data,
source->context.settings);
}
}