Companion

object Companion

Properties

Link copied to clipboard

The VideoSDK account is deactivated, so rooms cannot be joined.

Link copied to clipboard

The VideoSDK account is discontinued; the server sends the specific reason in message.

Link copied to clipboard

Adaptive subscription was disabled while it was already off; nothing changed.

Link copied to clipboard

Adaptive subscription was enabled while it was already on; nothing changed.

Link copied to clipboard

Adaptive subscription is not enabled for this account, so it cannot be turned on.

Link copied to clipboard

Recording, livestream, HLS and similar add-on services are not enabled for this account.

Link copied to clipboard

The API key in the token has been deactivated. Joining fails.

Link copied to clipboard

A request to change the room mode was rejected; the mode is unchanged.

Link copied to clipboard

A request to change the translation language was rejected; the language is unchanged.

Link copied to clipboard

This device cannot decode the codec a remote participant is sending, so their video will not render. Delivered to the receiver; the sender hears about the resulting fallback through onCodecChanged instead.

Link copied to clipboard

The server could not start sending a participant's microphone stream to this device.

Link copied to clipboard

The server could not start sending a participant's camera stream to this device.

Link copied to clipboard

The server could not set up receiving a remote participant's stream, so it will not play.

Link copied to clipboard

A request to turn off another participant's microphone was rejected.

Link copied to clipboard

A request to turn off another participant's camera was rejected.

Link copied to clipboard

The same participant ID joined from another device, so this device is being removed.

Link copied to clipboard

A request to turn on another participant's microphone was rejected.

Link copied to clipboard

A request to turn on another participant's camera was rejected.

Link copied to clipboard

The action does not apply to this target — pausing your own stream, changing quality with no video track, an unknown pin type. The message names the specific case.

Link copied to clipboard

Publishing was attempted from a mode that cannot publish — only Mode.SEND_AND_RECV may send media. Change the mode first with Room.changeMode.

An action was called before the join completed, so it did not run. Wait for RoomEventListener.onRoomJoined.

Link copied to clipboard

The room is already in the state the action asked for, so nothing happened — leaving twice, or asking for the mode already in force. Usually harmless to ignore.

Link copied to clipboard

The microphone track could not be built — most often an audio profile name the SDK does not know. Check the encoderConfig you passed.

Link copied to clipboard

The Bluetooth SCO link would not come up after every retry, so the call is not going through the headset. The SDK stops routing to it and audio falls back, until the headset is disconnected and reconnected. Reported only while a room is active.

Link copied to clipboard

The Bluetooth permission was not granted at startup, so no Bluetooth device appears in the audio device list. Fires once, and only to a room active at that moment — nothing needs re-doing afterwards, because the SDK picks the devices up by itself once the permission is granted.

Link copied to clipboard

Not raised by the Android SDK — a camera fault arrives as one of 3017 to 3027 instead.

Link copied to clipboard

Not raised by the Android SDK — a refused camera arrives as 3017.

Link copied to clipboard

The CAMERA permission is not granted when capture starts, or the system refused the open. Request the permission, then enable the webcam again.

Link copied to clipboard

The camera cannot be reached: the room's media server will not carry video, or the camera list could not be read by Room.changeCam.

Link copied to clipboard

Another app holds the camera, or the device is at its limit for simultaneous camera clients. Nothing the app can do but tell the user and retry.

Link copied to clipboard

No camera matched: either the device exposes none at all, or the camera id does not exist. Room.changeCam reports 3051 for an unknown id instead.

Link copied to clipboard

The camera is switched off by device policy — a managed device or a work profile. Granting the app the CAMERA permission will not help; the policy has to change.

A browser autoplay fault. The Android SDK never raises it.

Link copied to clipboard

Capturing a snapshot of the local participant's video frame failed.

Link copied to clipboard

Not raised by the Android SDK — a failed camera switch arrives as 3051 or 3033.

Link copied to clipboard

The custom audio track handed to the join or to unmuteMic had already ended. The SDK reports it, then opens the microphone from that track's own settings and carries on.

Link copied to clipboard

Not raised by the Android SDK — a disposed custom share track arrives as 3031.

Link copied to clipboard

Not raised by the Android SDK — an ended custom share track arrives as 3031.

Link copied to clipboard

