dart_vlc

Flutter bindings to libVLC.

LGPL-2.1 License

Stars
503

Bot releases are hidden (Show)

dart_vlc - v0.4.0 Intermediate Step Latest Release

Published by alexmercerind almost 2 years ago

  • Bumped ffi to 2.0.1.
  • Fixed locking of VLC::MediaList during modification.
  • Upgraded libVLC to 3.0.17.4.
  • BREAKING CHANGE: Discontinued NativeVideo implementation for Windows.
dart_vlc - v0.2.1 Steady Progress

Published by alexmercerind over 2 years ago

  • Fixed switch case directShow control (@Paradoxu).
  • Addressed few issues related to NativeVideo on Windows (@alexmercerind).
  • Fixed Bump flutter_native_view and window_manager to latest versions (@ashutosh2014, @alexmercerind).

BREAKING CHANGE

If you're using NativeVideo in your application, you'll need changes in your windows/runner/main.cpp file, as required by the flutter_native_view. Learn more about this here.

dart_vlc - v0.2.0 Movin' On

Published by alexmercerind over 2 years ago

This new release of dart_vlc includes:

  • Addressed multiple Dart-sided memory leaks during FFI interop (@alexmercerind).
  • Introduce NativeVideo for 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 Video rendering when explicit VideoDimensions are passed (@alexmercerind).
  • Expose Player::SetHWND (@alexmercerind).
  • Added showFullscreenButton to Video widget (disabled by default) (@alexmercerind).
dart_vlc - v0.1.8 Improving Over Time

Published by alexmercerind about 3 years ago

