diff --git a/libobs/obs-encoder.c b/libobs/obs-encoder.c index 98140b2f82377900fde286890d4c8b4d37a4deda..23ba31b1c62d84176b8d689a7f03b7d4eb0bb199 100644 --- a/libobs/obs-encoder.c +++ b/libobs/obs-encoder.c @@ -1014,3 +1014,9 @@ void *obs_encoder_get_type_data(obs_encoder_t *encoder) return obs_encoder_valid(encoder, "obs_encoder_get_type_data") ? encoder->info.type_data : NULL; } + +const char *obs_encoder_get_id(const obs_encoder_t *encoder) +{ + return obs_encoder_valid(encoder, "obs_encoder_get_id") + ? encoder->info.id : NULL; +} diff --git a/libobs/obs-output.c b/libobs/obs-output.c index 60068eba7929732ed62138b741ce35cf9134cd30..85128bb5bb5189bd910fb99eb24ef75b5ac2d69b 100644 --- a/libobs/obs-output.c +++ b/libobs/obs-output.c @@ -1569,3 +1569,9 @@ void *obs_output_get_type_data(obs_output_t *output) return obs_output_valid(output, "obs_output_get_type_data") ? output->info.type_data : NULL; } + +const char *obs_output_get_id(const obs_output_t *output) +{ + return obs_output_valid(output, "obs_output_get_id") + ? output->info.id : NULL; +} diff --git a/libobs/obs-service.c b/libobs/obs-service.c index 01d4aada95bb8cd9bf7ac1d07029c10a7ea6e9b8..6619671cb56e0a0c5c748fb91a5ac91b30b1a5d8 100644 --- a/libobs/obs-service.c +++ b/libobs/obs-service.c @@ -382,3 +382,9 @@ void *obs_service_get_type_data(obs_service_t *service) return obs_service_valid(service, "obs_service_get_type_data") ? service->info.type_data : NULL; } + +const char *obs_service_get_id(const obs_service_t *service) +{ + return obs_service_valid(service, "obs_service_get_id") + ? service->info.id : NULL; +} diff --git a/libobs/obs.h b/libobs/obs.h index 237820b71474dbdbf26dfec869627f4d41f94d25..bb289d1540853c655a4def77c91d71636fe6f067 100644 --- a/libobs/obs.h +++ b/libobs/obs.h @@ -1297,6 +1297,8 @@ EXPORT uint32_t obs_output_get_width(const obs_output_t *output); /** For video outputs, returns the height of the encoded image */ EXPORT uint32_t obs_output_get_height(const obs_output_t *output); +EXPORT const char *obs_output_get_id(const obs_output_t *output); + /* ------------------------------------------------------------------------- */ /* Functions used by outputs */ @@ -1483,6 +1485,8 @@ EXPORT bool obs_encoder_active(const obs_encoder_t *encoder); EXPORT void *obs_encoder_get_type_data(obs_encoder_t *encoder); +EXPORT const char *obs_encoder_get_id(const obs_encoder_t *encoder); + /** Duplicates an encoder packet */ EXPORT void obs_duplicate_encoder_packet(struct encoder_packet *dst, const struct encoder_packet *src); @@ -1562,6 +1566,8 @@ EXPORT void obs_service_apply_encoder_settings(obs_service_t *service, EXPORT void *obs_service_get_type_data(obs_service_t *service); +EXPORT const char *obs_service_get_id(const obs_service_t *service); + /* ------------------------------------------------------------------------- */ /* Source frame allocation functions */