Skip to main content
Version: 5.x.x

Error Event - Flutter

This event is helpful for development level troubleshooting while integrating SDK.

Whenever any invalid configuration provided or server/network errors arise, this event will trigger with a specific error code and message.

This event can ease your development process.

We have depicted a specific error name with code and message in the below table.

Error NameCodeMessage
INVALID_API_KEY4001apikey provided in the token is empty or invalid, please verify it on the dashboard.
INVALID_TOKEN4002token is empty or invalid or might have expired.
INVALID_ROOM_ID4003roomId is empty or invalid, please verify it or generate new room ID using the API.
INVALID_PARTICIPANT_ID4004participantId is empty or invalid, it shouldn't contain any whitespaces.
DUPLICATE_PARTICIPANT4005Leaving room, since this participantId joined from another device.
ACCOUNT_DEACTIVATED4006It seems your account is deactivated by VideoSDK for some reason, you can reach out to us at support@videosdk.live.
ACCOUNT_DISCONTINUED4007Server will respond you with specific message.
INVALID_PERMISSIONS4008permissions provided in the token are invalid, please don't use allow_join or allow_mod with ask_join.
MAX_PARTCIPANT_REACHED4009You have reached max participant limit in a room. To increase contact at support@videosdk.live.
MAX_SPEAKER_REACHED4010You have reached max speaker limit in a room.
START_RECORDING_FAILED4011Recording start request failed due to an unknown error.
STOP_RECORDING_FAILED4012Recording stop request failed due to an unknown error.
START_LIVESTREAM_FAILED4013Livestream start request failed due to an unknown error.
STOP_LIVESTREAM_FAILED4014Livestream stop request failed due to an unknown error.
INVALID_LIVESTREAM_CONFIG4015Livestream 'outputs' configuration provided was invalid.
START_HLS_FAILED4016HLS start request failed due to an unknown error.
STOP_HLS_FAILED4017HLS stop request failed due to an unknown error.
PREV_RECORDING_PROCESSING4018Previous recording session is being processed, please try again after few seconds!
PREV_RTMP_RECORDING_PROCESSING4019Previous RTMP recording session is being processed, please try again after few seconds!
PREV_HLS_STREAMING_PROCESSING4020Previous HLS streaming session is being processed, please try again after few seconds!
MAX_SPEAKER_LIMIT_REACHED_ON_ORGANIZATION4026You have reached max speaker limit on organization. To increase contact at support@videosdk.live.
MAX_VIEWER_LIMIT_REACHED_ON_ORGANIZATION4027You have reached max viewer limit on organization. To increase contact at support@videosdk.live.
MAX_RECORDING_LIMIT_REACHED_ON_ORGANIZATION4028You have reached max limit of recording on organization. To increase contact at support@videosdk.live.
MAX_HLS_LIMIT_REACHED_ON_ORGANIZATION4029You have reached max limit of hls on organization. To increase contact at support@videosdk.live.
MAX_LIVESTREAM_LIMIT_REACHED_ON_ORGANIZATION4030You have reached max limit of livestream on organization. To increase contact at support@videosdk.live.
RECORDING_FAILED5001Recording stopped due to an unknown error.
LIVESTREAM_FAILED5002Livestream stopped due to an unknown error.
HLS_FAILED5003HLS stopped due to an unknown error.
RECORDING_DURATION_LIMIT_REACHED5004Recording has been automatically stopped by the system, due to max duration limit of 2 hours reached for a single Recording
LIVESTREAM_DURATION_LIMIT_REACHED5005Livestream has been automatically stopped by the system, due to max duration limit of 2 hours reached for a single RTMP
HLS_DURATION_LIMIT_REACHED5006Hls has been automatically stopped by the system, due to max duration limit of 2 hours reached for a single HLS
ERROR_CAMERA_ACCESS_DENIED_OR_DISMISSED3017Oops! It seems like camera access was denied or dismissed. To proceed, kindly grant access through your browser settings.
ERROR_MICROPHONE_ACCESS_DENIED_OR_DISMISSED3018Oops! It seems like microphone access was denied or dismissed. To proceed, kindly grant access through your browser settings.
ERROR_ROOM_RECONNECTING3065The room is reconnecting. Please try again once it reconnects.

MAX_PARTCIPANT_REACHED is the name the SDK uses for code 4009, so compare this error by its code. For every code, see Room Error Codes.

Event Code​

Every error carries a code (an int), a name and a message. Branch on the code, not on the message, which the server can replace with its own.

Every catalogue error is also a constant on VideoSDKError, such as VideoSDKError.ERROR_ROOM_RECONNECTING. Errors are equal when their code is equal, so you can compare with ==:

try {
await room.enableCam();
} on VideoSDKError catch (error) {
if (error == VideoSDKError.ERROR_ROOM_RECONNECTING) {
// try again once the room reconnects
}
}

Listen for the event on the room. The handler receives a VideoSDKError.


//add listener for the error events.
_room.on(Events.error, (VideoSDKError error) {
log("VIDEOSDK ERROR :: ${error.code} :: ${error.name} :: ${error.message}");
});

Methods such as join() return a Future that throws a VideoSDKError with the same code, name and message when they fail. Some failures reach both your catch and Events.error, so handle each error in one place. On Android, most actions called while the room reconnects report 3065 on Events.error and return without throwing, so keep an Events.error handler too.

try {
await _room.join();
} on VideoSDKError catch (error) {
log("VIDEOSDK ERROR :: ${error.code} :: ${error.name} :: ${error.message}");
}

Got a Question? Ask us on discord


Was this helpful?

Not helpfulHelpful