Automatically query defaults for sources/outputs/encoders and set them before calling create
@@ -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);
@@ -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)
@@ -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)
@@ -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;
@@ -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;
@@ -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;
@@ -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);