jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.77k stars 469 forks source link

Seek values are different for D-Pad and Fast Forward/Rewind buttons #3033

Open silentTeee opened 1 year ago

silentTeee commented 1 year ago

Describe the bug

Not sure if this was intentional, but the directional arrow buttons on my television's remote seem to have very different seek behaviors than the traditional fast-forward and rewind buttons.

When I use the dedicated Fast Forward and Rewind buttons on my remote, they seem to honor the step values set on my Jellyfin server, and will increment exactly to the current position +/- the step. But when I use the remote's D-Pad Left and Right buttons, they seem to seek to the nearest 30 second interval (if I am at position 00:12:45 and I push Left, it will jump back to 00:12:30, and if I push left again it will jump to 00:12:00).

Since not all TV remotes offer dedicated playback buttons and sometimes just map them to the D-Pad (with the 'Select' button usually inheriting Play/Pause behavior), I am wondering if it makes sense to have behavior be consistent across both button sets.

Logs

No response

FFmpeg logs

No response

Media info of the file

No response

Application version

0.15.12

Device information

HiSmartTV A4

Android version

Android 9

Jellyfin server version

10.8.10

nielsvanvelzen commented 1 year ago

This is intended behavior for now. It might be revisited when the video player is redesigned as a part of #1057.

silentTeee commented 1 year ago

Understood, should I leave this issue open then, or would you prefer it closed?

nielsvanvelzen commented 1 year ago

We can keep the issue open

spoolr commented 10 months ago

Thank you. I was just coming to report this on the FireTV after seeing the 16.2 release notes mentioning this feature but noticed it was still stuck at 30s with the d pad which Netflix and Kodi have groomed me to use exclusively. I didn't even realize the Rewind/Fast Forward buttons is where the change has taken place. Nothing worse then just trying to go back 10 seconds to catch a missed word and have to sit through so much more dialog than you want to.

Another vote for making the d pad work like the rewind and forward buttons. Netflix wants you to hold down the d pad to continuously scrub but lets one press of the rewind and forward buttons keeping going forward until cancelled with another press. A manual vs automatic approach.

Finally this setting seems hopelessly lost on the server side as a user profile preference. Is it possible to expose it to the TV interface?

rawkhopper commented 8 months ago

I have a TCL TV and the remote only has d pads. I would like them to be 10 seconds as well. Maybe everyone would be happy if it were configurable? Then each person could choose 10sec or 30sec? I totally agree that 30secs is way too long when you miss a sentence or two. I tend to forget what I was listening for by the time 30secs plays back :). Then I end up doing it again!

FunctionDJ commented 7 months ago

I frequently rewind shows or movies, e.g. because i didn't understand some dialogue.

It would be incredibly helpful if there were settings to change the seek/jump length and the seek/jump type (prev/next interval vs. relative).

Also a setting to toggle autoresume after seek/jump would be useful. I think it pauses for the purpose of not lagging while seeking, but resume could simply be debounced with something like 500ms or 1s of delay.

ericleb010 commented 1 month ago

@nielsvanvelzen Any chance you would be open to at least set the SEEK_LENGTH to 10000 for the time being? Even if this will be revisited at some point in the (unspecified) future, I think a more granular setting would be appreciated all around.

nielsvanvelzen commented 1 month ago

Yeah that's fine, I'd accept a pull request for that. There's also #3794 but that appears to be abandoned.

ericleb010 commented 1 month ago

I'm okay with the idea of a local configuration, but ultimately this should just approach seeking like fastForward and rewind do, with getSafeSeekPosition or something like that. I see now that they behave differently though, so I'm not sure how difficult that makes harmonizing them.