diff options
| author | RblSb <msrblsb@gmail.com> | 2025-01-18 08:37:21 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2025-01-19 03:34:49 +0300 |
| commit | a30cc5643c1e8366d2e8743fbe7c01ce1a468111 (patch) | |
| tree | e01a115b026342e180a84f3d0d22cdfda88d03ec /src/client/players/Vk.hx | |
| parent | 600101bb1d093c2f0402ddf38a407f140c4329ed (diff) | |
Make raw videos adaptive for aspect ratios
Sadly there is no info about video size for iframes, so they will be keeped as 16/9.
Let me know if this change breaks anything.
Diffstat (limited to 'src/client/players/Vk.hx')
| -rw-r--r-- | src/client/players/Vk.hx | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/client/players/Vk.hx b/src/client/players/Vk.hx index a2af220..fbcf60c 100644 --- a/src/client/players/Vk.hx +++ b/src/client/players/Vk.hx @@ -94,8 +94,6 @@ class Vk implements IPlayer { } final url = data.url; - final video = document.createDivElement(); - video.id = "temp-videoplayer"; final ids = getVideoIds(url); if (ids == null) { callback({duration: 0}); @@ -103,14 +101,14 @@ class Vk implements IPlayer { } final oid = ids.oid; final id = ids.id; - video.innerHTML = ' - <iframe src="https://vk.com/video_ext.php?oid=$oid&id=$id&hd=1&js_api=1" + final tempVideo = Utils.nodeFromString( + '<iframe id="temp-videoplayer" src="https://vk.com/video_ext.php?oid=$oid&id=$id&hd=1&js_api=1" allow="autoplay; encrypted-media; fullscreen; picture-in-picture;" frameborder="0" allowfullscreen> - </iframe> - '.trim(); - Utils.prepend(playerEl, video); - final tempVkPlayer = createVkPlayer(video.firstChild); + </iframe>'.trim() + ); + Utils.prepend(playerEl, tempVideo); + final tempVkPlayer = createVkPlayer(tempVideo); tempVkPlayer.on("inited", () -> { callback({ duration: tempVkPlayer.getDuration(), @@ -118,7 +116,7 @@ class Vk implements IPlayer { url: url }); tempVkPlayer.destroy(); - if (playerEl.contains(video)) playerEl.removeChild(video); + if (playerEl.contains(tempVideo)) playerEl.removeChild(tempVideo); }); } @@ -133,18 +131,16 @@ class Vk implements IPlayer { removeVideo(); final ids = getVideoIds(item.url) ?? return; - video = document.createDivElement(); - video.id = "videoplayer"; final oid = ids.oid; final id = ids.id; - video.innerHTML = ' - <iframe src="https://vk.com/video_ext.php?oid=$oid&id=$id&hd=4&js_api=1" + video = Utils.nodeFromString( + '<iframe id="videoplayer" src="https://vk.com/video_ext.php?oid=$oid&id=$id&hd=4&js_api=1" allow="autoplay; encrypted-media; fullscreen; picture-in-picture;" frameborder="0" allowfullscreen> - </iframe> - '.trim(); + </iframe>'.trim() + ); playerEl.appendChild(video); - vkPlayer = createVkPlayer(video.firstChild); + vkPlayer = createVkPlayer(video); vkPlayer.on("inited", () -> { if (!main.isAutoplayAllowed()) vkPlayer.mute(); isLoaded = true; |
