Skip to content
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

ExoPlayer: Implement media segment support #1507

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

jakobkukla
Copy link

@jakobkukla jakobkukla commented Nov 10, 2024

Initial support for media segments.

Most of this is shamelessly copied from the Android TV implementation in jellyfin/jellyfin-androidtv#4052. @nielsvanvelzen, I tried to reflect that in the commit message. Let me know if that's a problem.

Changes

The playback related implementation is pretty much copied 1:1 from ATV. This implements the Skip and Nothing actions. The Unknown segment type is not supported. AskToSkip is not implemented yet but I plan to do so in a following PR.

I reused the settings from the web client by implementing a JS plugin and subscribing to settings changes. I usually try to avoid JavaScript in my daily life and have never worked with the nativeshell plugin system before. I'd appreciate if you'd take a closer look at these changes.

On another note: I'm not quite sure when to use koin's inject() vs get(). I tried to look at how the objects were injected in other places and followed that.

Issues

Depends on #1506
Fixes #1500

@jellyfin-bot jellyfin-bot added this to the v2.7.0 milestone Nov 10, 2024
@jakobkukla jakobkukla force-pushed the media-segments branch 3 times, most recently from 69dfad7 to fa329d9 Compare November 10, 2024 21:06
@jakobkukla jakobkukla marked this pull request as ready for review November 10, 2024 21:08
Most of the proposed changes in the files listed below have been shamelessly
copied from the Android TV implementation in jellyfin/jellyfin-androidtv#4052.

Authorship of these changes belongs to nielsvanvelzen.

app/src/main/java/org/jellyfin/mobile/player/PlayerViewModel.kt
app/src/main/java/org/jellyfin/mobile/player/mediasegments/MediaSegmentAction.kt
app/src/main/java/org/jellyfin/mobile/player/mediasegments/MediaSegmentRepository.kt
app/src/main/java/org/jellyfin/mobile/utils/extensions/MediaSegment.kt
@felixschndr
Copy link

Looking forward to this being merged, thank you for your work @jakobkukla!

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.

3 participants