diff --git a/src/moq-output.cpp b/src/moq-output.cpp index 4594fc5..e08af33 100644 --- a/src/moq-output.cpp +++ b/src/moq-output.cpp @@ -46,14 +46,17 @@ bool MoQOutput::Start() return false; } - server_url = obs_service_get_connect_info(service, OBS_SERVICE_CONNECT_INFO_SERVER_URL); + const char *server_value = obs_service_get_connect_info(service, OBS_SERVICE_CONNECT_INFO_SERVER_URL); + server_url = server_value ? server_value : ""; if (server_url.empty()) { LOG_ERROR("Server URL is empty"); obs_output_signal_stop(output, OBS_OUTPUT_BAD_PATH); return false; } - path = obs_service_get_connect_info(service, OBS_SERVICE_CONNECT_INFO_STREAM_KEY); + // Path (broadcast name) is optional; an empty string publishes to the unnamed broadcast. + const char *path_value = obs_service_get_connect_info(service, OBS_SERVICE_CONNECT_INFO_STREAM_KEY); + path = path_value ? path_value : ""; bool found_encoder = false; for (uint32_t idx = 0; idx < MAX_OUTPUT_VIDEO_ENCODERS; idx++) { diff --git a/src/moq-service.cpp b/src/moq-service.cpp index 21e484c..69aa36e 100644 --- a/src/moq-service.cpp +++ b/src/moq-service.cpp @@ -22,7 +22,7 @@ obs_properties_t *MoQService::Properties() // Adds properties to be modified by the UI. // obs_property_t *obs_properties_add_text(obs_properties_t *props, const char *name, const char *desc, enum obs_text_type type) obs_properties_add_text(ppts, "server", "URL", OBS_TEXT_DEFAULT); - obs_properties_add_text(ppts, "key", "Path", OBS_TEXT_DEFAULT); + obs_properties_add_text(ppts, "key", "Path (optional)", OBS_TEXT_DEFAULT); return ppts; }