jellyfin / Swiftfin

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

[tvOS] Various Issues #1005

Open isgallagher opened 6 months ago

isgallagher commented 6 months ago

Describe the bug

  1. Play/pause does not work
  2. When playing media, swiping or tapping touch pad does not bring up the menu
  3. Progress indicator in media does not update when starting playback
  4. Video is not taking full space of screen, menu is visible always about 1" on all sides of the video
  5. Pressing back button to exit media continues playing the media's audio after returning to menu
  6. When TV series media playback finishes (end of file) it stays on black screen instead of queuing up next episode
  7. Movies list is showing only a very small partial list (maybe first page?) and it is not sorted. TV Shows list might also not be loading the whole list.

Application version

Built from latest source

Where did you install the app from?

None

Device information

Apple TV 4K

OS version

17.4

Jellyfin server version

10.8.13

isgallagher commented 6 months ago

I've started tackling this already...

  1. I was reviewing #933 as a starting point and should have this fixed.
  2. I added .onMoveCommand in the Overlay to partial fix this, but I'm needing some guidance for the swiping gesture for scrubbing. I can get scrubbing to work if the Overlay is showing, but I think the behavior is supposed to be user can initiate scrubbing while overlay is not showing (which would cause overlay to show and also scrub) -- let me know if this is not the behavior we are after.
  3. Slider progress updates correctly when scrubbing, but the issue is it doesn't update during playback. I'm not sure how this was working before... I've looked at tvOSSlider, BottomBarview, VideoPlayer, etc. I'm needing some guidance on this one.
LePips commented 6 months ago

For any button issues, you may want to look at the PreferencesView as we will probably be using that to capture button events instead of the SwiftUI modifiers. For the slider, a binding may be off. I'm sorry, but I haven't looked at tvOS in a long time and am only able to really develop for it in every-once-in-a-while bursts, but I will be able to check out anything contributed.

ryanh2o3 commented 5 months ago

@isgallagher did you find a way to fix no.4? I've got it fixed but it mightn't be the best way to deal with it.

isgallagher commented 5 months ago

Yes I fixed it by copying what the iOS views were doing. I'm not sure if I 100% fixed it on my side as the UI scaling became a problem that I haven't overcome yet. See here for what I have been working on. I was also able to fix no.5 and no.6 as well by using the iOS views.

ryanh2o3 commented 5 months ago

Yes I fixed it by copying what the iOS views were doing. I'm not sure if I 100% fixed it on my side as the UI scaling became a problem that I haven't overcome yet. See here for what I have been working on. I was also able to fix no.5 and no.6 as well by using the iOS views.

Ah, cool. Yeah you did it a different way to me. Gonna see how it works compared to mine. I just did VideoPlayer(manager: self.videoPlayerManager) .frame(maxWidth: .infinity, maxHeight: .infinity) but maybe it'll create problems elsewhere, I've only just tested it. You've did a lot of work here though, much of it ready for PR?

isgallagher commented 5 months ago

Yea it would make sense to break it up into multiple PRs. I will see what makes sense with what I worked on and try to get a PR soon.

ryanh2o3 commented 5 months ago

Yea it would make sense to break it up into multiple PRs. I will see what makes sense with what I worked on and try to get a PR soon.

Cool, sounds good.