dart_vlc 0.4.0  dart_vlc: ^0.4.0 copied to clipboard
dart_vlc: ^0.4.0 copied to clipboard
Flutter audio / video playback, broadcast & recording library for Windows & Linux. Based on libvlc.
0.4.0 #
- Bumped ffito2.0.1.
- Fixed locking of VLC::MediaListduring modification.
- BREAKING CHANGE: Discontinued NativeVideoimplementation for Windows.
0.3.0 #
- BREAKING CHANGES
- Removed iOS support.
- Removed macOS support.
 
0.2.1 #
- Addressed few issues related to NativeVideoon Windows (@alexmercerind).
- Fixed switch case directShow control (@Paradoxu).
- Fixed Bump flutter_native_viewandwindow_managerto latest versions (@ashutosh2014, @alexmercerind).
0.2.0 #
- Addressed multiple Dart-sided memory leaks during FFI interop (@alexmercerind).
- Introduce NativeVideofor Windows to render video playback performantly (uses flutter_native_view) (@alexmercerind).
- Refactor native source code, move implementations to separate translation units & remove inline class methods (@alexmercerind).
- Fix Videorendering when explicitVideoDimensionsare passed (@alexmercerind).
- Expose Player::SetHWND (@alexmercerind).
0.1.9 #
- Fix RTSP & HLS streams launching separate window instead of using Videowidget (@alexmercerind).
- Add playlistLengthvalue to ensure the "skip next" and "skip previous" buttons do not render if there is only oneMediain aPlaylist. (@GroovinChip)
- Update dart_vlc.podspecto ensure the correct Pods path on macOS. NOTE: This is based on Flutter'sstablechannel. (@GroovinChip)
- Added support for setting current audio track and getting audio track count (@exts)
- (linux) store texture info in instance data instead of class data (@hansihe)
0.1.8 #
- Add startTimeandstopTimeparameters toMediafor clipping (@alexmercerind).
- Add Player.bufferingProgress&Player.bufferingProgressStreamto listen to buffering percentage of the player (@alexmercerind).
- Videowidget no longer turns black after being scrolled out of the view (@alexmercerind).
- Now Linux uses texture registrar API for video playback (@alexmercerind) (REQUIRES master Flutter channel).
- Now macOS uses texture registrar API for video playback (@jnschulze).
- Initial work on iOS support has been started (@krjw-eyev).
0.1.7 #
- Fixed Player.open(OnOpenevent) randomly causing crash on Windows (@alexmercerind).
- Using constant frame buffer size until #137 is resolved (@alexmercerind).
0.1.6 #
- A hotfix update to fix a critical bug (@alexmercerind).
- Fixed a critical bug that resulted in a crash upon opening more than one MediainPlaylist(apologies) (@alexmercerind).
- Implemented media and playlist equality operators (@jnschulze).
- Added Player.takeSnapshotto save snapshot of a playing video (@alexmercerind).
0.1.5 #
- Added initial macOS support (@jnschulze).
- Improved NativePort callbacks & removed unnecessary serialization (@alexmercerind).
- Now using a common core wrapper CMake library for all platforms (@jnschulze).
- Other bug-fixes related to Video(@jnschulze).
- Setup garbage cleaning finalizers for memory allocated on heap (for C++/Dart FFI communication) (@alexmercerind @jnschulze).
- Removed deprecated libVLC API calls (@alexmercerind).
0.1.4 #
- Now Playerno longer requiresvideoWidth&videoHeightto be passed for video playback (@alexmercerind).
- Videowidget now uses the dimensions of the currently playing video (@alexmercerind).
- For overriding the automatic video dimensions retrieval, videoDimensionsargument must be passed while instantiatingPlayerclass (@alexmercerind).
- Videowidget no longer asks for- playerIdargument, but- playerinstead (@jnszhulze).
- Added videoDimensionStreamandvideoDimensionattributes toPlayerclass to listen to currently playing video dimensions (@alexmercerind).
- Migrated C++ code to use smart pointers instead of raw pointers (@alexmercerind).
- Player.disposeno longer causing crash on Windows (#103) (@alexmercerind).
- Added Add fit and alignment properties to Videowidget (@jnschulze).
0.1.3 #
- Fixed libVLC shared libraries not being copied on Windows (@jnschulze).
0.1.2 #
- Now using flutter::TextureRegistrarfor performantVideoon Windows (#54) (@alexmercerind).
- Fixed autoStartinPlayer.open(@alexmercerind).
- Fixed other crashes for Windows (@alexmercerind).
- Improved stability (@alexmercerind).
0.1.1 #
- Fixed setState being called after dispose (#75) (Finally) (@alexmercerind).
- Improved memory management (@alexmercerind).
- Fixed ton of memory leaks (@alexmercerind).
- Fixed Devices::all&Media::parsecausing crash on Windows (@alexmercerind).
0.1.0 #
- Fixed build on Linux (@alexmercerind).
- Changed cmake minimum required version to 3.10 for fixing use with snap installation (@alexmercerind).
- Fixed vlc header not being located in Flutter on Linux version 2.2.4 (@alexmercerind).
- Fixed few memory leaks (@alexmercerind).
- Fixed calling setState after dispose & other Video widget issues (@alexmercerind).
- Fixed build warnings on Linux (@alexmercerind).
- Changed required CMake version to 3.10 on Linux (@alexmercerind).
0.0.9 #
- Fixed multiple Videowidgets not working after FFI migration (@alexmercerind).
- Now package contains complete libVLC & libVLC++ source inside (@alexmercerind).
- No longer fetching from videoLAN & GitHub servers required (@alexmercerind).
- No more build errors for developers in China (@alexmercerind).
 
- Fixed Player::setPlaylistMode(@alexmercerind).
- Fixed built-in play/pause button in Video widget (@alexmercerind).
- Added back Media.assetfor Flutter (@alexmercerind).
0.0.8 #
- Now using FFI (instead of Platform channels) (@alexmercerind).
- Better performance, being direct C <-> Dart interop with no Flutter involvement.
- Added Equalizerclass (@alexmercerind).
- Support for Dart CLI. See package dart_vlc_ffi(@alexmercerind).
- Added commandlineArgumentstoPlayerconstructor to pass VLC commandline arguments (@alexmercerind).
- BREAKING CHANGES
- Now plugin requires initialization in the mainmethod, callDartVLC.initialize()to instantiate the plugin (@alexmercerind).
- Now all the methods are synchronous & no longer require await. Please update your code (@alexmercerind).
 
- Now plugin requires initialization in the 
0.0.7 #
- Added Player.setUserAgent(@alexmercerind).
- Improved & fixed issues related to play/pause button in Videowidget (@alexmercerind).
- Fixed compilation issues on arch linux (@alexmercerind).
- Fixes to device changing (@alexmercerind).
0.0.6 #
- Now Playerclass has sync constructor & no longer needsPlayer.create(@alexmercerind).
- Fixed memory leak errors on Windows & Linux (@alexmercerind).
- Added controls to Videowidget (@tomassasovsky).
- Added Recordclass for recording media (@DomingoMG).
- Added Chromecastclass (@DomingoMG).
- Fixed Player.setPlaylistModeon Linux (@alexmercerind).
- Event streams inside Playerno longer can benull(@alexmercerind).
0.0.5 #
- Broadcastclass to broadcast a- Media(@alexmercerind).
- Fix to a bug that caused CurrentStateto not update inPlayer(@alexmercerind).
0.0.4 #
- Video- Widgetfor showing video output from a- Playerinside- Widgettree.- Playermust be used as a controller for a- Video(@alexmercerind).
- Initialize PlayerwithvideoHeightandvideoWidthoptional parameters, if you wish to use it for video playback (@alexmercerind).
 
- Null-safety migration (@alexmercerind).
0.0.3 #
- More advanced playlist modification methods like (@alexmercerind):
- addfor appending a new- Mediato the- Playlistof the- Player.
- removefor removing a- Mediafrom the- Playlistof the- Playerfrom certain index.
- insertmethod for inserting- Mediato certain index (@alexmercerind).
- movea- Mediafrom one index to another.
 
- Ability to get all playback Devices on machine & change (@alexmercerind).- Devices.allgives- Listof all- Devices.
- Player.setDevicecan be used to set a playback device for the- Playerinstance (@alexmercerind).
 
- Now event streams are splitted into four: (@alexmercerind)
- 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.networkorMedia.file) (@alexmercerind).- Now you can access metadata of a Mediaby passingparse: truefor parsing the metadata (@alexmercerind).
- Retrieved metadata is stored inside Media.metasasMap<String, String>(@alexmercerind).
 
- Now you can access metadata of a 
0.0.2 #
- Support for Flutter on Linux (@alexmercerind).
- Fixed bug that caused index to not update properly in Playlist, whennextorbackor on completion ofMedia(@alexmercerind).
- Changed default Playervolume to0.5(@alexmercerind).
0.0.1+1 #
- Little left-over changes in the project documentation (@alexmercerind).
0.0.1 #
- Mediaplayback from file.
- Mediaplayback from network.
- Mediaplayback from assets.
- play/- pause/- playOrPause/- stop.
- Multiple Playerinstances.
- Playlist.
- next/- back/- jumpfor 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 in- Playlist.
- medias: List of all opened- Medias.
- media: Currently playing- Media.
- isPlaylist: Whether a single- Mediais loaded or a- Playlist.
 
- Player.positionState- position: Position of currently playing media in- Duration.
- duration: Position of currently playing media in- Duration.
 
- Player.playbackState- isPlaying.
- isSeekable.
- isCompleted.
 
- Player.generalState- volume: Volume of current- Playerinstance.
- rate: Rate of current- Playerinstance.
 
 
- Initial release, worked & documented by @alexmercerind.