aboutsummaryrefslogtreecommitdiffstats
path: root/src/client/players/Vk.hx
diff options
context:
space:
mode:
authorRblSb <msrblsb@gmail.com>2025-01-18 08:37:21 +0300
committerRblSb <msrblsb@gmail.com>2025-01-19 03:34:49 +0300
commita30cc5643c1e8366d2e8743fbe7c01ce1a468111 (patch)
treee01a115b026342e180a84f3d0d22cdfda88d03ec /src/client/players/Vk.hx
parent600101bb1d093c2f0402ddf38a407f140c4329ed (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.hx28
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;
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage