|
@@ -33,8 +33,9 @@ const char *obs_service_get_display_name(const char *id)
|
|
|
return (info != NULL) ? info->get_name(info->type_data) : NULL;
|
|
|
}
|
|
|
|
|
|
-obs_service_t *obs_service_create(const char *id, const char *name,
|
|
|
- obs_data_t *settings, obs_data_t *hotkey_data)
|
|
|
+static obs_service_t *obs_service_create_internal(const char *id,
|
|
|
+ const char *name, obs_data_t *settings, obs_data_t *hotkey_data,
|
|
|
+ bool private)
|
|
|
{
|
|
|
const struct obs_service_info *info = find_service(id);
|
|
|
struct obs_service *service;
|
|
@@ -47,7 +48,7 @@ obs_service_t *obs_service_create(const char *id, const char *name,
|
|
|
service = bzalloc(sizeof(struct obs_service));
|
|
|
|
|
|
if (!obs_context_data_init(&service->context, OBS_OBJ_TYPE_SERVICE,
|
|
|
- settings, name, hotkey_data, false)) {
|
|
|
+ settings, name, hotkey_data, private)) {
|
|
|
bfree(service);
|
|
|
return NULL;
|
|
|
}
|
|
@@ -74,10 +75,24 @@ obs_service_t *obs_service_create(const char *id, const char *name,
|
|
|
&obs->data.services_mutex,
|
|
|
&obs->data.first_service);
|
|
|
|
|
|
- blog(LOG_INFO, "service '%s' (%s) created", name, id);
|
|
|
+ blog(private ? LOG_DEBUG : LOG_INFO, "service '%s' (%s) created",
|
|
|
+ name, id);
|
|
|
return service;
|
|
|
}
|
|
|
|
|
|
+obs_service_t *obs_service_create(const char *id,
|
|
|
+ const char *name, obs_data_t *settings, obs_data_t *hotkey_data)
|
|
|
+{
|
|
|
+ return obs_service_create_internal(id, name, settings, hotkey_data,
|
|
|
+ false);
|
|
|
+}
|
|
|
+
|
|
|
+obs_service_t *obs_service_create_private(const char *id,
|
|
|
+ const char *name, obs_data_t *settings)
|
|
|
+{
|
|
|
+ return obs_service_create_internal(id, name, settings, NULL, true);
|
|
|
+}
|
|
|
+
|
|
|
static void actually_destroy_service(struct obs_service *service)
|
|
|
{
|
|
|
if (service->context.data)
|
|
@@ -86,7 +101,8 @@ static void actually_destroy_service(struct obs_service *service)
|
|
|
if (service->output)
|
|
|
service->output->service = NULL;
|
|
|
|
|
|
- blog(LOG_INFO, "service '%s' destroyed", service->context.name);
|
|
|
+ blog(service->context.private ? LOG_DEBUG : LOG_INFO,
|
|
|
+ "service '%s' destroyed", service->context.name);
|
|
|
|
|
|
obs_context_data_free(&service->context);
|
|
|
if (service->owns_info_id)
|