media_kit 0.0.10+1
media_kit: ^0.0.10+1 copied to clipboard
A complete video & audio playback library for Flutter & Dart. Performant, stable, feature-proof & modular.
0.0.10+1 #
- docs: update demo application links
0.0.10 #
- perf: emit distinct events in
Player.streams - 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.streams.width: currently playing video's width asStream<int>Player.state.height: currently playing video's height asintPlayer.streams.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.streams.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.dev
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.streams.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.streams.audioDevice: currently selected audio device asStream<AudioDevice>Player.state.audioDevices: currently available audio device(s) asList<AudioDevice>Player.streams.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.streams.track.video: currently selected video track asStream<VideoTrack>Player.state.track.audio: currently selected audio track asAudioTrackPlayer.streams.track.audio: currently selected audio track asStream<AudioTrack>Player.state.track.subtitle: currently selected subtitle track asSubtitleTrackPlayer.streams.track.subtitle: currently selected subtitle track asStream<SubtitleTrack>Player.state.tracks.video: currently available video track(s) asList<VideoTrack>Player.streams.tracks.video: currently available video track(s) asStream<List<VideoTrack>>Player.state.tracks.audio: currently available audio track(s) asList<AudioTrack>Player.streams.tracks.audio: currently available audio track(s) asStream<List<AudioTrack>>Player.state.tracks.subtitle: currently available subtitle track(s) asList<SubtitleTrack>Player.streams.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.streams.isPlayingtoPlayer.streams.playing - refactor: rename
Player.streams.isPausedtoPlayer.streams.paused - refactor: rename
Player.streams.isCompletedtoPlayer.streams.completed - refactor: rename
Player.streams.isBufferingtoPlayer.streams.buffering
0.0.1 #
- Microsoft Windows support
- GNU/Linux support
- Initial release