media_kit_video
Native implementation for video playback in package:media_kit.
2.0.1
297K downloads/mo
#693 most downloaded on pub.dev
media-kit/media-kit
What this package is like to depend on
Last release 8 months ago
02 Dec 2025
Ships unpredictably
gaps range from 9 days to 10 months
Nearly every release is documented
notes for 35 of 35 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
35 releases · first in 2023
3 releases in the last 12 months
see the full history below
Release timeline
35 releases · Feb 2023 to Dec 2025Releases
latest 35-
2.0.102 Dec 2025 -
2.0.014 Nov 2025Release notes
Open source →- feat: flutter 3.38.x support
- BREAKING CHANGE: remove
screen_brightnessandvolume_controllerdependencies
-
1.3.105 Oct 2025Release notes
Open source →- fix(windows): notify
VideoOutput.Resizeon platform thread - fix(linux): notify
VideoOutput.Resizeon platform thread - fix(android):
VideoControllerimplementation - fix(android): remove deprecated API usage
- fix(windows): notify
-
1.3.024 Mar 2025Release notes
Open source →- REFACTOR: screen_brightness -> screen_brightness_platform_interface.
- REFACTOR(android): simplify AndroidVideoController implementation.
- REFACTOR(android): VideoOutput SurfaceTextureEntry -> SurfaceProducer migration.
- REFACTOR: use setProperty API in NativeVideoController.
- FIX: improve responsiveness of showing controls on mobile.
- FIX: bump web to 1.1.0.
- FIX: cast to JSObject.
- FIX: not call super.didChangeAppLifecycleState(state);.
- FIX: not call super.didChangeAppLifecycleState(state);.
- FIX: wakelock print.
- FIX: subtitles not shifting on controls show/hide.
- FIX: set width/height from VideoParams in NativeVideoController.
- FIX: seek inside onPointerMove.
- FIX(windows): automatic IDXGIAdapter selection on windows 10 or greater.
- FIX(android): waitUntilFirstFrameRenderedCompleter.
- FIX(android): --hwdec=auto-safe as default.
- FIX: dispose ValueNotifier(s) in PlatformVideoController.
- FIX: fullscreen.
- FIX: long press video speed reset issue.
- FIX: wrong value in brightness builder callback.
- FIX: Use a Scaffold as the outermost widget on fullscreen video pages.
- FEAT: upgrade volume_controller dependency and refactor related code.
- FEAT: seek on double tap custom duration support.
-
1.2.522 Aug 2024Release notes
Open source →-
fix: subtitleView not being updated
-
fix: mobile double tap areas hidden but still mounted
-
fix: mobile center click is delayed
-
feat: desktop video controls mouse hides with controls
-
feat: desktop on tap pause and play
-
feat: desktop on double tap fullscreen
-
fix: windows crash by @Airyzz #900
-
feat: auto pass changes to fullscreen without having to call .update
-
-
1.2.419 Oct 2023 -
1.2.319 Oct 2023 -
1.2.216 Oct 2023Release notes
Open source →- fix: override
setState& checkmountedinMaterialVideoControls&MaterialDesktopVideoControls
Release notes
Open source →- fix: override
setState& checkmountedinMaterialVideoControls&MaterialDesktopVideoControls
- fix: override
-
1.2.128 Sep 2023Release notes
Open source →- fix(android): clear
android.view.Surfacebefore playback - feat:
MaterialVideoControlsThemeData.seekBarAlignment
Release notes
Open source →- fix(android): clear
android.view.Surfacebefore playback - feat:
MaterialVideoControlsThemeData.seekBarAlignment
- fix(android): clear
-
1.2.027 Sep 2023 -
1.1.927 Sep 2023Release notes
Open source →- fix: unmount
CircularProgressIndicatorbuffering indicator if invisible - fix: pass all video attributes to fullscreen route
- fix: prevent controls from hiding during seek
- fix: hide last video's frame upon
Player.open - fix:
ThemeData.copyWithoverride - fix(android):
hwdec=auto-safew/enableHardwareAcceleration=true - fix(windows): fullscreen for non-primary monitors
- fix(darwin):
mpv_render_context_freecall - fix(darwin): memory leaks
- fix(ios): fix
disposeMPV - feat:
VideoControllerConfiguration.androidAttachSurfaceAfterVideoParameters - feat: center the seek-bar within its parent
Containerfor improved tap area - feat:
backdropColorargument inMaterialVideoControlsThemeData
Release notes
Open source →- fix: unmount
CircularProgressIndicatorbuffering indicator if invisible - fix: pass all video attributes to fullscreen route
- fix: prevent controls from hiding during seek
- fix: hide last video's frame upon
Player.open - fix:
ThemeData.copyWithoverride - fix(android):
hwdec=auto-safew/enableHardwareAcceleration=true - fix(windows): fullscreen for non-primary monitors
- fix(darwin):
mpv_render_context_freecall - fix(darwin): memory leaks
- fix(ios): fix
disposeMPV - feat:
VideoControllerConfiguration.androidAttachSurfaceAfterVideoParameters - feat: center the seek-bar within its parent
Containerfor improved tap area - feat:
backdropColorargument inMaterialVideoControlsThemeData
- fix: unmount
-
1.1.826 Aug 2023 -
1.1.725 Aug 2023Release notes
Open source →- fix: add
awaittomaybePopwhen exiting fullscreen - fix:
MaterialVideoControls/MaterialDesktopVideoControlsseekbar glitch - fix(android): S/W rendering fallback
- fix(android): create fresh
android.view.Surfacefor every video output
- fix: add
-
1.1.620 Aug 2023Release notes
Open source →- fix: programmatic fullscreen API
- fix(android): pause upon entering fullscreen
- fix(android):
waitUntilFirstFrameRenderedNotifyinFlutterFragmentActivity
-
1.1.516 Aug 2023 -
1.1.416 Aug 2023Release notes
Open source →- feat:
VideoresumeUponEnteringForegroundMode - feat(android):
waitUntilFirstFrameRenderedNotifyimplementation
- feat:
-
1.1.307 Aug 2023Release notes
Open source →- feat(android):
VideoControllerConfiguration.scale - fix(android): use
hwdec=auto - fix(android):
SurfaceTexture.setDefaultBufferSize& render race
- feat(android):
-
1.1.206 Aug 2023Release notes
Open source →- fix(windows): memory leak in
GetVideoWidth/GetVideoHeight - fix(linux):
GThread*leak in S/W render &video_output_get_(width|height) - fix(linux): H/W support for multiple videos
- build(darwin): bump
mpvheaders to0.36.0 - build(darwin): use symlinks for
FRAMEWORK_SEARCH_PATHS,media_kit_libs_*** >= 1.1.0 - fix(darwin): remove black screen when switching videos (#332)
- feat:
Video: exposeonEnterFullscreen&onExitFullscreen - feat: feat:
visibleOnMountMaterialVideoControls/MaterialDesktopVideoControls - fix: display
bufferingIndicatorBuildereven if controls are hidden
- fix(windows): memory leak in
-
1.1.129 Jul 2023Release notes
Open source →- chore:
try/catchnative calls to hide stray logs - fix:
MaterialDesktopVideoControls: do not addonTapUpcallback iftoggleFullscreenOnDoublePressis disabled
- chore:
-
1.1.023 Jul 2023Release notes
Open source →- feat:
SubtitleView,SubtitleViewConfiguration - feat:
shiftSubtitlesOnControlsVisibilityChangeinMaterialVideoControls&MaterialDesktopVideoControls - feat: apply rotation from metadata to video output
- feat: improve wakelock behavior
- feat:
pauseUponEnteringBackgroundMode - fix:
bufferingIndicatorBuilderpadding inMaterialVideoControls&MaterialDesktopVideoControls - fix(windows): maintain aspect ratio in s/w rendering pixel-buffer size clamping
- fix(linux): maintain aspect ratio in s/w rendering pixel-buffer size clamping
- perf(android): use
hwdec=mediacodecw/enableHardwareAcceleration - deps: migrate
package:wakelock_plus
- feat:
-
1.0.202 Jul 2023 -
1.0.102 Jul 2023Release notes
Open source →- fix: synchronize
VideoControllerconstructor - fix:
fullscreenvideo controls theme data not being applied
- fix: synchronize
-
1.0.001 Jul 2023Release notes
Open source →- feat: web support
- feat: fullscreen API
- feat: acquire wakelock
- feat: support for AGP 8.0
- feat: pre-built video controls
- feat:
controlsargument inVideowidget - feat:
AdaptiveVideoControls,MaterialVideoControls,MaterialDesktopVideoControls&NoVideoControls
-
0.0.1228 May 2023 -
0.0.1128 May 2023 -
0.0.1025 May 2023Release notes
Open source →- feat:
VideoControllerConfiguration - feat:
VideoController.waitUntilFirstFrameRendered - refactor: clean-up package structure
- refactor: remove
VideoController.dispose - refactor:
VideoController.create->VideoControllerconstructor - fix(android): add
av1tohwdec-codecs - fix(android): use
--vo=gpu+--hwdec=mediacodec-copy/wenableHardwareAcceleration
- feat:
-
0.0.927 Apr 2023Release notes
Open source →- fix(android): revert to
--vo=mediacodec_embedinenableHardwareAcceleration
- fix(android): revert to
-
0.0.824 Apr 2023Release notes
Open source →- fix(android): subtitle rendering
- fix(android): video rendering inside emulators (#149)
- fix(android): video rendering with
enableHardwareAcceleration: false
-
0.0.719 Apr 2023Release notes
Open source →- fix(linux): VAAPI hardware acceleration
- perf(windows):
VideoOutput::Resize: delete texture objects in background
-
0.0.618 Apr 2023Release notes
Open source →- fix(windows): synchronize texture object deletion in on unregister v.i.z
VideoOutput::ResizeorVideoOutput::~VideoOutput
- fix(windows): synchronize texture object deletion in on unregister v.i.z
-
0.0.518 Apr 2023Release notes
Open source →- Android support
- feat:
VideoController.setSize - fix: set
votolibmpvbefore creating render context - refactor:
VideoController.createtakesPlayerreference instead ofhandle
-
0.0.404 Apr 2023 -
0.0.303 Apr 2023 -
0.0.229 Mar 2023Release notes
Open source →- macOS support:
- Hardware: MPV_RENDER_API_TYPE_OPENGL + pixel buffer + METAL
- Software: MPV_RENDER_API_TYPE_SW + pixel buffer
- iOS support:
- Hardware: MPV_RENDER_API_TYPE_OPENGL + pixel buffer
- Software: MPV_RENDER_API_TYPE_SW + pixel buffer
- fix(windows): use
TextureRegistrar::UnregisterTexturerelease callback to free texture resources - fix(windows): synchronize texture unregister & release on frame dimensions change
- feat:
aspectRatioparameter forVideowidget
- macOS support:
-
0.0.127 Feb 2023Release notes
Open source →- Initial release
- Windows support:
- Hardware: MPV_RENDER_API_TYPE_OPENGL + ANGLE + DirectX 11
- Software: MPV_RENDER_API_TYPE_SW + pixel buffer
- GNU/Linux support:
- Hardware: MPV_RENDER_API_TYPE_OPENGL + GDK/GL
- Software: MPV_RENDER_API_TYPE_SW + pixel buffer