From 5d2375cbb23dbe69a7afe7a691707be48397c6d9 Mon Sep 17 00:00:00 2001 From: RblSb Date: Mon, 29 Apr 2024 07:45:10 +0300 Subject: Video item fixes - Fix youtube fallback, `videoItem.url` is now immutable - JsApi.setVideoSrc now updates to supported player based on `url` arg - Fix auto-pause when video is ended (with `requestLeaderOnPause`) --- src/server/Main.hx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/server/Main.hx') diff --git a/src/server/Main.hx b/src/server/Main.hx index e7c38a6..4f09108 100644 --- a/src/server/Main.hx +++ b/src/server/Main.hx @@ -612,16 +612,18 @@ class Main { if (!data.addVideo.atEnd && !checkPermission(client, ChangeOrderPerm)) { data.addVideo.atEnd = true; } - final item = data.addVideo.item; + var item = data.addVideo.item; item.author = client.name; - final local = '$localIp:$port'; - if (item.url.contains(local)) { - item.url = item.url.replace(local, '$globalIp:$port'); + final localIpPort = '$localIp:$port'; + if (item.url.contains(localIpPort)) { + final newUrl = item.url.replace(localIpPort, '$globalIp:$port'); + item = item.withUrl(newUrl); } if (videoList.exists(i -> i.url == item.url)) { serverMessage(client, "videoAlreadyExistsError"); return; } + data.addVideo.item = item; videoList.addItem(item, data.addVideo.atEnd); broadcast(data); // Initial timer start if VideoLoaded is not happen -- cgit v1.2.3