Set defaults automatically

Automatically query defaults for sources/outputs/encoders and set them
before calling create
This commit is contained in:
jp9000
2014-03-16 17:42:37 -07:00
parent 3f771cf631
commit 3ed647b8a0
7 changed files with 11 additions and 10 deletions

View File

@@ -43,7 +43,10 @@ static bool init_encoder(struct obs_encoder *encoder, const char *name,
return false;
encoder->settings = obs_data_newref(settings);
encoder->data = encoder->info.create(encoder->settings, encoder);
if (encoder->info.defaults)
encoder->info.defaults(encoder->settings);
encoder->data = encoder->info.create(encoder->settings, encoder);
if (!encoder->data) {
pthread_mutex_destroy(&encoder->callbacks_mutex);

View File

@@ -49,8 +49,11 @@ obs_output_t obs_output_create(const char *id, const char *name,
if (!output->procs)
goto fail;
output->info = *info;
output->info = *info;
output->settings = obs_data_newref(settings);
if (output->info.defaults)
output->info.defaults(output->settings);
output->data = info->create(output->settings, output);
if (!output->data)
goto fail;

View File

@@ -182,8 +182,10 @@ obs_source_t obs_source_create(enum obs_source_type type, const char *id,
source_init_name(source, name);
source->settings = obs_data_newref(settings);
source->data = info->create(source->settings, source);
if (info->defaults)
info->defaults(source->settings);
source->data = info->create(source->settings, source);
if (!source->data)
goto fail;