voxa_rtc_engine 0.2.6 copy "voxa_rtc_engine: ^0.2.6" to clipboard
voxa_rtc_engine: ^0.2.6 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.6 #

  • Fixed: after switchCamera, the view kept showing the previous camera until the widget was recreated (e.g. leaving and re-entering the screen). A flip restarts the underlying media track in place, so the track object never changes and the renderer had no reason to rebind. AgoraVideoView now keys its renderer on the underlying media track, and a flip notifies the view layer.

0.2.5 #

  • Fixed: onAudioVolumeIndication reported volumes far too low, so speaking indicators / mic-wave UIs never lit up. The media engine's audio level is linear amplitude derived from dBov, so ordinary speech landed near 8 on Agora's 0–255 scale; apps typically treat "> 30" as speaking and Agora itself reports ~100–200 for speech. Volumes are now mapped through dB, putting speech in Agora's usual range and silence at 0.
  • Fixed: switchCamera did nothing on a pre-join preview. It targeted only published tracks, so flipping the camera on a "go live" preview screen was a silent no-op. It now also targets the preview track, and never targets a screen-share publication.

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
130
points
0
downloads

Documentation

API reference

Publisher

unverified uploader

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)

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