voxa_rtc_engine 0.2.4 copy "voxa_rtc_engine: ^0.2.4" to clipboard
voxa_rtc_engine: ^0.2.4 copied to clipboard

Drop-in, Agora-API-compatible RTC SDK for Flutter on self-hosted infrastructure: same classes, signatures, error codes, and callback ordering as agora_rtc_engine 6.x, over a LiveKit-based media engine.

0.2.4 #

  • Fixed: apps whose token server mints legacy 006 tokens could not connect (404 page not found, errJoinChannelRejected). The transport decided whether to exchange a token at the Compat Gateway by checking for a 007 prefix, so 006 tokens skipped the exchange and LiveKit signaling was sent straight at the gateway. The decision now keys on the configured server URL: http(s):// is a gateway (exchange), ws(s):// is a media server (connect directly) — token-format agnostic.

0.2.3 #

  • Fixed: AgoraVideoView could stay black forever. Views built before joinChannel (preview tiles, seat widgets) subscribed to the transport's event stream, which does not exist yet at that point — so they never learned their track had arrived. Apps that cache their VideoViewControllers (the documented Agora pattern) never rebuilt, and the view stayed on its black placeholder. The engine now owns a long-lived event stream that exists before join and survives leave/rejoin, and views also refresh on remote track subscribe and participant join/leave.

0.2.2 #

  • Android module is Java-only with no Kotlin plugin on the Gradle classpath. 0.2.1 pinned a kotlin-gradle-plugin version, which overrode the host app's Kotlin version and broke other plugins (e.g. wakelock_plus) at compile time.

0.2.1 #

  • Fixed: camera/mic permission dialogs never appeared on Android. The package now ships an Android module whose manifest declares the RTC permissions (CAMERA, RECORD_AUDIO, MODIFY_AUDIO_SETTINGS, INTERNET, ACCESS_NETWORK_STATE, Bluetooth), mirroring what agora_rtc_engine contributes. Apps migrating from Agora often relied on that manifest merge and had no CAMERA entry of their own; Android denies undeclared permissions silently, so no dialog was shown. Deliberately not declared: READ_PHONE_STATE and ACCESS_WIFI_STATE (Agora declares both; neither is needed here, and READ_PHONE_STATE requires a Play Store declaration form).

0.2.0 #

  • updateChannelMediaOptions — change role and publish state mid-session (the modern 6.x alternative to setClientRole). Behavior golden-recorded from the live Agora service: a role change fires onClientRoleChanged; publish-flag-only updates are silent.
  • muteAllRemoteAudioStreams / muteAllRemoteVideoStreams — apply to current participants and to peers who join later.
  • autoSubscribeAudio / autoSubscribeVideo in ChannelMediaOptions now drive remote subscriptions.
  • Behavioral parity: 8/8 golden transcript scenarios.

0.1.1 #

  • Rewrote the package README for pub.dev: migration guide, quickstart, implemented-surface overview, platform matrix, backend requirements.
  • Clarified the package description.

0.1.0 #

Initial development release.

  • Complete agora_rtc_engine 6.6.3 public API surface (import-only migration).
  • Tier-1 + Tier-2 implemented over a LiveKit-based media engine: channel lifecycle, mute/roles/camera/routing, rendering, reconnection, token lifecycle, volume indication, encoder configuration, dual-stream, screen share, pre-join preview, in-call stats.
  • Behavioral parity verified against recordings from production Agora (7/7 golden transcript scenarios).
  • Unsupported APIs fail gracefully with AgoraRtcException(-4).
0
likes
0
points
47
downloads

Publisher

verified publisherzamansheikh.com

Weekly Downloads

Drop-in, Agora-API-compatible RTC SDK for Flutter on self-hosted infrastructure: same classes, signatures, error codes, and callback ordering as agora_rtc_engine 6.x, over a LiveKit-based media engine.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

async, flutter, http, json_annotation, livekit_client, meta

More

Packages that depend on voxa_rtc_engine

Packages that implement voxa_rtc_engine