jellyfin / Swiftfin

Native Jellyfin Client for iOS and tvOS
Mozilla Public License 2.0
2.48k stars 271 forks source link

Infinite load #912

Open singersbalm opened 10 months ago

singersbalm commented 10 months ago

Describe the bug

My Jellyfin is not running on a very powerful system. As a result I can only watch as one user at a time. Sometimes I have a infinity load within a episode when I am skipping forward or am jumping to the next episode. Closing the player or the app all together does not fix the issue. I need to restart the Jellyfin server. In the web ui I noticed that it shows that the app is still playing. My guess is that the connection somehow got interrupted and it's loading because Jellyfin has only resources for transpiring one video at a time. My thought is when closing/opening the app or the player a request is send to the server to end all streams from this specific device.

Application version

commit eb17300 latest in main branch 1.0.0(78)

Where did you install the app from?

GitHub/Xcode

Device information

iPad Air

OS version

iOS 17

Jellyfin server version

10.8.12

ShadowJonathan commented 10 months ago

3 things that come to mind;

  1. Jellyfin currently does not allow media quality switching, meaning that the original file will be streamed.
  2. There is a note for the nginx reverse proxy (if you've set one up) that buffering must be disabled, my thought here is that it shortcuts streaming when the original app exits.
  3. There's a possibility that the background task does not properly close the stream/connection that the stream works over, but the above factors can exacerbate the issue.
singersbalm commented 10 months ago

The issue is most likely the 3. Point. There could be a lot of reasons why the stream isn’t closed. If the device looses connection to the server or I close the app or whatever it’s probably gonna loose the connection. That’s why I suggested an interrupt when opening a new connection.

haysberg commented 9 months ago

I have the exact same issue. I'm using Caddy with the latest Swiftfin version on the Apple Store, and I can confirm that this is the only client that has this issue.

It seems like it is linked to using a reverse proxy, as I have this issue with Nginx as well, but the video streams correctly when I'm not using a reverse proxy at all and hitting Jellyfin directly through HTTP.

I tried fiddling with Nginx and Caddy settings but to no avail so far. Any idea what might be happening ?