Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The last stable release of libvlc-jni is version 3.5.1, released August 11th 2022. There have been multiple "early access preview" releases since but those are not stable releases. Unfortunately the members of the F-Droid team made us aware that the latest stable does contain at least one unpatched CVE (see #3623).
Our legacy video player implementation has always been a pain to work with due to the mix of ExoPlayer and LibVLC code. The LibVLC implementation in particular could cause memory issues and could sometimes be active when using ExoPlayer, resulting in poorer performance. Additionally, the library caused the APK/AAB size to increase significantly. Because of this we've marked the implementation as experimental some time ago, moved the default over to ExoPlayer and started discouraging the use of LibVLC.
The new playback implementation will not support a LibVLC backend at launch. I can't say for sure whether it will return, it may be possible we choose a different engine (like MPV/FFmpeg) or only support ExoPlayer with extensions.
For the above reasons (no new releases, CVE, messy code) I'm removing the implementation now for 0.17. This makes it slightly easier to maintain old playback code (and increases reliability/performance) while work continues on the new implementation.
Changes
Issues
This is a rebase of #3039.
Fixes #3623