void obs_load_sources(obs_data_array_t *array) { size_t count; size_t i; if (!obs) return; count = obs_data_array_count(array); pthread_mutex_lock(&obs->data.user_sources_mutex); for (i = 0; i < count; i++) { obs_data_t *source_data = obs_data_array_item(array, i); obs_source_t *source = obs_load_source(source_data); obs_add_source(source); obs_source_release(source); obs_data_release(source_data); } /* tell sources that we want to load */ for (i = 0; i < obs->data.user_sources.num; i++) obs_source_load(obs->data.user_sources.array[i]); pthread_mutex_unlock(&obs->data.user_sources_mutex); }
static void LoadAudioDevice(const char *name, int channel, obs_data_t *parent) { obs_data_t *data = obs_data_get_obj(parent, name); if (!data) return; obs_source_t *source = obs_load_source(data); if (source) { obs_set_output_source(channel, source); obs_source_release(source); } obs_data_release(data); }