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.
master
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);