Просмотр исходного кода

Set defaults automatically

Automatically query defaults for sources/outputs/encoders and set them
before calling create
jp9000 12 лет назад
Родитель
Сommit
3ed647b8a0

+ 4 - 1
libobs/obs-encoder.c

@@ -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);

+ 4 - 1
libobs/obs-output.c

@@ -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;

+ 3 - 1
libobs/obs-source.c

@@ -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;
 

+ 0 - 2
plugins/mac-capture/mac-audio.c

@@ -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;

+ 0 - 2
plugins/obs-x264/obs-x264.c

@@ -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;
 }
 

+ 0 - 2
plugins/win-capture/monitor-capture.c

@@ -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;
 }
 

+ 0 - 1
plugins/win-wasapi/win-wasapi.cpp

@@ -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);