The custom video track handed to the join or to enableCam had already ended. The SDK reports it, then opens the camera from that track's own settings and carries on.

Link copied to clipboard

The request to end the room for everyone was rejected. The room is still running.

Link copied to clipboard

Room.fetchBase64File could not send the request, or the server refused it.

Link copied to clipboard

Room.uploadBase64File could not send the file, or the server refused it.

Link copied to clipboard

Audio capture is not available on this device. Android reports the specific microphone fault instead — 3018, 3022 or 3024.

Link copied to clipboard

Microphone capture was refused. Android reports 3018 instead.

Link copied to clipboard

The room's media server will not carry video, so screen sharing cannot start.

The screen-capture consent could not be used when the share started — it had already been spent, or it expired. Ask for consent again and retry.

Link copied to clipboard

Video capture is not available on this device. Android reports the specific camera fault instead — 3017, 3019, 3021, 3023 or 3026.

Link copied to clipboard

Camera capture was refused. Android reports 3017 or 3019 instead.

Link copied to clipboard

The custom audio track passed in cannot be used, so the SDK falls back to its own microphone track.

Link copied to clipboard

A track factory was given something it does not recognise — an unknown encoder profile name, or a camera or microphone id that matches no device.

Link copied to clipboard

The custom video track passed in cannot be used, so the SDK falls back to its own camera track.

Link copied to clipboard

The requested room mode is not one of Mode. The mode is unchanged.

Link copied to clipboard

A required argument was empty or malformed — a missing token or room ID passed to VideoSDK.createRoom, for example.

Link copied to clipboard

A camera, microphone or screen-share publish ran before the room's media connection was set up, so it did not run. Try again once the room is joined.

Link copied to clipboard

The media layer is still starting up. Try again in a moment.

Link copied to clipboard

The media connection is not up yet, so the action did not run — for Room.send, the data channel had not opened. Try again in a moment.

Link copied to clipboard

Not raised by the Android SDK — a refused microphone arrives as 3018.

The RECORD_AUDIO permission is not granted when the input opens, or the system refused it. Request the permission, then unmute again.

Link copied to clipboard

The microphone cannot be reached: the room's media server will not carry audio, or the microphone list could not be read by Room.changeMic.

Link copied to clipboard

The microphone could not be turned off. It may still be capturing and sending.

Link copied to clipboard

The audio input would not open or would not start recording, almost always because another app holds the microphone.

Link copied to clipboard

The device reports no audio input, so no microphone track can be created.

Link copied to clipboard

The microphone counterpart of 3019. Android reports 3018 or 3024 instead.

Link copied to clipboard

The microphone opened but the server would not accept the audio, so nothing is being sent.

Link copied to clipboard

The microphone input stopped after it had been recording. Unmute again to reopen it.

Link copied to clipboard

Simulcast was asked for with a codec that cannot carry it — AV1, VP9 or H264 — so one layer is sent instead. Video still works; remote participants just cannot switch quality. Use VP8 if you need simulcast.

Link copied to clipboard

No microphone matches the device passed to Room.changeMic. Nothing changes — pick one from VideoSDK.getMics.

Link copied to clipboard

Nothing this device can encode is on the room's codec list, so video cannot be published.

Link copied to clipboard

No camera matches the id passed to Room.changeCam. Nothing changes — take the ids from VideoSDK.getCameras().

Link copied to clipboard

The room closed after the action was accepted but before it reached the server, so it never ran. It does not mean the room was never joined — the action was simply in flight when the session ended.

Link copied to clipboard

The same operation is still in flight — a second unmuteMic() before the first finished, a join() while one is running, a toggle during changeMode(). The first one wins; nothing is queued, so retry after the first finishes if you need both.

Link copied to clipboard

The server did not answer the request before its deadline. Whether it ran is unknown, so read the state back rather than assuming it failed.

Link copied to clipboard

A Room.send payload is over the 15 KiB data-channel limit, so nothing was sent. Split it into smaller messages.

React Native only: camera access refused. Native Android reports 3017.

Link copied to clipboard

React Native only: the camera is unreachable. Native Android reports 3033.

Link copied to clipboard

React Native only: no camera found. Native Android reports 3021 or 3051.

Link copied to clipboard

React Native only: the camera track ended. Native Android reports 3027.

