media_kit 1.0.2 media_kit: ^1.0.2 copied to clipboard
A complete video & audio playback library for Flutter & Dart. Performant, stable, feature-proof & modular.
1.0.2 #
- deps: update
package:http
dependency constraint
1.0.1 #
- deps: bump
package:http
to1.1.0
1.0.0 #
- feat: web support
- feat:
Player.stop
- feat: support for AGP 8.0
- feat: pre-built video controls
- fix:
buffering
stream behavior - fix: improve stability on Android emulator(s)
- fix: default
PlayerState
volume
=100.0
- fix:
Player.add
,Player.remove
,Player.jump
&Player.move
stability - test: stricter & more unit-tests
0.0.11 #
- fix:
audioDevices
state/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.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.stream.width
: currently playing video's width asStream<int>
Player.state.height
: currently playing video's height asint
Player.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 asDuration
Player.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:
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.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 asAudioDevice
Player.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 asVideoTrack
Player.stream.track.video
: currently selected video track asStream<VideoTrack>
Player.state.track.audio
: currently selected audio track asAudioTrack
Player.stream.track.audio
: currently selected audio track asStream<AudioTrack>
Player.state.track.subtitle
: currently selected subtitle track asSubtitleTrack
Player.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.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.stream.isPlaying
toPlayer.stream.playing
- refactor: rename
Player.stream.isPaused
toPlayer.stream.paused
- refactor: rename
Player.stream.isCompleted
toPlayer.stream.completed
- refactor: rename
Player.stream.isBuffering
toPlayer.stream.buffering
0.0.1 #
- Microsoft Windows support
- GNU/Linux support
- Initial release