Skip to main content

voxera_room_core 1.1.1 copy "voxera_room_core: ^1.1.1" to clipboard
voxera_room_core: ^1.1.1 copied to clipboard

PlatformAndroid

Shared models, policies and helpers for the Voxera audio and live room kits. Apps use it through voxera_audio_room_kit or voxera_live_room_kit, which re-export its public API.

1.1.1 #

  • Error links and the package homepage point to voxerastream.com. The old voxera.app address does not belong to these docs.
  • Requires voxera_media_client ^1.6.1.

1.1.0 #

  • Error codes. VoxeraError is an error with a code from the Voxera error table, plus message, httpStatus, requestId, retryAfter, retryable, cause and docsUrl (https://voxera.app/docs/errors/<code>). VoxeraError.from converts network, engine, media and device-permission errors; VoxeraError.fromHttp reads an engine response's status_code.
  • VoxeraErrorCode: the table, generated from errors/catalog.json by dart run tool/generate_errors.dart, which also writes the docs page doc/errors.md. Engine codes 40001 to 50303 are the engine's own; 6xxxx codes are raised in the app: network (600xx), token (610xx), media connection (620xx), devices and permissions (630xx), effects (660xx). A code is never reused.
  • VoxeraErrors: report prints one line with the code and link (printToConsole) and adds the error to stream; note keeps a failed request until a message announces it; withCode and textWithCode append the code to a message (showCodesInUi).
  • The token exceptions extend VoxeraError. VoxeraJoinFailure.classify treats any coded error that no retry can fix as unavailable (a wrong app key used to be transient).

1.0.0 #

  • First release. Holds the code the audio and live room kits shared as two copies: connection state, reconnect policy and handler, session resume, connect budget, RTT probe, device id, MOS, mute strategy, token response and refresher, the token and ban exceptions, VoxeraJoinFailure, VoxeraDataFrame, the message batcher, room music and the room message channel. Both kits re-export the public API, so an app that uses one kit sees the same names, and an app that uses both gets one type for each instead of two.
  • VoxeraRoomSession: the interface both kits' VoxeraRoomController implement (connection state, music, data frames, admin unmute, noise cancellation, local identity and seat, host check, minimize, PiP, leave, dispose). VoxeraRoomSession.active is the room the user is in, from either kit.
  • One VoxeraMiniOverlayMachine for both kits. It records which room is minimized (minimizedSession), and a controller's minimize.isMinimizing is true only for that room. Another room's dismiss, close or leave no longer hides its floating window, and only one room can be minimized at a time.
  • VoxeraMiniOverlayHost(builder:): one widget at the app root that shows whichever room is minimized; builder replaces the window for the rooms it returns a widget for.
  • The minimize and PiP controllers, VoxeraMinimizeData, VoxeraMinimizeOptions (implemented by each kit's VoxeraMinimizeConfig), VoxeraSessionPrefetch (each kit's VoxeraRoomPrefetch) and VoxeraNoiseCancellation.
  • VoxeraVideoEffectsPlugin and VoxeraVideoEffectsHost: a video-effects provider (DeepAR, Snap, ...) the live kit runs from VoxeraLiveRoomConfig.effects. The kit picks the first plug-in that handles the session, attaches its processor to the camera, reports DeepAR status, and calls release when the room ends, unless a newer room took the plug-in over. VoxeraVideoEffectsContext and VoxeraDeviceClass moved here from the live kit, which re-exports them.
0
likes
150
points
34
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Shared models, policies and helpers for the Voxera audio and live room kits. Apps use it through voxera_audio_room_kit or voxera_live_room_kit, which re-export its public API.

Homepage

License

MIT (license)

Dependencies

dio, floating, flutter, flutter_webrtc, shared_preferences, voxera_media_client

More

Packages that depend on voxera_room_core