Link copied to clipboard

React Native only: microphone access refused. Native Android reports 3018.

Link copied to clipboard

React Native only: the microphone is unreachable. Native Android reports 3034.

Link copied to clipboard

React Native only: no microphone found. Native Android reports 3022 or 3059.

Link copied to clipboard

React Native only: the microphone track ended. Native Android reports 3028.

Link copied to clipboard

Signalling or media could not be established — usually a firewall or a network that blocks UDP. Worth telling the user to try another network before retrying.

Link copied to clipboard

An action was called while the room was reconnecting. It did not run and is not retried — call it again once RoomEventListener.onRoomStateChanged reports RoomState.CONNECTED.

Link copied to clipboard

Screen sharing could not be stopped. The share may still be running.

Link copied to clipboard

The screen share could not be published to the room.

Link copied to clipboard

A Room.send payload reached the data channel and the transport rejected it. A real fault, so it is announced on onError as well as thrown.

Link copied to clipboard

The webcam quality change was rejected. The camera keeps its current settings.

Link copied to clipboard

The join failed and no more specific cause was available — network unreachable, transport aborted. Retrying is reasonable.

Link copied to clipboard

A requested VideoEffectsConfig.Pipeline.GRAPH pipeline could not start, so video is sent without effects on VideoEffectsConfig.Pipeline.LEGACY. The camera and the call keep running. The message ends with the cause.

Link copied to clipboard

The codec you asked for could not be encoded on this device, so the video you send falls back to VP8. Delivered to the sender; a participant who cannot decode what you send gets CODEC_NOT_SUPPORTED instead.

Link copied to clipboard

The camera is there but could not be brought up: the capture session would not configure, or the camera dropped before the first frame. Retrying usually works.

Link copied to clipboard

The camera track could not be built — most often an encoder profile name the SDK does not know. Check the encoderConfig you passed.

Link copied to clipboard

The camera could not be turned off. It may still be capturing and sending.

Link copied to clipboard

The webcam is off, so there is nothing to act on. Thrown by Room.setWebcamQuality and Participant.captureImage; enable the webcam first.

Link copied to clipboard

The camera opened but the server would not accept the video, so nothing is being sent.

Link copied to clipboard

The camera stopped after it had been streaming — taken by a higher-priority app, unplugged, or disabled by policy. The video track is dead; enable the webcam again to get a new one.

Link copied to clipboard

Reading a value from the realtime store failed; no value was returned.

Link copied to clipboard

Starting to watch a realtime store key for changes failed; no updates will arrive.

Link copied to clipboard

Writing a value to the realtime store failed; the value was not stored.

Link copied to clipboard

Stopping watching a realtime store key failed; updates may keep arriving.

Link copied to clipboard

The HLS stream hit the two-hour per-session limit and was stopped. Start a new one to keep streaming.

Link copied to clipboard

An HLS stream that was already running stopped unexpectedly.

Link copied to clipboard

The API key in the token is missing or not recognised. Joining fails.

Link copied to clipboard

The livestream outputs passed to the start request were rejected as invalid.

Link copied to clipboard

The participant ID is missing or contains characters that are not allowed. Joining fails.

Link copied to clipboard

The permissions encoded in the token are not a valid combination. Joining fails.

Link copied to clipboard

The room ID is missing or not a valid ID. Joining fails.

Link copied to clipboard

The token is missing, malformed, or has expired. Joining fails.

Link copied to clipboard

The livestream hit the two-hour per-session limit and was stopped. Start a new one to keep streaming.

Link copied to clipboard

A livestream that was already running stopped unexpectedly.

Link copied to clipboard

The organization is at its concurrent HLS limit, so HLS cannot start.

The organization is at its concurrent livestream limit, so the livestream cannot start.

Link copied to clipboard

The room is full, so this participant cannot join. The limit is set per account.

The organization is at its concurrent recording limit, so recording cannot start.

The organization is at its limit for participants joining in receive-only mode.

The organization is at its concurrent speaker limit across all rooms.

Link copied to clipboard

The room is already at its speaker limit, so this participant cannot join as a speaker.

Link copied to clipboard

The organization is at its concurrent viewer limit across all rooms.

Link copied to clipboard

A request to pause every incoming stream was rejected; the streams keep playing.

Link copied to clipboard

