-
-
Notifications
You must be signed in to change notification settings - Fork 334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Small client freeze when "skip intro" button is used #405
Comments
I'm having this issue with 1.9.0 as well with the skip intro button, it's not happening on 1.8.9. I'm using Linux Mint 21.1 and tried both the deb package and flatpak with same results. I do have additional lockups as well when pausing and trying to exit videos and such, it's very random. Sometimes it will happen, then it'll work the next time, then back to freezing. The freezing lasts about 30s then does the action selected. |
same on windows 10 22h2, prior to 1.9 it was working fine. now at my client just freezes, when closing the app sounds plays for some secs before its closed. tried to delete cache in appdata, issue still exist. |
Does this happen just when skip intro is enabled or always? |
If this is somehow caused by the MPV version change, this build will fix it: https://github.com/jellyfin/jellyfin-media-player/actions/runs/4457781601 |
This only happens when the plugin's function is used, so yes only when enabled. (I don't have patched frontend installed on the server so cannot test with that.) Will try the other build later and see what that does. |
I think the plugin does some strange stuff with MutationObserver so it could just be that. |
i tr
i tried this build, works fine for windows, but its much slower compared to previous version. |
Yeah I don't think that build is a fix. This is something I will have to dig into but I did notice UI component lagging myself at some point. It'll probably be a git bisect thing to be honest |
what u mean by lagging? like dragging the window on the screen? that was jerky before for me. not that fluent like other windows |
I've had the same issue with certain media, clicking "Skip Intro" freezes up the client for 1-2 minutes before continuing. While it buffers, the app itself hangs temporarily while attempting to close. |
I also observed, that with some media the freeze is either longer or shorter. Sometimes it's only a few seconds while sometimes it's multiple minutes and often it never unfreezes. |
I experienced the same thing, with some media it's incredibly snappy, but with other types it lags. I also didn't immediately see any relation with a specific format, as I tried it with differing resolutions, transcoding, and formats. |
@Wastfulajr @TheStachelfisch are u using the linked build? #405 (comment) |
Yes |
This comment was marked as spam.
This comment was marked as spam.
Just wanted to add, this issue is still occurring on 1.9.1. For me on mac playing mkv files it's not just a small freeze, I have to quit out and restart the app to continue playback. |
I'm also still having this issue on build 1.9.1. Same as before it occasionally skips forward to the correct frame and then freezes requiring a restart, and occasionally unfreezes and continues after 1-2 minutes. |
I am on build 1.9.1 and more often than not my whole client is frozen once I click the skip intro button, requiring me to close the whole player. Interestingly enough, it starts playing after the intro when I relaunch the media. Side note: I have noticed my GPU go up in usage a bit when the lag occurs. Not sure if it's helpful but it almost looks like its trying to transcode something even though the video is direct playing. |
Intro skipper was freezing my media player client, setting the cache from default to large or very large seemed to mostly fixed it. It stutters for a couple seconds but does not freeze |
Exactly the same issue here, nvidia gpu using local playback. |
Never mind, it seemed to fix it, but after leaving the player open for a while and coming back, the issue unfortunately persists. |
I have tried many fixes, none of them seem to work flawlessly. I disabled the intro skipper plugin in the desktop client and it solved 90% of the issues. The desktop player just used the server's version. Enabling both the server version and the desktop plugin causes it to freeze a lot more. Line 121 - C:\Program Files\Jellyfin\Jellyfin Media Player\web-client\extension\skipIntroPlugin.js I tried to figure it out but I don't know how to properly debug Jellyfin. |
My server doesn't have the intro skipper web client but I still get the freeze, so I don't think that is related. Although it could be another bug causing a similar thing. I am also 95% sure it used to work fine in 1.8.x so it was almost certainly something that changed in 1.9.x that is the cause because it did work properly at one point. Which also means it's probably unrelated to anything server-side in general. Edit: Changing the cache size from large to vlarge actually seems to have pretty much fix it as far as I can tell. I tried out several different episodes and it worked on all of them, albeit with a roughly half-second pause before skipping. |
I thought changing the cache size fixed it for me but it just masked it. You may find Intro Skip will freeze again after a few episodes, especially episodes with larger filesizes. After your report I am 80% confident that the bug lies within the Skip Intro plugin itself within the desktop client. And maybe 20% in our environments, I am not running proper tests but in my latest experiment I have found: With the plugin disabled: With the desktop skip intro plugin enabled: I don't really see a need to use the desktop plugin, I can't find a downside using the server side version. |
I have been experiencing this bug for some time now. Here are my observations: It gets worse on subsequent playbacks in a session, regardless of whether or not the button is used. |
To clarify, is this still being addressed? Saw that the commit to solve this issue was deleted, so wanted to be sure. |
It still shows up for me. Doesn't seem to be deleted in any way |
I completely misread the notes. The testing branch was deleted. Apologies. But on this topic, this issue still seems to persist, at least on my end. To avoid myself saying anything else dumb in confusion, the fix is completed but pending release, correct? |
Correct nothing has been released yet. Probably will wait for another maintenance release unless something major comes up. |
If you want to use it right now you would need to either build the app yourself or fork the repo and run a Github action to build it, since I don't think an action ran, when the PR was merged |
Well that I can just do. https://github.com/jellyfin/jellyfin-media-player/actions/runs/5373776249 |
This same issue still happens to me on 1.9.1 - not every use, but usually after skipping intro once, happens on the next episode |
The issue still happens im usually still getting freezes using 1.9.1, well the skipping experience is not as smooth as using the web version of jellyfin. |
For any nix users looking at this issue, here's an overlay. Sadly, it'll actually build it on your system even though the skipIntroPlugin.js lives independently. { pkgs, ... }: {
# Fixes an issue with jmp where clicking the skip intro makes the player freeze
# https://github.com/jellyfin/jellyfin-media-player/issues/405#issuecomment-1606572053
nixpkgs.overlays = [
(final: prev: {
jellyfin-media-player = prev.jellyfin-media-player.overrideAttrs (finalAttrs: prevAttrs: {
patches = (prevAttrs.patches or [ ]) ++ [
(final.pkgs.writeText
"jellyfin-media-player-skip-intro.patch"
/*diff*/
''
--- a/native/skipIntroPlugin.js 1970-01-01 05:00:01.000000000 +0500
+++ b/native/skipIntroPlugin.js 2024-01-16 10:34:09.215694918 +0500
@@ -84,6 +84,13 @@
});
}
+ function handleClick(e) {
+ e.preventDefault();
+ e.stopPropagation();
+ skipIntro();
+ document.querySelector('.skipIntro .btnSkipIntro').removeEventListener('click', handleClick, { useCapture: true });
+ }
+
async function injectSkipIntroHtml() {
const playerContainer = await waitForElement('.upNextContainer', 5000);
// inject only if it doesn't exist
@@ -91,11 +98,7 @@
playerContainer.insertAdjacentHTML('afterend', skipIntroHtml);
}
- document.querySelector('.skipIntro .btnSkipIntro').addEventListener('click', (e) => {
- e.preventDefault();
- e.stopPropagation();
- skipIntro();
- }, { useCapture: true });
+ document.querySelector('.skipIntro .btnSkipIntro').addEventListener('click', handleClick, { useCapture: true });
if (window.PointerEvent) {
document.querySelector('.skipIntro .btnSkipIntro').addEventListener('pointerdown', (e) => {
''
)
];
});
})
];
} |
When is the next maintenance release of JMP scheduled? |
Hey @iwalton3, can you rerun the build action in the meanwhile? Seems like the artifacts have expired. |
Describe the bug
When using the "Skip Intro" functionality as part of said plugin, my client freezes for around 10-20 seconds. I've had this happen consistently over multiple series. This didn't happen before 1.9.0.
To Reproduce
Expected behavior
For the client to skip to the end of the intro without any freezes.
Screenshots
N/A.
Desktop (please complete the following information):
Additional context
Closing the client while frozen gets audio playing for a couple seconds (but then closes the client, like it should).
The text was updated successfully, but these errors were encountered: