|
|
@@ -218,3 +218,21 @@ bool obs_view_get_video_info(obs_view_t *view, struct obs_video_info *ovi)
|
|
|
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
+void obs_view_enum_video_info(obs_view_t *view,
|
|
|
+ bool (*enum_proc)(void *,
|
|
|
+ struct obs_video_info *),
|
|
|
+ void *param)
|
|
|
+{
|
|
|
+ pthread_mutex_lock(&obs->video.mixes_mutex);
|
|
|
+
|
|
|
+ for (size_t i = 0, num = obs->video.mixes.num; i < num; i++) {
|
|
|
+ struct obs_core_video_mix *mix = obs->video.mixes.array[i];
|
|
|
+ if (mix->view != view)
|
|
|
+ continue;
|
|
|
+ if (!enum_proc(param, &mix->ovi))
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ pthread_mutex_unlock(&obs->video.mixes_mutex);
|
|
|
+}
|