Pausing a single incoming stream failed; it keeps playing.

Link copied to clipboard

Pinning a participant failed; the pin state is unchanged.

Link copied to clipboard

HLS cannot start yet because the previous HLS session is still being processed.

Link copied to clipboard

Recording cannot start yet because the previous recording is still being processed.

Link copied to clipboard

A livestream cannot start yet because the previous RTMP session is still being processed.

Link copied to clipboard

A published message was not delivered — the server rejected it, or the connection dropped before it was acknowledged. Nobody received it; publish again.

Link copied to clipboard

A topic subscription was rejected, and the listener was unregistered again — no messages will arrive.

Link copied to clipboard

Unsubscribing was rejected by the server, but the listener is already gone locally, so nothing is delivered.

Link copied to clipboard

The recording hit the two-hour per-session limit and was stopped. Start a new one to keep recording.

Link copied to clipboard

A recording that was already running stopped unexpectedly.

Link copied to clipboard

A request to remove a participant was rejected; they remain in the room.

Link copied to clipboard

A request to relay media from another room was rejected; no relay started.

Link copied to clipboard

Allowing or denying a participant's request to enter the room failed.

Link copied to clipboard

Accepting or rejecting an incoming media relay request failed.

Link copied to clipboard

A request to resume every incoming stream was rejected; the streams stay paused.

Link copied to clipboard

Resuming a single incoming stream failed; it stays paused.

Link copied to clipboard

The room ID has been disabled and can no longer be joined.

Link copied to clipboard

A request to change an incoming stream's quality was rejected; the quality is unchanged.

Link copied to clipboard

A server-side failure with no specific code. The message, if there is one, is the only detail.

Link copied to clipboard

A request to start composite recording was rejected.

Link copied to clipboard

A request to start HLS was rejected; HLS did not start.

Link copied to clipboard

A request to start a livestream was rejected; the livestream did not start.

Link copied to clipboard

A request to start recording a single participant was rejected.

Link copied to clipboard

A request to start recording was rejected; recording did not start.

Link copied to clipboard

A request to start recording an individual track was rejected.

Link copied to clipboard

A request to start transcription was rejected; transcription did not start.

Link copied to clipboard

A request to start translation was rejected; translation did not start.

Link copied to clipboard

A request to start the whiteboard was rejected; the whiteboard did not open.

Link copied to clipboard

A request to stop composite recording was rejected.

Link copied to clipboard

The server could not stop sending a participant's microphone stream to this device.

Link copied to clipboard

The server could not stop sending a participant's camera stream to this device.

Link copied to clipboard

A request to stop HLS was rejected; HLS may still be running.

Link copied to clipboard

A request to stop a livestream was rejected; the livestream may still be running.

Link copied to clipboard

A request to stop an active media relay was rejected; it may still be running.

Link copied to clipboard

A request to stop recording a single participant was rejected.

Link copied to clipboard

A request to stop recording was rejected; recording may still be running.

Link copied to clipboard

A request to stop recording an individual track was rejected.

Link copied to clipboard

A request to stop transcription was rejected; transcription may still be running.

Link copied to clipboard

A request to stop translation was rejected; translation may still be running.

Link copied to clipboard

A request to stop the whiteboard was rejected; it may still be open.

Link copied to clipboard

Moving a participant to another room failed; they stay in the current room.

Link copied to clipboard

Switching this participant to another room failed; they stay in the current one.

Link copied to clipboard

A transcription that was already running stopped unexpectedly.

Link copied to clipboard

A translation session that was already running stopped unexpectedly.

Link copied to clipboard

The token is valid but was not issued for this participant ID. Joining fails.

Link copied to clipboard

The request did not satisfy the account's security configuration and was refused.

Link copied to clipboard

The role carried by the token is not permitted to join this room.

Link copied to clipboard

The token is valid but was not issued for this room ID. Joining fails.

Link copied to clipboard

A failure the SDK could not classify. The message, if the server sent one, is the only clue.

Link copied to clipboard

Unpinning a participant failed; the pin state is unchanged.

Link copied to clipboard

A whiteboard start or stop was requested while another one is still running.

Functions

Link copied to clipboard

The catalogue entry for code, or null if this SDK version does not know it — a newer server can send a code this build predates, so handle the null.