diff --git a/plugins/mac-capture/mac-sck-audio-capture.m b/plugins/mac-capture/mac-sck-audio-capture.m index 32b39cd650f0ba..048ae4e5dfab72 100644 --- a/plugins/mac-capture/mac-sck-audio-capture.m +++ b/plugins/mac-capture/mac-sck-audio-capture.m @@ -5,7 +5,7 @@ return obs_module_text("SCK.Audio.Name"); } -static void destroy_audio_screen_stream(struct screen_capture *sc) +static void destroy_audio_screen_stream(struct screen_capture *sc) API_AVAILABLE(macos(13.0)) { if (sc->disp && !sc->capture_failed) { [sc->disp stopCaptureWithCompletionHandler:^(NSError *_Nullable error) { @@ -32,7 +32,7 @@ static void destroy_audio_screen_stream(struct screen_capture *sc) os_event_destroy(sc->stream_start_completed); } -static void sck_audio_capture_destroy(void *data) +static void sck_audio_capture_destroy(void *data) API_AVAILABLE(macos(13.0)) { struct screen_capture *sc = data; @@ -57,7 +57,7 @@ static void sck_audio_capture_destroy(void *data) bfree(sc); } -static bool init_audio_screen_stream(struct screen_capture *sc) +static bool init_audio_screen_stream(struct screen_capture *sc) API_AVAILABLE(macos(13.0)) { SCContentFilter *content_filter; if (sc->capture_failed) { @@ -178,7 +178,7 @@ static void sck_audio_capture_defaults(obs_data_t *settings) obs_data_set_default_int(settings, "type", ScreenCaptureAudioDesktopStream); } -static void *sck_audio_capture_create(obs_data_t *settings, obs_source_t *source) +static void *sck_audio_capture_create(obs_data_t *settings, obs_source_t *source) API_AVAILABLE(macos(13.0)) { struct screen_capture *sc = bzalloc(sizeof(struct screen_capture)); @@ -210,7 +210,7 @@ static void sck_audio_capture_defaults(obs_data_t *settings) #pragma mark - obs_properties static bool audio_capture_method_changed(void *data, obs_properties_t *props, obs_property_t *list __unused, - obs_data_t *settings) + obs_data_t *settings) API_AVAILABLE(macos(13.0)) { struct screen_capture *sc = data; @@ -234,6 +234,7 @@ static bool audio_capture_method_changed(void *data, obs_properties_t *props, ob } static bool reactivate_capture(obs_properties_t *props __unused, obs_property_t *property, void *data) + API_AVAILABLE(macos(13.0)) { struct screen_capture *sc = data; if (!sc->capture_failed) { @@ -248,7 +249,7 @@ static bool reactivate_capture(obs_properties_t *props __unused, obs_property_t return true; } -static obs_properties_t *sck_audio_capture_properties(void *data) +static obs_properties_t *sck_audio_capture_properties(void *data) API_AVAILABLE(macos(13.0)) { struct screen_capture *sc = data; @@ -284,7 +285,7 @@ static bool reactivate_capture(obs_properties_t *props __unused, obs_property_t return props; } -static void sck_audio_capture_update(void *data, obs_data_t *settings) +static void sck_audio_capture_update(void *data, obs_data_t *settings) API_AVAILABLE(macos(13.0)) { struct screen_capture *sc = data; @@ -300,6 +301,7 @@ static void sck_audio_capture_update(void *data, obs_data_t *settings) #pragma mark - obs_source_info +API_AVAILABLE(macos(13.0)) struct obs_source_info sck_audio_capture_info = { .id = "sck_audio_capture", .type = OBS_SOURCE_TYPE_INPUT, diff --git a/plugins/mac-capture/mac-sck-common.h b/plugins/mac-capture/mac-sck-common.h index 32ca8d246a8a5b..09430ea6eeaf48 100644 --- a/plugins/mac-capture/mac-sck-common.h +++ b/plugins/mac-capture/mac-sck-common.h @@ -1,9 +1,6 @@ #include #include -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunguarded-availability-new" - #include #include #include @@ -28,15 +25,16 @@ typedef enum { ScreenCaptureAudioApplicationStream = 1, } ScreenCaptureAudioStreamType; -typedef SCDisplay *SCDisplayRef; +typedef SCDisplay *SCDisplayRef API_AVAILABLE(macos(12.5)); +API_AVAILABLE(macos(12.5)) @interface ScreenCaptureDelegate : NSObject @property struct screen_capture *sc; @end -struct screen_capture { +struct API_AVAILABLE(macos(12.5)) screen_capture { obs_source_t *source; gs_effect_t *effect; @@ -71,18 +69,16 @@ struct screen_capture { bool is_screen_capture_available(void); -void screen_capture_build_content_list(struct screen_capture *sc, bool display_capture); +void screen_capture_build_content_list(struct screen_capture *sc, bool display_capture) API_AVAILABLE(macos(12.5)); -bool build_display_list(struct screen_capture *sc, obs_properties_t *props); +bool build_display_list(struct screen_capture *sc, obs_properties_t *props) API_AVAILABLE(macos(12.5)); -bool build_window_list(struct screen_capture *sc, obs_properties_t *props); +bool build_window_list(struct screen_capture *sc, obs_properties_t *props) API_AVAILABLE(macos(12.5)); -bool build_application_list(struct screen_capture *sc, obs_properties_t *props); +bool build_application_list(struct screen_capture *sc, obs_properties_t *props) API_AVAILABLE(macos(12.5)); static const char *screen_capture_getname(void *unused __unused); -void screen_stream_video_update(struct screen_capture *sc, CMSampleBufferRef sample_buffer); - -void screen_stream_audio_update(struct screen_capture *sc, CMSampleBufferRef sample_buffer); +void screen_stream_video_update(struct screen_capture *sc, CMSampleBufferRef sample_buffer) API_AVAILABLE(macos(12.5)); -#pragma clang diagnostic pop +void screen_stream_audio_update(struct screen_capture *sc, CMSampleBufferRef sample_buffer) API_AVAILABLE(macos(12.5)); diff --git a/plugins/mac-capture/mac-sck-common.m b/plugins/mac-capture/mac-sck-common.m index f9f6de7d08a945..37665ce1fa0544 100644 --- a/plugins/mac-capture/mac-sck-common.m +++ b/plugins/mac-capture/mac-sck-common.m @@ -198,7 +198,7 @@ bool build_application_list(struct screen_capture *sc, obs_properties_t *props) #pragma mark - audio/video -void screen_stream_video_update(struct screen_capture *sc, CMSampleBufferRef sample_buffer) +void screen_stream_video_update(struct screen_capture *sc, CMSampleBufferRef sample_buffer) API_AVAILABLE(macos(12.5)) { bool frame_detail_errored = false; float scale_factor = 1.0f; diff --git a/plugins/mac-capture/mac-sck-video-capture.m b/plugins/mac-capture/mac-sck-video-capture.m index 0e2c700b35d617..7be2215aa8824f 100644 --- a/plugins/mac-capture/mac-sck-video-capture.m +++ b/plugins/mac-capture/mac-sck-video-capture.m @@ -1,7 +1,7 @@ #include "mac-sck-common.h" #include "window-utils.h" -static void destroy_screen_stream(struct screen_capture *sc) +static void destroy_screen_stream(struct screen_capture *sc) API_AVAILABLE(macos(12.5)) { if (sc->disp && !sc->capture_failed) { [sc->disp stopCaptureWithCompletionHandler:^(NSError *_Nullable error) { @@ -45,7 +45,7 @@ static void destroy_screen_stream(struct screen_capture *sc) os_event_destroy(sc->stream_start_completed); } -static void sck_video_capture_destroy(void *data) +static void sck_video_capture_destroy(void *data) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; @@ -74,7 +74,7 @@ static void sck_video_capture_destroy(void *data) bfree(sc); } -static bool init_screen_stream(struct screen_capture *sc) +static bool init_screen_stream(struct screen_capture *sc) API_AVAILABLE(macos(12.5)) { SCContentFilter *content_filter; if (sc->capture_failed) { @@ -270,7 +270,7 @@ static bool init_screen_stream(struct screen_capture *sc) return did_stream_start; } -static void *sck_video_capture_create(obs_data_t *settings, obs_source_t *source) +static void *sck_video_capture_create(obs_data_t *settings, obs_source_t *source) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = bzalloc(sizeof(struct screen_capture)); @@ -309,7 +309,7 @@ static bool init_screen_stream(struct screen_capture *sc) return NULL; } -static void sck_video_capture_tick(void *data, float seconds __unused) +static void sck_video_capture_tick(void *data, float seconds __unused) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; @@ -341,7 +341,7 @@ static void sck_video_capture_tick(void *data, float seconds __unused) } } -static void sck_video_capture_render(void *data, gs_effect_t *effect __unused) +static void sck_video_capture_render(void *data, gs_effect_t *effect __unused) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; @@ -368,14 +368,14 @@ static void sck_video_capture_render(void *data, gs_effect_t *effect __unused) return obs_module_text("SCK.Name.Beta"); } -static uint32_t sck_video_capture_getwidth(void *data) +static uint32_t sck_video_capture_getwidth(void *data) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; return (uint32_t) sc->frame.size.width; } -static uint32_t sck_video_capture_getheight(void *data) +static uint32_t sck_video_capture_getheight(void *data) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; @@ -410,7 +410,7 @@ static void sck_video_capture_defaults(obs_data_t *settings) obs_data_set_default_bool(settings, "show_hidden_windows", false); } -static void sck_video_capture_update(void *data, obs_data_t *settings) +static void sck_video_capture_update(void *data, obs_data_t *settings) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; @@ -473,7 +473,7 @@ static void sck_video_capture_update(void *data, obs_data_t *settings) #pragma mark - obs_properties static bool content_settings_changed(void *data, obs_properties_t *props, obs_property_t *list __unused, - obs_data_t *settings) + obs_data_t *settings) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; @@ -544,6 +544,7 @@ static bool content_settings_changed(void *data, obs_properties_t *props, obs_pr } static bool reactivate_capture(obs_properties_t *props __unused, obs_property_t *property, void *data) + API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; if (!sc->capture_failed) { @@ -560,7 +561,7 @@ static bool reactivate_capture(obs_properties_t *props __unused, obs_property_t return true; } -static obs_properties_t *sck_video_capture_properties(void *data) +static obs_properties_t *sck_video_capture_properties(void *data) API_AVAILABLE(macos(12.5)) { struct screen_capture *sc = data; @@ -693,6 +694,7 @@ enum gs_color_space sck_video_capture_get_color_space(void *data, size_t count, #pragma mark - obs_source_info +API_AVAILABLE(macos(12.5)) struct obs_source_info sck_video_capture_info = { .id = "screen_capture", .type = OBS_SOURCE_TYPE_INPUT,