FFmpeg software H.264 decoder: opt-in via pubspec flag

- Gate buildFfmpegJni + jniLibs packaging on `ux: enable_ffmpeg` in the
  consuming app's pubspec (default off) -- no LGPL / H.264-patent
  exposure unless explicitly enabled
- appInfoBuilder generates kUxEnableFfmpeg from the same flag so apps
  register the FFmpeg LGPL notice eagerly, pubspec-only (no dart-define)
- Add registerFfmpegLicense() + bundled LGPL-2.1 text asset
- FFmpeg compliance docs (LICENSES-3RDPARTY.md, android/ffmpeg/README.md)
- Network video streaming: XVideoPlayerController.network
This commit is contained in:
agra
2026-06-15 19:16:16 +03:00
parent 27cfc87def
commit 36b5143cb3
12 changed files with 800 additions and 34 deletions

View File

@@ -20,7 +20,7 @@ dependencies:
flutter:
sdk: flutter
matcher: ^0.12.16
build: ^2.4.0
build: '>=2.4.0 <5.0.0'
clock: ^1.1.1
ffi: ^2.1.0
@@ -39,3 +39,7 @@ flutter:
pluginClass: XPlugin
macos:
pluginClass: XPlugin
assets:
# LGPL-2.1 text for the bundled FFmpeg software H.264 decoder
# (libffmpegJNI.so, Android only). Surfaced via registerFfmpegLicense().
- assets/licenses/ffmpeg_LGPL-2.1.txt