0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 21:13:04 +02:00
obs-studio/plugins/mac-capture/plugin-main.c

41 lines
1.3 KiB
C

#include <obs-module.h>
OBS_DECLARE_MODULE()
OBS_MODULE_USE_DEFAULT_LOCALE("mac-capture", "en-US")
MODULE_EXPORT const char *obs_module_description(void)
{
return "macOS audio input/output and window/display capture";
}
extern struct obs_source_info coreaudio_input_capture_info;
extern struct obs_source_info coreaudio_output_capture_info;
extern struct obs_source_info display_capture_info;
extern struct obs_source_info window_capture_info;
extern bool is_screen_capture_available() WEAK_IMPORT_ATTRIBUTE;
bool obs_module_load(void)
{
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 120300 // __MAC_12_3
if (is_screen_capture_available()) {
extern struct obs_source_info sck_video_capture_info;
obs_register_source(&sck_video_capture_info);
if (__builtin_available(macOS 13.0, *)) {
display_capture_info.output_flags |=
OBS_SOURCE_DEPRECATED;
window_capture_info.output_flags |=
OBS_SOURCE_DEPRECATED;
coreaudio_output_capture_info.output_flags |=
OBS_SOURCE_DEPRECATED;
extern struct obs_source_info sck_audio_capture_info;
obs_register_source(&sck_audio_capture_info);
}
}
#endif
obs_register_source(&display_capture_info);
obs_register_source(&window_capture_info);
obs_register_source(&coreaudio_input_capture_info);
obs_register_source(&coreaudio_output_capture_info);
return true;
}