This new release of dart_vlc includes:

  • Added startTime and stopTime parameters to Media for clipping (@alexmercerind). (#126)
  • Added Player.bufferingProgress & Player.bufferingProgressStream to listen to buffering percentage of the player (@alexmercerind). (#162)
  • Video widget no longer turns black after being scrolled out of the view (@alexmercerind). (#142)
  • Now Linux uses texture registrar API for performant video playback (@alexmercerind) (💥 REQUIRES Flutter master channel presently).
  • Now macOS uses texture registrar API for performant video playback (@jnschulze).
  • Initial work on iOS support has been started (@krjw-eyev).
dart_vlc - v0.1.7 More Mending

Published by alexmercerind about 3 years ago

This new release of dart_vlc includes:

  • Fixed Player.open (OnOpen event) randomly causing crash in release mode on Windows. (#124 & #136)
  • Using constant frame buffer size until #137 is resolved.
dart_vlc - v0.1.6 Let's Go

Published by alexmercerind about 3 years ago

This new release of dart_vlc includes:

  • A hotfix update to fix a critical bug.
  • Fixed a critical bug that resulted in a crash upon opening more than one Media in Playlist (apologies).
  • Implemented media and playlist equality operators. (Thanks to @jnschulze).
  • Added Player.takeSnapshot to save snapshot of a playing video.
dart_vlc - v0.1.5 Apples & Fixes

Published by alexmercerind about 3 years ago

This new release of dart_vlc fixes & adds:

  • 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 playback on Windows. (Thanks to @jnschulze).
  • Setup garbage cleaning finalizers for memory allocated on heap (for C++/Dart FFI communication).
  • Removed deprecated libVLC API calls.
dart_vlc - v0.1.4 Going Better

Published by alexmercerind about 3 years ago

This new release of dart_vlc adds & fixes:

  • Now Player no longer requires videoWidth & 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 instantiating Player class.
  • Video widget no longer asks for playerId argument, but player instead.
  • Added videoDimensionStream and videoDimension attributes to Player 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).
dart_vlc - v0.1.3 Build fix

Published by alexmercerind about 3 years ago

This new release of dart_vlc fixes:

  • Fixed libVLC shared libraries not being copied on Windows (#98) (thanks to @jnschulze).
dart_vlc - v0.1.2 Windows improvements

Published by alexmercerind about 3 years ago

This new release of dart_vlc fixes & adds:

  • Now using flutter::TextureRegistrar for performant Video playback on Windows. (#54) (Thanks to @jnschulze).
  • Fixed autoStart in Player.open.
  • Fixed other crashes for Windows.
  • Improved stability.
dart_vlc - v0.1.1 Improved safety

Published by alexmercerind about 3 years ago

This new release of dart_vlc fixes & adds:

  • 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.

dart_vlc - v0.1.0 More Updates

Published by alexmercerind about 3 years ago

This new release of dart_vlc fixes:

  • Fixed build on Linux. (#83)
  • Changed cmake minimum required version to 3.10 for fixing use with snap installation. (#71 #81)
  • Fixed few memory leaks. (#80)
  • Fixed calling setState after dispose & other Video widget issues. (#69 #75)
dart_vlc - v0.0.9 Few Addresses

Published by alexmercerind over 3 years ago

This new release of dart_vlc fixes following issues:

  • Fixed multiple Video widgets not working after FFI migration. (No playerId was being sent along frame buffer through NativePort)
  • 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.
dart_vlc - v0.0.8 Back Again

Published by alexmercerind over 3 years ago

This release of dart_vlc adds:

  • 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 to Player constructor to pass VLC commandline arguments.
  • BREAKING CHANGES
    • Now plugin requires initialization in the main method, call DartVLC.initialize() to instantiate the plugin.
    • Now all the methods are synchronous & no longer require await. Please update your code.

A lot of code has been refactored & complete functionality is nearly written from scratch, there can be many issues. Feel free to report.

Thankyou.

dart_vlc - v.0.0.7 Little More

Published by alexmercerind over 3 years ago

This new release of dart_vlc adds:

  • Added Player.setUserAgent.
  • Improved & fixed issues related to play/pause button in Video widget.
  • Fixed compilation issues on arch linux.
  • Fixes to device changing.
dart_vlc - v0.0.6 Safer & Better

Published by alexmercerind over 3 years ago

This new release of dart_vlc adds:

  • Now Player class has sync constructor & no longer needs Player.create.
  • Fixed memory leaks 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 be null.
dart_vlc - v0.0.5 Little Jump

Published by alexmercerind over 3 years ago

This new release of dart_vlc adds:

  • Broadcast class to broadcast a Media.
  • Fix to a bug that caused CurrentState to not update in Player.
dart_vlc - v0.0.4 Keeping It Safe

Published by alexmercerind over 3 years ago

This new release of dart_vlc adds:

  • Video Widget for showing video output from a Player inside Widget tree.
    • Player must be used as a controller for a Video.
    • Initialize Player with videoHeight and videoWidth optional parameters, if you wish to use it for video playback.
  • Null-safety migration.
dart_vlc - v0.0.3 More Things

Published by alexmercerind over 3 years ago

This new release of dart_vlc adds:

  • More advanced playlist modification methods like:
    • add for appending a new Media to the Playlist of the Player.
    • remove for removing a Media from the Playlist of the Player from certain index.
    • insert method for inserting Media to certain index.
    • move a Media from one index to another.
  • Ability to get all playback Devices on machine & change.
    • Devices.all gives List of all Devices.
    • Player.setDevice can be used to set a playback device for the Player instance.
  • Ability to retrieve metadata of a Media (either from Media.network or Media.file).
    • Now you can access metadata of a Media by passing parse: true for parsing the metadata.
    • Retrieved metadata is stored inside Media.metas as Map<String, String>.
  • Now event streams are splitted into four:
    • Player.currentStream
      • Contains:
        • index
        • media
        • medias
        • isPlaylist
    • Player.positionStream
      • Contains:
        • position
        • duration
    • Player.playbackStream
      • Contains:
        • isPlaying
        • isSeekable
        • isCompleted
    • Player.generalStream
      • Contains:
        • volume
        • rate
  • Thanks to @DomingoMG for thorough testing.
dart_vlc - v0.0.2 Save The Penguins

Published by alexmercerind over 3 years ago

This new release of dart_vlc adds:

  • Support for Flutter on Linux.
  • Fixed bug that caused index to not update properly in Playlist, when next or back or on completion of Media.
  • Changed default Player volume to 0.5.