浏览代码

libobs: Add obs_source_enum_full_tree()

Allows the ability to enumerate all sources and subsources in a source's
hierarchy, regardless of whether they're active or not.
jp9000 4 年之前
父节点
当前提交
0ecf24d0ed
共有 2 个文件被更改,包括 8 次插入4 次删除
  1. 4 4
      libobs/obs-source.c
  2. 4 0
      libobs/obs.h

+ 4 - 4
libobs/obs-source.c

@@ -4003,14 +4003,14 @@ static void enum_source_full_tree_callback(obs_source_t *parent,
 	data->enum_callback(parent, child, data->param);
 }
 
-static void obs_source_enum_full_tree(obs_source_t *source,
-				      obs_source_enum_proc_t enum_callback,
-				      void *param)
+void obs_source_enum_full_tree(obs_source_t *source,
+			       obs_source_enum_proc_t enum_callback,
+			       void *param)
 {
 	struct source_enum_data data = {enum_callback, param};
 	bool is_transition;
 
-	if (!data_valid(source, "obs_source_enum_active_tree"))
+	if (!data_valid(source, "obs_source_enum_full_tree"))
 		return;
 
 	is_transition = source->info.type == OBS_SOURCE_TYPE_TRANSITION;

+ 4 - 0
libobs/obs.h

@@ -1031,6 +1031,10 @@ EXPORT void obs_source_enum_active_tree(obs_source_t *source,
 					obs_source_enum_proc_t enum_callback,
 					void *param);
 
+EXPORT void obs_source_enum_full_tree(obs_source_t *source,
+				      obs_source_enum_proc_t enum_callback,
+				      void *param);
+
 /** Returns true if active, false if not */
 EXPORT bool obs_source_active(const obs_source_t *source);