1,数据来源的创建
obs_scene_t * scene = main->GetCurrentScene(); //当前的场景
obs_source_t* source = obs_source_create(v_id, name, NULL, nullptr);//创建数据源
name:数据来源名称
v_id:数据来源的插件Id
2,数据源的添加
if (source)
{
AddSourceData data;
data.source = source;
data.visible = visible;
obs_enter_graphics();
obs_scene_atomic_update(scene, AddSource, &data);
obs_leave_graphics();
}
static void AddSource(void *_data, obs_scene_t *scene)
{
AddSourceData *data = (AddSourceData *)_data;
obs_sceneitem_t *sceneitem;
sceneitem = obs_scene_add(scene, data->source); //添加新的数据源
}
二,数据来源的删除
obs_sceneitem_t* item//数据源的item
obs_source_t *source = obs_sceneitem_get_source(item);
if (source)
obs_sceneitem_remove(item);