livekit_client 2.3.0 copy "livekit_client: ^2.3.0" to clipboard
livekit_client: ^2.3.0 copied to clipboard

Flutter Client SDK for LiveKit. Build real-time video and audio into your apps. Supports iOS, Android, and Web.

179
likes
150/ 160
pub points
96%
popularity

We analyzed this package 2 days ago, and awarded it 150 pub points (of a possible 160):

OK
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: Apache-2.0.

OK
Provide documentation
20 / 20trigger folding of the section

10/10 points: 20% or more of the public API has dartdoc comments

290 out of 843 API elements (34.4 %) have documentation comments.

Some symbols that are missing documentation: livekit_client.ActiveSpeakersChangedEvent.speakers, livekit_client.AudioCaptureOptions.copyWith, livekit_client.AudioCaptureOptions.toMediaConstraintsMap, livekit_client.AudioOutputOptions, livekit_client.AudioOutputOptions.AudioOutputOptions.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ macOS

  • ✓ Web

These platforms are not supported:

Package does not support platform `Linux`.

Because:

  • package:livekit_client/livekit_client.dart that declares support for platforms: Android, iOS, Windows, macOS, Web.

These issues are present but do not affect the score, because they may not originate in your package:

Package does not support platform `Android`.

Because:

  • package:livekit_client/livekit_client.dart that imports:
  • package:livekit_client/src/widgets/video_track_renderer.dart that imports:
  • package:livekit_client/src/types/other.dart that imports:
  • package:livekit_client/src/participant/participant.dart that imports:
  • package:livekit_client/src/utils.dart that imports:
  • package:livekit_client/src/track/local/video.dart that imports:
  • package:livekit_client/src/track/local/local.dart that imports:
  • package:livekit_client/src/track/local/audio.dart that imports:
  • package:livekit_client/src/track/audio_management.dart that imports:
  • package:livekit_client/src/track/remote/remote.dart that imports:
  • package:livekit_client/src/track/track.dart that imports:
  • package:livekit_client/src/support/disposable.dart that imports:
  • package:livekit_client/src/extensions.dart that imports:
  • package:livekit_client/src/options.dart that imports:
  • package:livekit_client/src/publication/remote.dart that imports:
  • package:livekit_client/src/publication/track_publication.dart that imports:
  • package:livekit_client/src/internal/events.dart that imports:
  • package:livekit_client/src/events.dart that imports:
  • package:livekit_client/src/publication/local.dart that imports:
  • package:livekit_client/src/participant/local.dart that imports:
  • package:livekit_client/src/core/signal_client.dart that imports:
  • package:connectivity_plus/connectivity_plus.dart that imports:
  • package:connectivity_plus/src/connectivity_plus_linux.dart that imports:
  • package:nm/nm.dart that declares support for platforms: Linux.
Package does not support platform `iOS`.

Because:

  • package:livekit_client/livekit_client.dart that imports:
  • package:livekit_client/src/widgets/video_track_renderer.dart that imports:
  • package:livekit_client/src/types/other.dart that imports:
  • package:livekit_client/src/participant/participant.dart that imports:
  • package:livekit_client/src/utils.dart that imports:
  • package:livekit_client/src/track/local/video.dart that imports:
  • package:livekit_client/src/track/local/local.dart that imports:
  • package:livekit_client/src/track/local/audio.dart that imports:
  • package:livekit_client/src/track/audio_management.dart that imports:
  • package:livekit_client/src/track/remote/remote.dart that imports:
  • package:livekit_client/src/track/track.dart that imports:
  • package:livekit_client/src/support/disposable.dart that imports:
  • package:livekit_client/src/extensions.dart that imports:
  • package:livekit_client/src/options.dart that imports:
  • package:livekit_client/src/publication/remote.dart that imports:
  • package:livekit_client/src/publication/track_publication.dart that imports:
  • package:livekit_client/src/internal/events.dart that imports:
  • package:livekit_client/src/events.dart that imports:
  • package:livekit_client/src/publication/local.dart that imports:
  • package:livekit_client/src/participant/local.dart that imports:
  • package:livekit_client/src/core/signal_client.dart that imports:
  • package:connectivity_plus/connectivity_plus.dart that imports:
  • package:connectivity_plus/src/connectivity_plus_linux.dart that imports:
  • package:nm/nm.dart that declares support for platforms: Linux.
