feat(external-api) add data-channel-open event

Signals that the bridge channel is open. It may take a few ms to get established
after the conference join, so applications might be interested in using it once
ready.
This commit is contained in:
Saúl Ibarra Corretgé 2021-09-30 11:57:17 +02:00 committed by Saúl Ibarra Corretgé
parent dd184763ff
commit 12139655c6
3 changed files with 15 additions and 0 deletions

View File

@ -1033,6 +1033,15 @@ class API {
});
}
/**
* Notify external application that the data channel has been opened.
*
* @returns {void}
*/
notifyDataChannelOpened() {
this._sendEvent({ name: 'data-channel-opened' });
}
/**
* Notify external application (if API is enabled) that we are ready to be
* closed.

View File

@ -80,6 +80,7 @@ const events = {
'camera-error': 'cameraError',
'chat-updated': 'chatUpdated',
'content-sharing-participants-changed': 'contentSharingParticipantsChanged',
'data-channel-opened': 'dataChannelOpened',
'device-list-changed': 'deviceListChanged',
'display-name-change': 'displayNameChange',
'email-change': 'emailChange',

View File

@ -3,6 +3,7 @@
import {
CONFERENCE_FAILED,
CONFERENCE_JOINED,
DATA_CHANNEL_OPENED,
KICKED_OUT
} from '../base/conference';
import { NOTIFY_CAMERA_ERROR, NOTIFY_MIC_ERROR } from '../base/devices';
@ -103,6 +104,10 @@ MiddlewareRegistry.register(store => next => action => {
break;
}
case DATA_CHANNEL_OPENED:
APP.API.notifyDataChannelOpened();
break;
case DOMINANT_SPEAKER_CHANGED:
APP.API.notifyDominantSpeakerChanged(action.participant.id);
break;