media_kit_fork 0.0.3
media_kit_fork: ^0.0.3 copied to clipboard
A cross-platform video player & audio player for Flutter & Dart. Performant, stable, feature-proof & modular.
1.1.11 #
- feat:
Mediastart&end
1.1.10+1 #
- docs: document updated
media_kit_video
1.1.10 #
- feat: prevent multiple calls to
MediaKit.ensureInitialized
1.1.9 #
- fix:
NativePlayer._command - fix:
NativePlayerplay after completed - fix(web):
AssetLoaderin release mode - chore: reduce demuxer cache size to 32MB
- feat:
PlayerConfiguration.mutedforNativePlayer&WebPlayer
1.1.8+2 #
- docs: document updated
media_kit_video
1.1.8+1 #
- docs: document updated
media_kit_video,media_kit_libs_video&media_kit_libs_audio
1.1.8 #
- fix: reset subtitle state/stream in
Player.setSubtitleTrack - fix: explicit comparator in
PlayerStreamStream.distinct - fix: add
rtp&udptoprotocol_whitelistby default - fix: reset
Playerstate/stream uponPlayer.open - fix:
Player.stopmemory leak - fix(web): do not throw
UnsupportedErrorw/SubtitleTrack.(auto|no) - perf: move
NativePlayer.seektoIsolate - build: update
package:uuidversion constraint
1.1.7 #
- fix: close
PlatformPlayer.playlistModeController
1.1.6 #
- feat: HLS support for web
- fix: movtext subtitles not working
- fix: expose composition model classes
- fix: increase default demuxer cache size to 128 MB
- fix(android): S/W rendering fallback
- fix(android): create fresh
android.view.Surfacefor every video output
1.1.5 #
- feat:
Media.memory
1.1.4+1 #
- docs: document updated
media_kit_video
1.1.4 #
- feat:
VideoTrack/AudioTrack/SubtitleTrackexpose more parameters - feat:
NativePlayer.observeProperty&NativePlayer.unobserveProperty - fix:
errorstream not being emitted in certain cases - fix: pause during buffering makes
Playernot exit buffering - fix: DASH having
BaseURL(s) with special characters not loading - fix(windows/android): AV1 support
1.1.3+1 #
- docs: document updated
media_kit_libs_ios_audiomedia_kit_libs_ios_videomedia_kit_libs_macos_audiomedia_kit_libs_macos_video
1.1.3 #
- fix:
EXT-X-KEYsupport - fix: set
subs-fallback&subs-with-matching-audio - fix(android): use
hwdec=auto - fix(android):
SurfaceTexture.setDefaultBufferSize& render race
1.1.2+1 #
- docs: document updated
media_kit_libs_ios_audiomedia_kit_libs_ios_videomedia_kit_libs_macos_audiomedia_kit_libs_macos_video
1.1.2 #
- feat: export
PlayerState&PlayerStream
1.1.1 #
- feat:
Player.screenshotpixel-buffer support - feat: WebVTT over HLS support
- feat(android): DASH support
- feat(android): load/call
mpv_lavc_set_java_vminAndroidHelper - perf(android): static link FFmpeg w/ libmpv
- perf: reduce bundle size
- perf: improve
Player.dispose& eliminatempv_terminate_destroydelay - fix(windows): broken HLS support
1.1.0 #
- feat:
Player.screenshotfor capturing video snapshots asUint8List - feat: external audio track & subtitle track support
AudioTrack.uriSubtitleTrack.uri&SubtitleTrack.data
- feat: WebVTT subtitle support
- feat:
Player.state.videoParams&Player.stream.videoParams - feat:
Player.state.subtitle&Player.stream.subtitle - perf(android): use
hwdec=mediacodecw/enableHardwareAcceleration - fix(android): OpenSL ES limit
- fix(android): improve stability
- fix(android): file-descriptor clean-up for content:// URI
- fix(windows): improve stability
- fix: immediately set
vid/aid/sidtonoindispose - perf: reduce bundle size by <= 50%
- perf: do not decode video until
VideoControllerattach
1.0.2 #
- deps: update
package:httpdependency constraint
1.0.1 #
- deps: bump
package:httpto1.1.0
1.0.0 #
- feat: web support
- feat:
Player.stop - feat: support for AGP 8.0
- feat: pre-built video controls
- fix:
bufferingstream behavior - fix: improve stability on Android emulator(s)
- fix: default
PlayerStatevolume=100.0 - fix:
Player.add,Player.remove,Player.jump&Player.movestability - test: stricter & more unit-tests
0.0.11 #
- fix:
audioDevicesstate/stream not being set/emit
0.0.10+1 #
- docs: update demo application links
0.0.10 #
- perf: emit distinct events in
Player.stream - fix(android): crash on some devices
- fix:
Player.setAudioDevicenot working - fix: set/emit
completedasfalseuponPlayer.seek
0.0.9+1 #
- docs: document updated
media_kit_video
0.0.9 #
- fix(android): crash on Android 6.0 or lower
0.0.8 #
- fix:
Player.disposeevent loop clean-up - refactor:
Playerimplementation clean-up - feat:
Initializer.dispose- feat:
InitializerIsolate.dispose - feat:
InitializerNativeEventLoop.dispose
- feat:
- feat:
PlatformPlayer.waitForVideoControllerInitializationIfAttached - feat: HTTP headers support in
Media
0.0.7+1 #
- docs: document updated
media_kit_libs_android_videoandmedia_kit_libs_android_audio
0.0.7 #
- fix:
MediaKit.ensureInitializednot passing optionallibmpvargument
0.0.6 #
- feat: synchronize
Playermethods - refactor: improve
Playlisthandling inPlayer - refactor: improve handling of
playlist,audioBitrate&audioParamsstates/events
0.0.5+2 #
- docs: document updated
media_kit_video&media_kit_libs_windows_audio
0.0.5+1 #
- docs: document updated
media_kit_video
0.0.5 #
- Android support
- feat: video output width & height states/events:
Player.state.width: currently playing video's width asintPlayer.stream.width: currently playing video's width asStream<int>Player.state.height: currently playing video's height asintPlayer.stream.height: currently playing video's height asStream<int>
- feat(refactor): entry point
MediaKit.ensureInitialized
- feat: media stream buffer state/event:
Player.state.buffer: currently buffered duration of the media stream asDurationPlayer.stream.buffer: currently buffered duration of the media stream asStream<Duration>
- perf: limit demuxer cache size to 32 MB by default
- fix: HTTPS m3u8 file loading
- fix: asset names with special characters
- feat:
protocolWhitelistinPlayerConfigurationfor whitelisting protocols - feat:
bufferSizeinPlayerConfigurationfor setting demuxer cache size
0.0.4+1 #
- docs(fix): images on pub.flutter-io.cn
0.0.4 #
- fix: opening
Playlist(withindex> 0) causes index to be treated 0 after internal queue was finished - fix: double
playcalls makingPlayerpaused
0.0.3+3 #
- docs: document updated
media_kit_video,media_kit_libs_macos_videoandmedia_kit_libs_ios_video
0.0.3+2 #
- docs: document updated
media_kit_video
0.0.3+1 #
- docs: document updated
media_kit_native_event_loop
0.0.3 #
- fix: unable to publish iOS to AppStore
- fix: support for iOS simulator
0.0.2 #
- macOS support
- iOS support
- feat: draw first frame upon
Player.openbeforePlayer.play(#69) - feat:
Player.opennow acceptsPlayablei.e.MediaorPlaylist - feat: access
Playerlogs from internal backend e.g. libmpvPlayerLogs: classPlayer.stream.logs: logs asStream<PlayerLogs>
- fix: improve internal playlist handling & management
- feat: audio output device selection & enumeration
Player.setAudioDevice: methodAudioDevice: classAudioDevice.auto: factory constructorPlayer.state.audioDevice: currently selected audio device asAudioDevicePlayer.stream.audioDevice: currently selected audio device asStream<AudioDevice>Player.state.audioDevices: currently available audio device(s) asList<AudioDevice>Player.stream.audioDevices: currently available audio device(s) asStream<List<AudioDevice>>
- feat: video, audio & subtitle track selection & enumeration (#54)
Player.selectVideoTrack: methodPlayer.selectAudioTrack: methodPlayer.selectSubtitleTrack: methodVideoTrack: classAudioTrack: classSubtitleTrack: classVideoTrack.auto: factory constructorVideoTrack.no: factory constructorAudioTrack.auto: factory constructorAudioTrack.no: factory constructorSubtitleTrack.auto: factory constructorSubtitleTrack.no: factory constructorPlayer.state.track.video: currently selected video track asVideoTrackPlayer.stream.track.video: currently selected video track asStream<VideoTrack>Player.state.track.audio: currently selected audio track asAudioTrackPlayer.stream.track.audio: currently selected audio track asStream<AudioTrack>Player.state.track.subtitle: currently selected subtitle track asSubtitleTrackPlayer.stream.track.subtitle: currently selected subtitle track asStream<SubtitleTrack>Player.state.tracks.video: currently available video track(s) asList<VideoTrack>Player.stream.tracks.video: currently available video track(s) asStream<List<VideoTrack>>Player.state.tracks.audio: currently available audio track(s) asList<AudioTrack>Player.stream.tracks.audio: currently available audio track(s) asStream<List<AudioTrack>>Player.state.tracks.subtitle: currently available subtitle track(s) asList<SubtitleTrack>Player.stream.tracks.subtitle: currently available subtitle track(s) asStream<List<SubtitleTrack>>
- refactor: rename
Player.volumesetter toPlayer.setVolume - refactor: rename
Player.ratesetter toPlayer.setRate - refactor: rename
Player.pitchsetter toPlayer.setPitch - refactor: rename
Player.shufflesetter toPlayer.setShuffle - refactor: rename
Player.state.isPlayingtoPlayer.state.playing - refactor: rename
Player.state.isPausedtoPlayer.state.paused - refactor: rename
Player.state.isCompletedtoPlayer.state.completed - refactor: rename
Player.state.isBufferingtoPlayer.state.buffering - refactor: rename
Player.stream.isPlayingtoPlayer.stream.playing - refactor: rename
Player.stream.isPausedtoPlayer.stream.paused - refactor: rename
Player.stream.isCompletedtoPlayer.stream.completed - refactor: rename
Player.stream.isBufferingtoPlayer.stream.buffering
0.0.1 #
- Microsoft Windows support
- GNU/Linux support
- Initial release