Package does not support platform `Windows`.

Because:

  • package:livekit_client/livekit_client.dart that imports:
  • package:livekit_client/src/widgets/video_track_renderer.dart that imports:
  • package:livekit_client/src/types/other.dart that imports:
  • package:livekit_client/src/participant/participant.dart that imports:
  • package:livekit_client/src/utils.dart that imports:
  • package:livekit_client/src/track/local/video.dart that imports:
  • package:livekit_client/src/track/local/local.dart that imports:
  • package:livekit_client/src/track/local/audio.dart that imports:
  • package:livekit_client/src/track/audio_management.dart that imports:
  • package:livekit_client/src/track/remote/remote.dart that imports:
  • package:livekit_client/src/track/track.dart that imports:
  • package:livekit_client/src/support/disposable.dart that imports:
  • package:livekit_client/src/extensions.dart that imports:
  • package:livekit_client/src/options.dart that imports:
  • package:livekit_client/src/publication/remote.dart that imports:
  • package:livekit_client/src/publication/track_publication.dart that imports:
  • package:livekit_client/src/internal/events.dart that imports:
  • package:livekit_client/src/events.dart that imports:
  • package:livekit_client/src/publication/local.dart that imports:
  • package:livekit_client/src/participant/local.dart that imports:
  • package:livekit_client/src/core/signal_client.dart that imports:
  • package:connectivity_plus/connectivity_plus.dart that imports:
  • package:connectivity_plus/src/connectivity_plus_linux.dart that imports:
  • package:nm/nm.dart that declares support for platforms: Linux.
Package does not support platform `macOS`.

Because:

  • package:livekit_client/livekit_client.dart that imports:
  • package:livekit_client/src/widgets/video_track_renderer.dart that imports:
  • package:livekit_client/src/types/other.dart that imports:
  • package:livekit_client/src/participant/participant.dart that imports:
  • package:livekit_client/src/utils.dart that imports:
  • package:livekit_client/src/track/local/video.dart that imports:
  • package:livekit_client/src/track/local/local.dart that imports:
  • package:livekit_client/src/track/local/audio.dart that imports:
  • package:livekit_client/src/track/audio_management.dart that imports:
  • package:livekit_client/src/track/remote/remote.dart that imports:
  • package:livekit_client/src/track/track.dart that imports:
  • package:livekit_client/src/support/disposable.dart that imports:
  • package:livekit_client/src/extensions.dart that imports:
  • package:livekit_client/src/options.dart that imports:
  • package:livekit_client/src/publication/remote.dart that imports:
  • package:livekit_client/src/publication/track_publication.dart that imports:
  • package:livekit_client/src/internal/events.dart that imports:
  • package:livekit_client/src/events.dart that imports:
  • package:livekit_client/src/publication/local.dart that imports:
  • package:livekit_client/src/participant/local.dart that imports:
  • package:livekit_client/src/core/signal_client.dart that imports:
  • package:connectivity_plus/connectivity_plus.dart that imports:
  • package:connectivity_plus/src/connectivity_plus_linux.dart that imports:
  • package:nm/nm.dart that declares support for platforms: Linux.
Package does not support platform `Web`.

Because:

  • package:livekit_client/livekit_client.dart that imports:
  • package:livekit_client/src/widgets/video_track_renderer.dart that imports:
  • package:livekit_client/src/types/other.dart that imports:
  • package:livekit_client/src/participant/participant.dart that imports:
  • package:livekit_client/src/utils.dart that imports:
  • package:livekit_client/src/types/video_parameters.dart that imports:
  • package:livekit_client/src/types/video_encoding.dart that imports:
  • package:flutter_webrtc/flutter_webrtc.dart that declares support for platforms: Android, iOS, Windows, Linux, macOS.

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:livekit_client/livekit_client.dart that imports:
  • package:livekit_client/src/widgets/video_track_renderer.dart that imports:
  • package:livekit_client/src/types/other.dart that imports:
  • package:livekit_client/src/participant/participant.dart that imports:
  • package:livekit_client/src/utils.dart that imports:
  • package:livekit_client/src/types/video_parameters.dart that imports:
  • package:livekit_client/src/types/video_encoding.dart that imports:
  • package:flutter_webrtc/flutter_webrtc.dart that imports:
  • package:flutter_webrtc/src/native/rtc_video_platform_view.dart that imports:
  • package:flutter_webrtc/src/native/rtc_video_platform_view_controller.dart that imports:
  • package:flutter_webrtc/src/native/utils.dart that imports:
  • dart:io

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

