diff --git a/libobs/obs-encoder.c b/libobs/obs-encoder.c index 09221db29..847bd6465 100644 --- a/libobs/obs-encoder.c +++ b/libobs/obs-encoder.c @@ -446,6 +446,12 @@ const char *obs_encoder_get_codec(const obs_encoder_t *encoder) return encoder ? encoder->info.codec : NULL; } +const char *obs_get_encoder_codec(const char *id) +{ + struct obs_encoder_info *info = find_encoder(id); + return info ? info->codec : NULL; +} + void obs_encoder_set_scaled_size(obs_encoder_t *encoder, uint32_t width, uint32_t height) { diff --git a/libobs/obs.h b/libobs/obs.h index 5f36fe6b4..e7ccac4bb 100644 --- a/libobs/obs.h +++ b/libobs/obs.h @@ -1192,6 +1192,9 @@ EXPORT void obs_encoder_destroy(obs_encoder_t *encoder); EXPORT void obs_encoder_set_name(obs_encoder_t *encoder, const char *name); EXPORT const char *obs_encoder_get_name(const obs_encoder_t *encoder); +/** Returns the codec of an encoder by the id */ +EXPORT const char *obs_get_encoder_codec(const char *id); + /** Returns the codec of the encoder */ EXPORT const char *obs_encoder_get_codec(const obs_encoder_t *encoder);