voxera_room_core 1.1.1
voxera_room_core: ^1.1.1 copied to clipboard
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 oldvoxera.appaddress does not belong to these docs. - Requires
voxera_media_client ^1.6.1.
1.1.0 #
- Error codes.
VoxeraErroris an error with acodefrom the Voxera error table, plusmessage,httpStatus,requestId,retryAfter,retryable,causeanddocsUrl(https://voxera.app/docs/errors/<code>).VoxeraError.fromconverts network, engine, media and device-permission errors;VoxeraError.fromHttpreads an engine response'sstatus_code. VoxeraErrorCode: the table, generated fromerrors/catalog.jsonbydart run tool/generate_errors.dart, which also writes the docs pagedoc/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:reportprints one line with the code and link (printToConsole) and adds the error tostream;notekeeps a failed request until a message announces it;withCodeandtextWithCodeappend the code to a message (showCodesInUi).- The token exceptions extend
VoxeraError.VoxeraJoinFailure.classifytreats any coded error that no retry can fix asunavailable(a wrong app key used to betransient).
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'VoxeraRoomControllerimplement (connection state, music, data frames, admin unmute, noise cancellation, local identity and seat, host check, minimize, PiP, leave, dispose).VoxeraRoomSession.activeis the room the user is in, from either kit.- One
VoxeraMiniOverlayMachinefor both kits. It records which room is minimized (minimizedSession), and a controller'sminimize.isMinimizingis true only for that room. Another room'sdismiss,closeorleaveno 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;builderreplaces the window for the rooms it returns a widget for.- The minimize and PiP controllers,
VoxeraMinimizeData,VoxeraMinimizeOptions(implemented by each kit'sVoxeraMinimizeConfig),VoxeraSessionPrefetch(each kit'sVoxeraRoomPrefetch) andVoxeraNoiseCancellation. VoxeraVideoEffectsPluginandVoxeraVideoEffectsHost: a video-effects provider (DeepAR, Snap, ...) the live kit runs fromVoxeraLiveRoomConfig.effects. The kit picks the first plug-in thathandlesthe session, attaches its processor to the camera, reports DeepAR status, and callsreleasewhen the room ends, unless a newer room took the plug-in over.VoxeraVideoEffectsContextandVoxeraDeviceClassmoved here from the live kit, which re-exports them.