Skip to content

Add chapter skipping support to exoplayer client #1533

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

Closed

Conversation

CeruleanRed
Copy link
Contributor

@CeruleanRed CeruleanRed commented Dec 30, 2024

Changes
Added buttons to support chapter skipping in the exoplayer client. Buttons are only present if chapters actually exist on the file being played. Button behaviour was modeled on how the web client works (e.g. the 10s interval in which going back a chapter results in going to the previous chapter, instead of starting the current one at 0)

Images

(Ignore the video quality, it's trying to software decode AV1 on the emulator)
image

Extra comments

  • Currently when hiding the skip chapter buttons, there is a slight lag until the buttons disappear due to having to check if chapters exist, which can only happen when the media is loaded. Any alternative that improves this would be welcome.
  • The "watched" status of the chapter markings only updates after the user has let go of the thumb when scrubbing

Fixes
#155

@jellyfin-bot jellyfin-bot added this to the v2.7.0 milestone Dec 30, 2024
CeruleanRed and others added 13 commits December 31, 2024 15:08
Currently translated at 100.0% (105 of 105 strings)

Translation: Jellyfin Android/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-android/sl/
Currently translated at 100.0% (105 of 105 strings)

Translation: Jellyfin Android/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-android/sl/
Currently translated at 100.0% (4 of 4 strings)

Translation: Jellyfin Android/Jellyfin Android Fastlane
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-android-fastlane/sl/
* Migrate to Room Gradle plugin

> The plugin configures the project such that generated schemas (which are
> an output of the compile tasks and are consumed for auto-migrations) are
> correctly configured to have reproducible and cacheable builds.

https://developer.android.com/jetpack/androidx/releases/room#gradle-plugin

* Remove explicit configuration of room.incremental property

Incremental annotation processing is enabled by default:
https://developer.android.com/jetpack/androidx/releases/room#compiler-options

---------

Co-authored-by: Maxr1998 <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency org.jellyfin.sdk:jellyfin-core to v1.6.1

Fix build errors and add API authorization headers to exoplayer
since the access token is no longer passed via URL for Android Auto.
See jellyfin/jellyfin-sdk-kotlin#871

* Use SDK for authorization header string building

* Use getItem in MediaSourceResolver

* Don't send authorization header to origins other than jellyfin server

* Fix detekt lint warnings
@jellyfin-bot jellyfin-bot added the merge conflict Conflicts prevent merging label Jan 26, 2025
renovate bot and others added 12 commits January 26, 2025 02:50
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…1444)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…1546)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…in#1547)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…fin#1550)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ellyfin#1551)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
tal-sarid and others added 3 commits May 16, 2025 17:01
Currently translated at 100.0% (125 of 125 strings)

Translation: Jellyfin Android/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-android/he_IL/
Currently translated at 100.0% (125 of 125 strings)

Translation: Jellyfin Android/Jellyfin Android
Translate-URL: https://translate.jellyfin.org/projects/jellyfin-android/jellyfin-android/he/
@CeruleanRed
Copy link
Contributor Author

That is super weird because my emulator doesn't have that setting anymore. I checked it against my phone, and my phone has the setting, but the emulator does not. I think the mobile app just sees itself as the browser wrapper, since the server is also reporting it as chrome. I will look into the issue some more tomorrow, and see if I can get it to run, but I've never had that happen before

@nielsvanvelzen
Copy link
Member

Ok found the culprit, will fixed with #1643 :)

@jellyfin-bot jellyfin-bot removed the merge conflict Conflicts prevent merging label May 18, 2025
@CeruleanRed
Copy link
Contributor Author

Rebased onto master, not entirely sure why GitHub is reporting so many file changes, checked with a PR in my forked repo and there it just showed the 12 I touched.

Is there anyway to programmatically get the size attributes from a drawable? I just checked my changes from January and I still have some magic numbers floating around like the chapter marking width and height in here file that I'd like to be more explainable

@CeruleanRed
Copy link
Contributor Author

Looking at the git history, I messed this branch up quite hard doing the rebase, might be easiest to just switch to a new one and cherry-pick my changes, instead of trying to fix it here, but let me know how you want me to proceed

@felixschndr
Copy link

Rebased onto master, not entirely sure why GitHub is reporting so many file changes, checked with a PR in my forked repo and there it just showed the 12 I touched.

I would assume that something went wrong during the rebase. Maybe rebased on an old state of main. Maybe you want to check the git branch graph. I am on my phone right now, so can't check.

@CeruleanRed
Copy link
Contributor Author

I decided not to fight it and just made a new branch here #1646, sorry for the inconvenience, was the fastest way I could get it to not be the current abomination

@CeruleanRed CeruleanRed deleted the feat/add-chapters-exoplayer branch June 16, 2025 19:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.