From f5371382d703c87118d0b7cb261c4c5c31ff95a7 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Fri, 23 Oct 2026 00:28:43 -0400 Subject: [PATCH] use media_kit from main Has some perf improvements, especially for Linux --- linux/flutter/generated_plugins.cmake | 1 + linux/nix/devshell.nix | 1 + linux/nix/pkg/default.nix | 8 + pubspec.lock | 198 +++++++++++++----------- pubspec.yaml | 33 ++++ windows/flutter/generated_plugins.cmake | 1 + 6 files changed, 155 insertions(+), 87 deletions(-) diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 66d7f77..89cfca2 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -13,6 +13,7 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST + jni ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/linux/nix/devshell.nix b/linux/nix/devshell.nix index a47f824..f4bf1c6 100644 --- a/linux/nix/devshell.nix +++ b/linux/nix/devshell.nix @@ -10,6 +10,7 @@ let cmakeVersions = [ "3.22.1" ]; platformVersions = [ "34" + "35" "36" ]; abiVersions = [ diff --git a/linux/nix/pkg/default.nix b/linux/nix/pkg/default.nix index 47bf2d7..6ee606e 100644 --- a/linux/nix/pkg/default.nix +++ b/linux/nix/pkg/default.nix @@ -47,6 +47,14 @@ flutter.buildFlutterApplication { linkify = "sha256-TpMD6+0zyY6i9l+6d8ErnVufmepCv362rCtnbOht/z4="; fab_m3e = "sha256-5V9m6yY0jimx2gh7lQHYg4HDKQ4Wrl0ATmBhw5DkQMI="; m3e_design = "sha256-5V9m6yY0jimx2gh7lQHYg4HDKQ4Wrl0ATmBhw5DkQMI="; + media_kit = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; + media_kit_libs_android_video = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; + media_kit_libs_ios_video = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; + media_kit_libs_linux = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; + media_kit_libs_macos_video = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; + media_kit_libs_video = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; + media_kit_libs_windows_video = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; + media_kit_video = "sha256-twu/4NxTc9RumYh8R0sIfSoo24c/OZtiwXa0fWkxWmg="; native_toolchain_cmake = "sha256-/drnHZebmTnsCnHgC1xmlAe+U4PSrjw5Sm9axicuTrY="; navigation_rail_m3e = "sha256-5V9m6yY0jimx2gh7lQHYg4HDKQ4Wrl0ATmBhw5DkQMI="; unifiedpush_linux = "sha256-KQKyBPL2ORK9O89C4K3RHGve/lvFaU1vIjSDnj6+bj4="; diff --git a/pubspec.lock b/pubspec.lock index 670b2ca..034e164 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,26 +5,26 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "48e48f73a431eb269eec66d243a63a07ed90ef9417a74047a3b98d52338626ad" + sha256: "9bfb8122e2505aca17219018593c384a87166cfe860d11c7ae927e7f978eb05f" url: "https://pub.dev" source: hosted - version: "109.0.0" + version: "110.0.0" analysis_server_plugin: dependency: transitive description: name: analysis_server_plugin - sha256: "9f293f95cf41cb513a9a4f322354e2fa5483125e0f18bbeca254543ac9c3dda6" + sha256: b94419fc81828edb7870340cb64b8648e9515613d7647309d3d0ea605c6d1f95 url: "https://pub.dev" source: hosted - version: "0.3.24" + version: "0.3.25" analyzer: dependency: transitive description: name: analyzer - sha256: "6d377901d198536b648172974d9d4f277910502cad92193466869cac0ff34990" + sha256: "74c36179c4de542efea24c9dff78324375e4b118a2c1e14e8a7659f457947f8d" url: "https://pub.dev" source: hosted - version: "14.5.0" + version: "14.6.0" analyzer_buffer: dependency: transitive description: @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: analyzer_plugin - sha256: "2c59e6fba4971dc9ece97acd55b4f95b67a98e6ae0a55bff6f9dfc2bb59e8b1a" + sha256: d218f0916ff564cfd9dd032d11e5a990059cb66f88cc741ec6e5e55abdebefcc url: "https://pub.dev" source: hosted - version: "0.14.18" + version: "0.14.19" app_links: dependency: "direct main" description: @@ -77,10 +77,10 @@ packages: dependency: transitive description: name: archive - sha256: f773153144ce0456ae77d96bd247f2efd58efe4f3e5ad42616d0385c031aea11 + sha256: "0d58d1fa1fddf6588251ccf2819f3fb3b6d0452c1b2813ac7413a05592bfbefe" url: "https://pub.dev" source: hosted - version: "4.5.1" + version: "4.5.2" args: dependency: transitive description: @@ -141,10 +141,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: e1d40ef3f7934986d5da2271b1ba07794921ce263e44d622fb6c406d76589e33 + sha256: "39ab65f7c60c19af64b9ef96e6a5d3ab48355f7dddfd98a9079d55a8cb6628fc" url: "https://pub.dev" source: hosted - version: "4.1.6" + version: "4.1.7" build_runner: dependency: "direct dev" description: @@ -293,10 +293,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "82ade9fc4273f29ed673e33166944465225b4f7fc5d4aaef48605cc751c18fc1" + sha256: a0e4f65339b31eb6a9e6a12e14b4682a48d46fbc54a82f4a702396fbdbac63a7 url: "https://pub.dev" source: hosted - version: "3.1.13" + version: "3.1.14" dbus: dependency: transitive description: @@ -414,10 +414,10 @@ packages: dependency: transitive description: name: file_selector_ios - sha256: "97269e5307a0ab813b1fa2430bada0a96e0afb74848417f8676f64ba5de0051c" + sha256: "5b42ec0ef7626124b4624ea244341e9df780406793c204e89fa68a2e71af115c" url: "https://pub.dev" source: hosted - version: "0.5.3+6" + version: "0.5.3+7" file_selector_linux: dependency: transitive description: @@ -430,10 +430,10 @@ packages: dependency: transitive description: name: file_selector_macos - sha256: d57c62362766b5e7ae739448650b66c6aab7a68ba7ecc65e04018652645ae0f4 + sha256: d785431f1910aac8a50e5c492cae912320158030a88703c67b9ef7f1f96fd7ba url: "https://pub.dev" source: hosted - version: "0.9.5+1" + version: "0.9.5+2" file_selector_platform_interface: dependency: transitive description: @@ -531,10 +531,10 @@ packages: dependency: transitive description: name: flutter_local_notifications_linux - sha256: "9ca97e63776f29ab1b955725c09999fc2c150523269db150c39274f2a43c5a8b" + sha256: "3b89a4bf095fa5f8a99beeabf982c5bd506c3ad25e7b9e61da945e994dc5b615" url: "https://pub.dev" source: hosted - version: "8.0.1" + version: "8.0.2" flutter_local_notifications_platform_interface: dependency: transitive description: @@ -690,10 +690,10 @@ packages: dependency: transitive description: name: http_multi_server - sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + sha256: "361668bdd71f0ae2dc6d17b75a593520f3c414af6534f9eed1aa72049dd71d18" url: "https://pub.dev" source: hosted - version: "3.2.2" + version: "3.2.3" http_parser: dependency: transitive description: @@ -746,10 +746,10 @@ packages: dependency: transitive description: name: image_picker_ios - sha256: "4fb88d4350ffc208c2a09fc321db1f80282688716b8cfe10c8c80acc5ae8934a" + sha256: "57255225702ace8c81b8d92c1de6a04b60ee9befa6dab242b10a7612116886fd" url: "https://pub.dev" source: hosted - version: "0.8.13+10" + version: "0.8.13+13" image_picker_linux: dependency: transitive description: @@ -798,6 +798,22 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.0" + jni: + dependency: transitive + description: + name: jni + sha256: "6b9ca0602fef0230e83149afbe3f9f8227e94f2bbe84a1da4f14d699742f402d" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + jni_util: + dependency: transitive + description: + name: jni_util + sha256: "1ba86da04a5f2bf18fde2edb235587e70c5b0fc5bd4ba955f46b00942c3fc35f" + url: "https://pub.dev" + source: hosted + version: "1.0.0" js: dependency: transitive description: @@ -947,66 +963,74 @@ packages: media_kit: dependency: "direct main" description: - name: media_kit - sha256: ae9e79597500c7ad6083a3c7b7b7544ddabfceacce7ae5c9709b0ec16a5d6643 - url: "https://pub.dev" - source: hosted + path: media_kit + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git version: "1.2.6" media_kit_libs_android_video: - dependency: transitive + dependency: "direct overridden" description: - name: media_kit_libs_android_video - sha256: "3f6274e5ab2de512c286a25c327288601ee445ed8ac319e0ef0b66148bd8f76c" - url: "https://pub.dev" - source: hosted + path: "libs/android/media_kit_libs_android_video" + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git version: "1.3.8" media_kit_libs_ios_video: - dependency: transitive + dependency: "direct overridden" description: - name: media_kit_libs_ios_video - sha256: b5382994eb37a4564c368386c154ad70ba0cc78dacdd3fb0cd9f30db6d837991 - url: "https://pub.dev" - source: hosted - version: "1.1.4" + path: "libs/ios/media_kit_libs_ios_video" + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git + version: "1.1.5" media_kit_libs_linux: - dependency: transitive + dependency: "direct overridden" description: - name: media_kit_libs_linux - sha256: "2b473399a49ec94452c4d4ae51cfc0f6585074398d74216092bf3d54aac37ecf" - url: "https://pub.dev" - source: hosted + path: "libs/linux/media_kit_libs_linux" + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git version: "1.2.1" media_kit_libs_macos_video: - dependency: transitive + dependency: "direct overridden" description: - name: media_kit_libs_macos_video - sha256: f26aa1452b665df288e360393758f84b911f70ffb3878032e1aabba23aa1032d - url: "https://pub.dev" - source: hosted - version: "1.1.4" + path: "libs/macos/media_kit_libs_macos_video" + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git + version: "1.1.5" media_kit_libs_video: dependency: "direct main" description: - name: media_kit_libs_video - sha256: "2b235b5dac79c6020e01eef5022c6cc85fedc0df1738aadc6ea489daa12a92a9" - url: "https://pub.dev" - source: hosted - version: "1.0.7" + path: "libs/universal/media_kit_libs_video" + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git + version: "1.0.8" media_kit_libs_windows_video: - dependency: transitive + dependency: "direct overridden" description: - name: media_kit_libs_windows_video - sha256: dff76da2778729ab650229e6b4ec6ec111eb5151431002cbd7ea304ff1f112ab - url: "https://pub.dev" - source: hosted - version: "1.0.11" + path: "libs/windows/media_kit_libs_windows_video" + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git + version: "1.0.12" media_kit_video: dependency: "direct main" description: - name: media_kit_video - sha256: afaa509e7b7e0bf247557a3a740cde903a52c34ace9810f94500e127bd7b043d - url: "https://pub.dev" - source: hosted + path: media_kit_video + ref: HEAD + resolved-ref: c533e446755f51cf53c7e57aea873f2aa5355f81 + url: "https://github.com/media-kit/media-kit" + source: git version: "2.0.1" meta: dependency: transitive @@ -1246,10 +1270,10 @@ packages: dependency: transitive description: name: pubspec_parse - sha256: c38b81cbf34450b67e0265d73433569d12e34782e30ed769c9cc99c9d5f2e796 + sha256: "9ac81c01ffd6a9cf9b2713288834fbaaf6aebde05ffdf02d380e68b8e06f27d8" url: "https://pub.dev" source: hosted - version: "1.6.0" + version: "1.7.0" quiver: dependency: transitive description: @@ -1318,18 +1342,18 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "1e12aafe408aa50da80edfd679a2a6bf63ba7ab37c7fa98286da459a757b3399" + sha256: "593034a16e82953ca31145db6c85174286262715f9c5e6a9d8c65ffd9fcdce09" url: "https://pub.dev" source: hosted - version: "2.4.28" + version: "2.5.3" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: "2ec3934efa51e46117f23031cc141b8fc878e8525b94ec1ea4f7f586cf1b47ea" + sha256: c2c02dd59bd7b3bb6bfb77aa7ad4a7886b24ee40e95dcaea754b83274b567ff5 url: "https://pub.dev" source: hosted - version: "2.5.7" + version: "2.6.0" shared_preferences_linux: dependency: transitive description: @@ -1366,10 +1390,10 @@ packages: dependency: transitive description: name: shelf - sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + sha256: e75e9cf311d7fd712048038cc17c25199c38536c20330d53e7db058b543d5a48 url: "https://pub.dev" source: hosted - version: "1.4.2" + version: "1.4.3" shelf_web_socket: dependency: transitive description: @@ -1387,18 +1411,18 @@ packages: dependency: transitive description: name: source_gen - sha256: "11b6047da8e4eb6c643ccac3d0fda3f9c9e11651695f7da24a85ade8aff15a44" + sha256: "833ea7d15b5be79949d3d6c077da0267a0bd93c16897b36a771395a91e63086e" url: "https://pub.dev" source: hosted - version: "4.3.0" + version: "4.3.1" source_helper: dependency: transitive description: name: source_helper - sha256: "5e6f216fdf6376c9f3852381ae037499797a3385377d388b011dac98d303c67c" + sha256: "279126bce72de3f2b7d4756408a4157988cf6bb4815be551bf55851aa00e9984" url: "https://pub.dev" source: hosted - version: "1.3.13" + version: "1.4.0" source_span: dependency: transitive description: @@ -1459,10 +1483,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "397b146f97613b83d84bdccb439bc8d0f3aebb6c1d14a9641e6f24201c490b2d" + sha256: b3d516dbd3757ff2a458735e4f6cbac9ff261f576f6e87bcb17feabb39e657c5 url: "https://pub.dev" source: hosted - version: "3.4.2" + version: "3.5.0" term_glyph: dependency: transitive description: @@ -1645,10 +1669,10 @@ packages: dependency: transitive description: name: vector_graphics - sha256: "9d0e3b9cb16542ad660daee871e726a10d13a93b7b5391677c3160e8f5e83935" + sha256: "0964703d02677ac8636b4aef95de0b7e816224ff0082908c2c950529cb9a2f5e" url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.2.4" vector_graphics_codec: dependency: transitive description: @@ -1661,10 +1685,10 @@ packages: dependency: transitive description: name: vector_graphics_compiler - sha256: "4dca4feb77dc3ec7f6e27e49c53241eb8217f55e4f9b12599a27f8903bca5682" + sha256: a8e2c19796144da2f81bcc96dad1bb19c4677b561c452081b97ee737b9faed65 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.3.2" vector_math: dependency: transitive description: @@ -1677,10 +1701,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0" + sha256: "89b11d62e1040ee681af3b4f1c97a803ecbf010c6e8b9c5896ee5b08c3bf7b78" url: "https://pub.dev" source: hosted - version: "15.3.0" + version: "15.4.0" wakelock_plus: dependency: transitive description: @@ -1709,10 +1733,10 @@ packages: dependency: transitive description: name: web - sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + sha256: e119e82ac4795c7925103b7cf3768191f33941b99e7ccffbd6c645201d9f606b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" web_socket: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 11c4808..970b920 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -55,6 +55,39 @@ dependency_overrides: window_manager: git: url: https://github.com/leanflutter/window_manager + # media_kit's main, for fixes it hasn't released yet, like Linux raster thread blocking + media_kit: + git: + url: https://github.com/media-kit/media-kit + path: media_kit + media_kit_video: + git: + url: https://github.com/media-kit/media-kit + path: media_kit_video + media_kit_libs_video: + git: + url: https://github.com/media-kit/media-kit + path: libs/universal/media_kit_libs_video + media_kit_libs_android_video: + git: + url: https://github.com/media-kit/media-kit + path: libs/android/media_kit_libs_android_video + media_kit_libs_ios_video: + git: + url: https://github.com/media-kit/media-kit + path: libs/ios/media_kit_libs_ios_video + media_kit_libs_linux: + git: + url: https://github.com/media-kit/media-kit + path: libs/linux/media_kit_libs_linux + media_kit_libs_macos_video: + git: + url: https://github.com/media-kit/media-kit + path: libs/macos/media_kit_libs_macos_video + media_kit_libs_windows_video: + git: + url: https://github.com/media-kit/media-kit + path: libs/windows/media_kit_libs_windows_video dependencies: flutter: diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 68413e7..3f39d22 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -14,6 +14,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST flutter_local_notifications_windows + jni ) set(PLUGIN_BUNDLED_LIBRARIES)