media_kit 0.0.10 media_kit: ^0.0.10 copied to clipboard
A complete video & audio playback library for Flutter & Dart. Performant, stable, feature-proof & modular.
0.0.10 #
- perf: emit distinct events in
Player.streams
- fix(android): crash on some devices
- fix:
Player.setAudioDevice
not working - fix: set/emit
completed
asfalse
uponPlayer.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.dispose
event loop clean-up - refactor:
Player
implementation 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_video
andmedia_kit_libs_android_audio
0.0.7 #
- fix:
MediaKit.ensureInitialized
not passing optionallibmpv
argument
0.0.6 #
- feat: synchronize
Player
methods - refactor: improve
Playlist
handling inPlayer
- refactor: improve handling of
playlist
,audioBitrate
&audioParams
states/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 asint
Player.streams.width
: currently playing video's width asStream<int>
Player.state.height
: currently playing video's height asint
Player.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 asDuration
Player.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:
protocolWhitelist
inPlayerConfiguration
for whitelisting protocols - feat:
bufferSize
inPlayerConfiguration
for 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
play
calls makingPlayer
paused
0.0.3+3 #
- docs: document updated
media_kit_video
,media_kit_libs_macos_video
andmedia_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.open
beforePlayer.play
(#69) - feat:
Player.open
now acceptsPlayable
i.e.Media
orPlaylist
- feat: access
Player
logs 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 asAudioDevice
Player.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 asVideoTrack
Player.streams.track.video
: currently selected video track asStream<VideoTrack>
Player.state.track.audio
: currently selected audio track asAudioTrack
Player.streams.track.audio
: currently selected audio track asStream<AudioTrack>
Player.state.track.subtitle
: currently selected subtitle track asSubtitleTrack
Player.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.volume
setter toPlayer.setVolume
- refactor: rename
Player.rate
setter toPlayer.setRate
- refactor: rename
Player.pitch
setter toPlayer.setPitch
- refactor: rename
Player.shuffle
setter toPlayer.setShuffle
- refactor: rename
Player.state.isPlaying
toPlayer.state.playing
- refactor: rename
Player.state.isPaused
toPlayer.state.paused
- refactor: rename
Player.state.isCompleted
toPlayer.state.completed
- refactor: rename
Player.state.isBuffering
toPlayer.state.buffering
- refactor: rename
Player.streams.isPlaying
toPlayer.streams.playing
- refactor: rename
Player.streams.isPaused
toPlayer.streams.paused
- refactor: rename
Player.streams.isCompleted
toPlayer.streams.completed
- refactor: rename
Player.streams.isBuffering
toPlayer.streams.buffering
0.0.1 #
- Microsoft Windows support
- GNU/Linux support
- Initial release