Explorar o código

rtmp-services: Allow loading Multitrack Video config from JSON

Add support for loading Multitrack Video configuration data from
services.json.
Ruwen Hahn %!s(int64=2) %!d(string=hai) anos
pai
achega
103ef76e5e

+ 8 - 0
plugins/rtmp-services/data/schema/service-schema-v5.json

@@ -198,6 +198,14 @@
                         "$ref": "#/definitions/saneUrl",
                         "description": "Link that provides additional info about the service, presented in the UI as a button next to the services dropdown."
                     },
+                    "multitrack_video_configuration_url": {
+                        "$ref": "#/definitions/saneUrl",
+                        "description": "Accessed for multitrack video auto configuration"
+                    },
+                    "multitrack_video_name": {
+                        "type": "string",
+                        "description": "Marketing name for eRTMP multitrack video (e.g., Enhanced Broadcasting for Twitch)"
+                    },
                     "alt_names": {
                         "type": "array",
                         "description": "Previous names of the service used for migrating existing users to the updated entry.",

+ 11 - 0
plugins/rtmp-services/rtmp-common.c

@@ -538,8 +538,19 @@ static void update_protocol(json_t *service, obs_data_t *settings)
 
 static void copy_info_to_settings(json_t *service, obs_data_t *settings)
 {
+	const char *name = obs_data_get_string(settings, "service");
+
 	fill_more_info_link(service, settings);
 	fill_stream_key_link(service, settings);
+	copy_string_from_json_if_available(
+		service, settings, "multitrack_video_configuration_url");
+	copy_string_from_json_if_available(service, settings,
+					   "multitrack_video_name");
+	if (!obs_data_has_user_value(settings, "multitrack_video_name")) {
+		obs_data_set_string(settings, "multitrack_video_name",
+				    "Multitrack Video");
+	}
+
 	update_protocol(service, settings);
 }