-
Notifications
You must be signed in to change notification settings - Fork 492
[Proposal] Port Android MediaElement from Exoplayer to Media3 #1511
Copy link
Copy link
Closed
Labels
approvedThis Proposal has been approved and is ready to be added to the ToolkitThis Proposal has been approved and is ready to be added to the ToolkitchampionA member of the .NET MAUI Toolkit core team has chosen to champion this featureA member of the .NET MAUI Toolkit core team has chosen to champion this featurepending documentationThis feature requires documentationThis feature requires documentationproposalA fully fleshed out proposal describing a new feature in syntactic and semantic detailA fully fleshed out proposal describing a new feature in syntactic and semantic detail📽️ MediaElementIssue/PR that has to do with MediaElementIssue/PR that has to do with MediaElement
Metadata
Metadata
Assignees
Labels
approvedThis Proposal has been approved and is ready to be added to the ToolkitThis Proposal has been approved and is ready to be added to the ToolkitchampionA member of the .NET MAUI Toolkit core team has chosen to champion this featureA member of the .NET MAUI Toolkit core team has chosen to champion this featurepending documentationThis feature requires documentationThis feature requires documentationproposalA fully fleshed out proposal describing a new feature in syntactic and semantic detailA fully fleshed out proposal describing a new feature in syntactic and semantic detail📽️ MediaElementIssue/PR that has to do with MediaElementIssue/PR that has to do with MediaElement
Type
Projects
Status
Completed
Feature name
Port Android MediaElement from Exoplayer to Media3
Link to discussion
#1400
Progress tracker
Summary
This Proposal will replace Google's ExoPlayer library with Google's Media3 library for
CommunuityToolit.Maui.MediaElement.Google has provided an official migration guide: https://developer.android.com/guide/topics/media/media3/getting-started/migration-guide
Motivation
Google has officially deprecated ExoPlayer and recommends all developers to move to their new implementation, Media3: https://android-developers.googleblog.com/2023/03/media3-is-ready-to-play.html#:~:text=ExoPlayer%20is%20deprecated%2C%20long%20live%20ExoPlayer!&text=google.,make%20the%20transition%20to%20Media3.
It is unclear which version of Android will cease to support ExoPlayer, but we should prioritize porting MediaElement to Media3 before that happens
Detailed Design
TBD
We are unable to provide a detailed design until we have an Media3 library for .NET MAUI.
Usage Syntax
Drawbacks
There is not currently a C# Binding for Media3.
I spoke with @martijn00, the owner/maintainer of BaseFlow/XamarinExoPlayer (the NuGet Package that
CommunityToolkit.Maui.MediaElementcurrently uses for ExoPlayer bindings), and he has plans to look into it. Specifically, there is currently an open PR on the XamarinExoPlayer repo adding support for Media3.I've added the blocked label until a Media3 Binding is available.
Alternatives
There are no alternatives. Media3 is now the only officially supported Media library for Android.
Unresolved Questions
Will XamarinExoPlayer merge the open Media3 Pull Request, or will they create a new library to support Media3?
Will @moljac create a new library for the Media3 bindings? dotnet/android-libraries#710 (comment)