Callbacks
Responses to any API call from the app is handled by callbacks. For example, on successful creation of audio session, onSessionCreated callback gets invoked or, if there is any error, onSessionError API gets invoked.
Following are the callbacks SDK provides. Session callbacks are common for all session types (audio, video, chat) and each session type has its own specific callbacks. The app can receive these callbacks by implementing appropriate delegates.
Stream Related
Stream related callbacks are provided by IrisRtcStreamDelegate.
onLocalStream
This callback gets invoked when the local preview is available.
(void)onLocalStream:(IrisRtcStream *)stream mediaTrack:(IrisRtcMediaTrack *)mediaTrack;
Parameters | |
---|---|
stream | Pointer to the stream object |
mediaTrack | Media track that is associated with the stream |
onStreamError
This callback gets invoked when there in an error during stream creation process.
(void)onStreamError:(IrisRtcStream *)stream error:(NSError*)error withAdditionalInfo:(NSDictionary *)info;
Parameters | |
---|---|
stream | Pointer to the stream object |
error | Error code and basic description |
info | Additional details for debugging |
Session Related
Session related callbacks are common for video, audio and chat sessions. By implementing corresponding delegates for each sessions user can access these callbacks
onSessionCreated
This callback gets invoked when the room is created successfully.
(void)onSessionCreated:(NSString *)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionJoined
This callback gets invoked when the receiver joins the room successfully.
(void)onSessionJoined:(NSString *)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionParticipantJoined
This callback gets invoked at the sender side when the remote participant joins the room.
(void)onSessionParticipantJoined:(NSString *)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionConnected
This callback gets invoked when the session is connected.
(void)onSessionConnected:(NSString *)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionEnded
This callback gets invoked when the session ends.
(void)onSessionEnded:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionParticipantLeft
This callback gets invoked when the participant leaves the room.
(void)onSessionParticipantLeft:(NSString*)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionParticipantProfile
This callback gets invoked when the participant profile is changed.
(void)onSessionParticipantProfile:(NSString*)participantId userProfile:(IrisRtcUserProfile*)userprofile roomId:(NSString*)roomid traceId:(NSString *)traceId;
Parameters | |
---|---|
participantId | Participant Id |
userprofile | IriRtcUserProfile object containing participant's name and image url |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionDominantSpeakerChanged
This callback gets invoked when dominant speaker is changed in multiple stream.
(void)onSessionDominantSpeakerChanged:(NSString*)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionRemoteParticipantActivated
This callback gets invoked when stream of particular particiapnt is activated/viewed in multiple stream.
@optional
(void)onSessionRemoteParticipantActivated:(NSString*)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionParticipantNotResponding
This callback gets invoked when remote participant is not responding.
(void)onSessionParticipantNotResponding:(NSString*)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionTypeChanged
This callback gets invoked when there is change in session type.
@optional
(void)onSessionTypeChanged:(NSString*)sessionType participantId:(NSString*)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
sessionType | Session type |
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionParticipantAudioMuted
This callback gets invoked when audio of remote participant muted or unmuted.
@optional
(void)onSessionParticipantAudioMuted:(BOOL)mute participantId:(NSString*)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
mute | Audio state, mute or unmute |
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionParticipantVideoMuted
This callback gets invoked when video of remote participant muted or unmuted.
@optional
(void)onSessionParticipantVideoMuted:(BOOL)mute participantId:(NSString*)participantId roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
mute | Video state, mute or unmute |
participantId | Participant Id |
roomId | Room id received from Iris backend |
traceId | Trace id |
onSessionError
This callback gets invoked when there is error while the session is active.
(void)onSessionError:(NSError*)error withAdditionalInfo:(NSDictionary *)info roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
error | The basic error code details |
info | Additional error details including description |
roomId | Room id received from Iris backend |
traceId | Trace id |
onLogAnalytics
This callback gets invoked when there is any message is to be convey to the app.
(void)onLogAnalytics:(NSString*)log roomId:(NSString*)roomId traceId:(NSString *)traceId;
Parameters | |
---|---|
log | Log message to the app |
roomId | Room id received from Iris backend |
traceId | Trace id |