0/0 points: Swift Package Manager support

Package does not support the Swift Package Manager on macOS

It does not contain macos/livekit_client/Package.swift.

This package for iOS or macOS does not support the Swift Package Manager. It will not receive full points in a future version of the scoring model.

See https://docs.flutter.dev/to/spm for details.

partial
Pass static analysis
40 / 50trigger folding of the section

40/50 points: code has no errors, warnings, lints, or formatting issues

Found 13 issues. Showing the first 2:

INFO: The referenced identifier is a wildcard.

lib/src/core/engine.dart:541:65

    ╷
541 │       logger.severe('[$objectId] createDataChannel() did throw $_');
    │                                                                 ^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/core/engine.dart

INFO: The referenced identifier is a wildcard.

lib/src/core/engine.dart:558:65

    ╷
558 │       logger.severe('[$objectId] createDataChannel() did throw $_');
    │                                                                 ^
    ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/core/engine.dart

OK
Support up-to-date dependencies
40 / 40trigger folding of the section

10/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
async ^2.9.0 2.12.0 2.12.0
collection >=1.16.0 1.18.0 1.19.1
connectivity_plus ^6.0.2 6.1.0 6.1.0
dart_webrtc ^1.4.9 1.4.9 1.4.9
device_info_plus >=8.0.0 11.1.1 11.1.1
fixnum ^1.0.1 1.1.1 1.1.1
flutter flutter 0.0.0 0.0.0
flutter_web_plugins flutter 0.0.0 0.0.0
flutter_webrtc ^0.12.1 0.12.1+hotfix.1 0.12.1+hotfix.1
http >=0.13.0 1.2.2 1.2.2
js >=0.6.4 0.7.1 0.7.1
logging ^1.1.0 1.3.0 1.3.0
meta ^1.8.0 1.15.0 1.16.0
platform_detect ^2.0.7 2.1.0 2.1.0
protobuf ^3.0.0 3.1.0 3.1.0
sdp_transform ^0.3.2 0.3.2 0.3.2
synchronized ^3.0.0+3 3.3.0+3 3.3.0+3
uuid >=3.0.6 4.5.1 4.5.1
web ^1.0.0 1.1.0 1.1.0
Transitive dependencies
Package Constraint Compatible Latest
args - 2.6.0 2.6.0
characters - 1.3.0 1.3.1
connectivity_plus_platform_interface - 2.0.1 2.0.1
crypto - 3.0.6 3.0.6
dbus - 0.7.10 0.7.10
device_info_plus_platform_interface - 7.0.1 7.0.1
ffi - 2.1.3 2.1.3
file - 7.0.1 7.0.1
http_parser - 4.0.2 4.1.1
material_color_utilities - 0.11.1 0.12.0
nm - 0.5.0 0.5.0
path - 1.9.1 1.9.1
path_provider - 2.1.5 2.1.5
path_provider_android - 2.2.12 2.2.12
path_provider_foundation - 2.4.0 2.4.0
path_provider_linux - 2.2.1 2.2.1
path_provider_platform_interface - 2.1.2 2.1.2
path_provider_windows - 2.3.0 2.3.0
petitparser - 6.0.2 6.0.2
platform - 3.1.6 3.1.6
plugin_platform_interface - 2.1.8 2.1.8
pub_semver - 2.1.4 2.1.4
sky_engine - 0.0.99 0.0.99
source_span - 1.10.0 1.10.0
sprintf - 7.0.0 7.0.0
string_scanner - 1.4.0 1.4.0
term_glyph - 1.2.1 1.2.1
typed_data - 1.4.0 1.4.0
vector_math - 2.1.4 2.1.4
webrtc_interface - 1.2.0 1.2.0
win32 - 5.8.0 5.8.0
win32_registry - 1.1.5 2.0.0
xdg_directories - 1.1.0 1.1.0
xml - 6.5.0 6.5.0

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

10/10 points: Package supports latest stable Dart and Flutter SDKs

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.15, Flutter 3.24.5, Dart 3.5.4.

Check the analysis log for details.