1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00

Fixed duration being null in some cases.

This commit is contained in:
Koen 2024-01-07 18:16:06 +01:00
parent 6f90cf7bb6
commit d9a1475d9d

View file

@ -22,24 +22,40 @@ const player = videojs("video-player", options, function onPlayerReady() {
}
});
player.on("pause", () => { window.electronAPI.sendPlaybackUpdate({
generationTime: Date.now(),
sendPlaybackUpdate = (message) => {
const sanitizedMessage = {
generationTime: Date.now(),
time: message.time ? message.time : 0,
duration: message.duration && isFinite(message.duration) ? message.duration : 0,
state: message.state,
speed: message.speed ? message.speed : 1
};
window.electronAPI.sendPlaybackUpdate(sanitizedMessage);
};
player.on("pause", () => { sendPlaybackUpdate({
time: player.currentTime(),
duration: player.duration(),
state: 2,
speed: player.playbackRate()
})});
player.on("play", () => { window.electronAPI.sendPlaybackUpdate({
generationTime: Date.now(),
player.on("play", () => { sendPlaybackUpdate({
time: player.currentTime(),
duration: player.duration(),
state: 1,
speed: player.playbackRate()
})});
player.on("seeked", () => { window.electronAPI.sendPlaybackUpdate({
generationTime: Date.now(),
player.on("seeked", () => { sendPlaybackUpdate({
time: player.currentTime(),
duration: player.duration(),
state: player.paused() ? 2 : 1,
speed: player.playbackRate()
})});
player.on("ratechange", () => { sendPlaybackUpdate({
time: player.currentTime(),
duration: player.duration(),
state: player.paused() ? 2 : 1,
@ -51,14 +67,6 @@ player.on("volumechange", () => { window.electronAPI.sendVolumeUpdate({
volume: player.volume()
})});
player.on("ratechange", () => { window.electronAPI.sendPlaybackUpdate({
generationTime: Date.now(),
time: player.currentTime(),
duration: player.duration(),
state: player.paused() ? 2 : 1,
speed: player.playbackRate()
})});
player.on('error', () => { window.electronAPI.sendPlaybackError({
message: JSON.stringify(player.error())
})});
@ -117,12 +125,11 @@ window.electronAPI.onSetSpeed((_event, value) => {
});
setInterval(() => {
window.electronAPI.sendPlaybackUpdate({
generationTime: Date.now(),
time: (player.currentTime()),
duration: (player.duration()),
sendPlaybackUpdate({
time: player.currentTime(),
duration: player.duration(),
state: player.paused() ? 2 : 1,
speed: player.playbackRate()
speed: player.playbackRate(),
});
}, 1000);
@ -177,7 +184,12 @@ console.log("KeyDown", event);
break;
case 'ArrowRight':
// Skip forward
player.currentTime(Math.min(player.currentTime() + skipInterval, player.duration()));
const duration = player.duration();
if (duration) {
player.currentTime(Math.min(player.currentTime() + skipInterval, duration));
} else {
player.currentTime(player.currentTime());
}
event.preventDefault();
break;
case 'Space':