Skip to content

The Playback Rewrite #1057

Open
Open
@nielsvanvelzen

Description

🚀 What is The Playback Rewrite?

The goal of the rewrite is to create new playback code from scratch for video playback, audio playback and live tv. The new code should be easier to maintain and be prepared for a migration to Jellyfin 11. New features like SyncPlay can be added without much trouble. All code is Kotlin-first and uses the new SDK. It should be used by all our official Android apps for consistent behavior between (Android-) devices when playing files.

The rewrite is a very long project because I'm just one person volunteering to work on Jellyfin in my spare time. There is no hard deadline or specific version goals. This issue contains a task list of the bigger features/changes.

Status updates will be posted occasionally in the comments. Please read the bottom paragraph of this issue before commenting yourself.

🏆 Tasks

This list will change over time, some features might not be available on the initial release of the new playback code. When possible issues/pull requests will be linked for tracking purposes. There is no particular order for this list, new features might be added before restoring older features.

The amount of checked boxes does not indicate progress or completeness of the rewrite. Some changes required to make this happen have been running in production since version 0.15.0.

🏗️ Preparations

Various tasks that need to be completed to work on the rewrite.

🎆 Proof of Concept

🔄 Restoring features

🛠️ Integration (ATV)

🛠️ Integration (mobile)

  • Make player UI touch compatible
  • Release playback module to Maven Central (same versioning as the app)
  • Replace native player with playback module
  • Restore missing features

💥 Adding new features

Server blockers

Some features cannot be made or won't work great without changes to the server. This is a list of them.

❗ This issue

Please do not reply to this issue for any questions about the playback rewrite. The comment sections is meant for our contributors to give updates or discuss the implementation. For anything else, please create a new issue or discussion. We may delete your comment if we consider it off topic.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    confirmedIssue can be reproducedroadmapDiscussion about a significant change to the app

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions