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;

View File

@ -684,8 +684,6 @@ static void *coreaudio_create(obs_data_t settings, obs_source_t source,
return NULL;
}
coreaudio_defaults(settings);
ca->device_uid = bstrdup(obs_data_getstring(settings, "device_id"));
ca->source = source;
ca->input = input;

View File

@ -358,8 +358,6 @@ static void *obs_x264_create(obs_data_t settings, obs_encoder_t encoder)
{
struct obs_x264 *data = bzalloc(sizeof(struct obs_x264));
data->encoder = encoder;
obs_x264_defaults(settings);
return data;
}

View File

@ -119,9 +119,7 @@ static void *monitor_capture_create(obs_data_t settings, obs_source_t source)
capture = bzalloc(sizeof(struct monitor_capture));
capture->opaque_effect = opaque_effect;
monitor_capture_defaults(settings);
update_settings(capture, settings);
return capture;
}

View File

@ -71,7 +71,6 @@ WASAPISource::WASAPISource(obs_data_t settings, obs_source_t source_,
source (source_),
isInputDevice (input)
{
GetWASAPIDefaults(settings);
UpdateSettings(settings);
stopSignal = CreateEvent(nullptr, true, false, nullptr);