VideoSDKError

Catalogue of the SDK's error codes. Each constant is the single source for one error: code is its numeric value, name is the constant's own name, and message is the text used when the server does not send a more specific one.

These are the codes delivered to onError; getErrorCodes returns the whole catalogue as a name-to-code map.

Entries

A meeting action was called before the meeting finished joining, or after it left or failed. The action did not run. The delivered message names the method that was rejected; the text below is the fallback when no method name is available.

Link copied to clipboard

The camera could not be opened when starting video capture, so no camera track was produced.

Link copied to clipboard

An audio track was requested without the RECORD_AUDIO permission granted.

Link copied to clipboard

A video track was requested without the CAMERA permission granted.

Link copied to clipboard

Screen share was started with a custom track whose state is already ended.

Link copied to clipboard

Screen share was started with a custom track that has already been disposed.

Link copied to clipboard

Switching between the front and back camera failed; the previous camera stays in use.

Link copied to clipboard

The video you are sending fell back to VP8 because the requested codec could not be produced on this device — unavailable, or the hardware encoder failed repeatedly. Sent to the device doing the sending; a remote participant who cannot decode instead gets CODEC_NOT_SUPPORTED on theirs.

Link copied to clipboard

Multi-stream was requested with AV1, VP9 or H264; the SDK sends a single layer instead.

Link copied to clipboard

Audio could not be routed to the connected Bluetooth device after repeated attempts.

Link copied to clipboard

Bluetooth permission was not granted at startup, so Bluetooth devices are unavailable. Fires once; the SDK picks them up automatically if the permission is granted later.

Link copied to clipboard

The server configuration could not be fetched during join, so the meeting cannot start. The message carries the underlying cause when one is available.

Link copied to clipboard

A pubsub call was made while the pubsub connection was between an unexpected close and its reconnect. The call also throws an IllegalStateException on the calling thread; nothing is sent or registered.

Link copied to clipboard

A meeting action was called while the meeting was reconnecting. The action did not run and is not retried automatically; call it again once onMeetingStateChanged reports CONNECTED.

Link copied to clipboard

The meeting was left, ended or torn down after the action was accepted but before it reached the server, so it never ran. Not a sign the meeting was never joined — the action was simply in flight when the session closed.

Link copied to clipboard

The meeting is already in the state the action asked for, so it did nothing — calling leave() a second time, for example.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

The meeting is already at its participant limit, so this participant cannot join.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

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

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

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

Link copied to clipboard

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

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

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

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

Link copied to clipboard

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

Link copied to clipboard

A request to start recording a single participant was rejected.

Link copied to clipboard

A request to stop recording a single participant was rejected.

Link copied to clipboard

A request to start recording an individual track was rejected.

Link copied to clipboard

A request to stop recording an individual track was rejected.

Link copied to clipboard

A request to start composite recording was rejected.

Link copied to clipboard

A request to stop composite recording was rejected.

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

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

This device cannot decode the video codec a remote participant is sending. Delivered to the receiving device; the sender is told about the resulting fallback through onCodecChanged instead.

Link copied to clipboard

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

Link copied to clipboard

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

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 the whiteboard was rejected; it may still be open.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

A request to turn off 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

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

Link copied to clipboard

Pinning a participant failed; the pin state is unchanged.

Link copied to clipboard

Unpinning a participant failed; the pin state is unchanged.

Link copied to clipboard

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

Link copied to clipboard

Pausing a single incoming stream failed; it keeps playing.

Link copied to clipboard

Resuming a single incoming stream failed; it stays paused.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

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

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 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

Accepting or rejecting an incoming media relay request failed.

Link copied to clipboard

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

Link copied to clipboard

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

Link copied to clipboard

A published message was not delivered — the server rejected it, or the pubsub connection dropped before it was acknowledged.

Link copied to clipboard

A topic subscription was rejected. The listener is unregistered again, so no messages arrive for it.

Link copied to clipboard

Unsubscribing from a topic was rejected; the listener is still removed locally.

Link copied to clipboard

A recording that was already running stopped unexpectedly.

Link copied to clipboard

A livestream that was already running stopped unexpectedly.

Link copied to clipboard

An HLS stream that was already running stopped unexpectedly.

Link copied to clipboard

The recording hit the two-hour per-session limit and was stopped automatically.

Link copied to clipboard

The livestream hit the two-hour per-session limit and was stopped automatically.

Link copied to clipboard

The HLS stream hit the two-hour per-session limit and was stopped automatically.

Link copied to clipboard

A transcription that was already running stopped unexpectedly.

Properties

Link copied to clipboard
val code: Int
Link copied to clipboard

Functions

Link copied to clipboard
Null for unknown codes.
Link copied to clipboard
The constant's own name, emitted as the payload's name field.
Link copied to clipboard
Fresh {code, name, message} payload each call, so emit sites may safely override fields.