dart_vlc 0.1.6 dart_vlc: ^0.1.6 copied to clipboard
Flutter media playback, broadcast, recording & chromecast library. Based on libVLC & libVLC++.
0.1.6 #
- A hotfix update to fix a critical bug.
- Fixed a critical bug that resulted in a crash upon opening more than one
Media
inPlaylist
(apologies). - Implemented media and playlist equality operators. (Thanks to @jnschulze).
- Added
Player.takeSnapshot
to save snapshot of a playing video.
0.1.5 #
- Added initial macOS support. (Thanks to @jnschulze).
- Improved NativePort callbacks & removed unnecessary serialization.
- Now using a common dartvlc wrapper CMake library for all platforms. (Thanks to @jnschulze).
- Other bug-fixes related to
Video
. (Thanks to @jnschulze). - Setup garbage cleaning finalizers for memory allocated on heap (for C++/Dart FFI communication).
- Removed deprecated libVLC API calls.
0.1.4 #
- Now
Player
no longer requiresvideoWidth
&videoHeight
to be passed for video playback. Video
widget now uses the dimensions of the currently playing video.- For overriding the automatic video dimensions retrieval,
videoDimensions
argument must be passed while instantiatingPlayer
class. Video
widget no longer asks forplayerId
argument, butplayer
instead.- Added
videoDimensionStream
andvideoDimension
attributes toPlayer
class to listen to currently playing video dimensions. - Migrated C++ code to use smart pointers instead of raw pointers.
Player.dispose
no longer causing crash on Windows (#103).- Added Add fit and alignment properties to
Video
widget (Thanks to @jnschulze).
0.1.3 #
- Fixed libVLC shared libraries not being copied on Windows (thanks to @jnschulze).
0.1.2 #
- Now using
flutter::TextureRegistrar
for performantVideo
on Windows. (#54). - Fixed
autoStart
inPlayer.open
. - Fixed other crashes for Windows.
- Improved stability.
0.1.1 #
- Fixed setState being called after dispose (#75) (Finally)
- Improved memory management.
- Fixed ton of memory leaks.
- Fixed
Devices::all
&Media::parse
causing crash on Windows.
0.1.0 #
- Fixed build on Linux.
- Changed cmake minimum required version to 3.10 for fixing use with snap installation.
- Fixed vlc header not being located in Flutter on Linux version 2.2.4.
- Fixed few memory leaks.
- Fixed calling setState after dispose & other Video widget issues.
- Fixed build warnings on Linux.
- Changed required CMake version to 3.10 on Linux.
0.0.9 #
- Fixed multiple
Video
widgets not working after FFI migration. - Now package contains complete libVLC & libVLC++ source inside.
- No longer fetching from videoLAN & GitHub servers required.
- No more build errors for developers in China.
- Fixed
Player::setPlaylistMode
. - Fixed built-in play/pause button in Video widget.
- Added back
Media.asset
for Flutter.
0.0.8 #
- Now using FFI (instead of Platform channels).
- Better performance, being direct C <-> Dart interop with no Flutter involvement.
- Added
Equalizer
class. - Support for Dart CLI. See package
dart_vlc_ffi
. - Added
commandlineArguments
toPlayer
constructor to pass VLC commandline arguments. - BREAKING CHANGES
- Now plugin requires initialization in the
main
method, callDartVLC.initialize()
to instantiate the plugin. - Now all the methods are synchronous & no longer require
await
. Please update your code.
- Now plugin requires initialization in the
0.0.7 #
- Added
Player.setUserAgent
. - Improved & fixed issues related to play/pause button in
Video
widget. - Fixed compilation issues on arch linux.
- Fixes to device changing.
0.0.6 #
- Now
Player
class has sync constructor & no longer needsPlayer.create
. - Fixed memory leak errors on Windows & Linux.
- Added controls to
Video
widget. Thanks to @tomassasovsky. - Added
Record
class for recording media. Thanks to @DomingoMG. - Added
Chromecast
class. Thanks to @DomingoMG. - Fixed
Player.setPlaylistMode
on Linux. - Event streams inside
Player
no longer can benull
.
0.0.5 #
Broadcast
class to broadcast aMedia
.- Fix to a bug that caused
CurrentState
to not update inPlayer
.
0.0.4 #
Video
Widget
for showing video output from aPlayer
insideWidget
tree.Player
must be used as a controller for aVideo
.- Initialize
Player
withvideoHeight
andvideoWidth
optional parameters, if you wish to use it for video playback.
- Null-safety migration.
0.0.3 #
- More advanced playlist modification methods like:
add
for appending a newMedia
to thePlaylist
of thePlayer
.remove
for removing aMedia
from thePlaylist
of thePlayer
from certain index.insert
method for insertingMedia
to certain index.move
aMedia
from one index to another.
- Ability to get all playback
Device
s on machine & change.Devices.all
givesList
of allDevice
s.Player.setDevice
can be used to set a playback device for thePlayer
instance.
- Now event streams are splitted into four:
Player.currentStream
- Contains:
index
media
medias
isPlaylist
- Contains:
Player.positionStream
- Contains:
position
duration
- Contains:
Player.playbackStream
- Contains:
isPlaying
isSeekable
isCompleted
- Contains:
Player.generalStream
- Contains:
volume
rate
- Contains:
- Ability to retrieve metadata of a
Media
(either fromMedia.network
orMedia.file
).- Now you can access metadata of a
Media
by passingparse: true
for parsing the metadata. - Retrieved metadata is stored inside
Media.metas
asMap<String, String>
.
- Now you can access metadata of a
0.0.2 #
- Support for Flutter on Linux.
- Fixed bug that caused index to not update properly in
Playlist
, whennext
orback
or on completion ofMedia
. - Changed default
Player
volume to0.5
.
0.0.1+1 #
- Little left-over changes in the project documentation.
0.0.1 #
Media
playback from file.Media
playback from network.Media
playback from assets.play
/pause
/playOrPause
/stop
.- Multiple
Player
instances. Playlist
.next
/back
/jump
for playlists.setVolume
.setRate
.seek
.- Events.
- Automatic fetching of headers, libs & shared libraries.
- Changing VLC version from CMake.
- Event streams.
Player.currentState
index
: Index of current media inPlaylist
.medias
: List of all openedMedia
s.media
: Currently playingMedia
.isPlaylist
: Whether a singleMedia
is loaded or aPlaylist
.
Player.positionState
position
: Position of currently playing media inDuration
.duration
: Position of currently playing media inDuration
.
Player.playbackState
isPlaying
.isSeekable
.isCompleted
.
Player.generalState
volume
: Volume of currentPlayer
instance.rate
: Rate of currentPlayer
instance.