libobs: Add function to get encoder object's defaults

Rather than relying on the encoder's type identifier, additionally allow
the ability to get defaults via an encoder object.
This commit is contained in:
jp9000 2018-07-20 01:49:32 -07:00
parent 2f49bf0463
commit 621c519cc5
3 changed files with 10 additions and 0 deletions

View File

@ -407,6 +407,7 @@ General Encoder Functions
---------------------
.. function:: obs_data_t *obs_encoder_defaults(const char *id)
obs_data_t *obs_encoder_get_defaults(const obs_encoder_t *encoder)
:return: An incremented reference to the encoder's default settings

View File

@ -293,6 +293,14 @@ obs_data_t *obs_encoder_defaults(const char *id)
return (info) ? get_defaults(info) : NULL;
}
obs_data_t *obs_encoder_get_defaults(const obs_encoder_t *encoder)
{
if (!obs_encoder_valid(encoder, "obs_encoder_defaults"))
return NULL;
return get_defaults(&encoder->info);
}
obs_properties_t *obs_get_encoder_properties(const char *id)
{
const struct obs_encoder_info *ei = find_encoder(id);

View File

@ -1815,6 +1815,7 @@ EXPORT enum video_format obs_encoder_get_preferred_video_format(
/** Gets the default settings for an encoder type */
EXPORT obs_data_t *obs_encoder_defaults(const char *id);
EXPORT obs_data_t *obs_encoder_get_defaults(const obs_encoder_t *encoder);
/** Returns the property list, if any. Free with obs_properties_destroy */
EXPORT obs_properties_t *obs_get_encoder_properties(const char *id);