diff --git a/.gitignore b/.gitignore index c6281f8c6..18fcd4912 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ node_modules dist build docs +config.js diff --git a/README.md b/README.md index 3924962b3..98c97eb27 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# SKYLINK WEB SDK 2.1.2 +# SKYLINK WEB SDK 2.1.3 > Temasys SkylinkJS Web SDK is an open-source client-side library for your web-browser that enables any website to easily leverage the capabilities of WebRTC and its direct data streaming powers between peers for audio/video conferencing or file transfer. You'll need a Temasys Account, and an App key to use this. [Register here to get your App key](https://console.temasys.io). @@ -35,7 +35,7 @@ You'll need a Temasys Account, and an App key to use this. [Register here to get #### Current versions and stability - We recommend that you always use the latest versions of the Temasys SkylinkJS Web SDK as WebRTC is still evolving and we adapt to changes very frequently. -[Latest version: 2.1.2](https://github.com/Temasys/SkylinkJS/releases/tag/2.1.2) +[Latest version: 2.1.3](https://github.com/Temasys/SkylinkJS/releases/tag/2.1.3) ## How to build your own Temasys SkylinkJS Web SDK diff --git a/demos/collection/config.js b/demos/collection/config.js deleted file mode 100644 index e2959f2ba..000000000 --- a/demos/collection/config.js +++ /dev/null @@ -1,47 +0,0 @@ -/* eslint-disable */ -/**************************** Note ********************************** - Save your api settings like appKey, defaultRoom and room and save it - in a file called [config.js] - *********************************************************************/ -function getParameterByName(name, url) { - if (!url) url = window.location.href; - name = name.replace(/[\[\]]/g, "\\$&"); - var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)", "i"), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2].replace(/\+/g, " ")); -} - -if (!getParameterByName('room')) { - window.location.search = '?room=' + (new Date()).getTime(); -} - -const config = { - appKey: getParameterByName('appKey') || 'c7ae7e8a-2e24-43a5-85c6-d4dafbdfecb6', - defaultRoom: getParameterByName('room'), - audioFallback: !!getParameterByName('audioFallback'), - forceSSL: true, - beSilentOnParseLogs: true, - beSilentOnLogs: true, -}; - -/** - * For using credentials based authentication - */ -const secret = null; // 'xxxxx' Use App Key secret -const duration = 2; // 2 hours. Default is 24 for CORS auth -const startDateTimeStamp = (new Date ()).toISOString(); - -if (secret) { - const genHashForCredentials = CryptoJS.HmacSHA1(config.defaultRoom + '_' + duration + '_' + startDateTimeStamp, secret); - const credentials = encodeURIComponent(genHashForCredentials.toString(CryptoJS.enc.Base64)); - - config.credentials = { - duration: duration, - startDateTime: startDateTimeStamp, - credentials: credentials - }; -} - -export default config; diff --git a/demos/collection/kitchensink/main.js b/demos/collection/kitchensink/main.js index fde29bb89..6dcebbb8a 100644 --- a/demos/collection/kitchensink/main.js +++ b/demos/collection/kitchensink/main.js @@ -392,6 +392,9 @@ SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, } } else { $('#user' + peerId + ' .name').html(peerInfo.userData); + setTimeout(() => { + console.log(Demo.Skylink.getPeersCustomSettings(config.defaultRoom)); + }, 5000); } if (Demo.ShowStats[peerId]) { @@ -466,6 +469,10 @@ SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ROOM_LOCK, (evt) => Demo.Methods.logToConsoleDOM(`Room is ${(isLocked ? 'locked' : 'unlocked')}`); }); +SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ROOM_REJOIN, (evt) => { + Demo.Skylink.joinRoom(joinRoomOptions) +}); + // //--------------------------------------------------- // // MESSAGING EVENTS // //--------------------------------------------------- @@ -618,15 +625,15 @@ SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.PEER_CONNECTION_STA let color = 'red'; switch (state) { case SkylinkConstants.PEER_CONNECTION_STATE.HAVE_LOCAL_OFFER: - case SkylinkConstants.PEER_CONNECTION_STATE.HAVE_REMOTE_PRANSWER: case SkylinkConstants.PEER_CONNECTION_STATE.HAVE_REMOTE_OFFER: - case SkylinkConstants.PEER_CONNECTION_STATE.HAVE_LOCAL_PRANSWER: + case SkylinkConstants.PEER_CONNECTION_STATE.CONNECTING: color = 'orange'; break; case SkylinkConstants.PEER_CONNECTION_STATE.CLOSED: color = 'red'; break; case SkylinkConstants.PEER_CONNECTION_STATE.STABLE: + case SkylinkConstants.PEER_CONNECTION_STATE.CONNECTED: color = 'green'; break; } @@ -920,8 +927,14 @@ $(document).ready(function() { }; $("#add_stream_btn").click(function() { - const options = Object.assign({}, joinRoomOptions); - delete options.userData; + // const options = Object.assign({}, joinRoomOptions); + // delete options.userData; + const options = { + audio: true, + video: { + resolution: SkylinkConstants.VIDEO_RESOLUTION.QQVGA, + } + } Demo.Skylink.sendStream(config.defaultRoom, options) .then((streams) => { console.log("added streams", streams); @@ -1013,7 +1026,7 @@ $(document).ready(function() { }); // //--------------------------------------------------- $('#restart_btn').click(function() { - Demo.Skylink.refreshConnection(config.defaultRoom); + Demo.Skylink.refreshConnection(config.defaultRoom, null, true, { bandwidth: SkylinkConstants.VIDEO_QUALITY.SQ}); }); // //--------------------------------------------------- $('#join_room_btn').click(function () { diff --git a/docs/Skylink.html b/docs/Skylink.html index 78c10d6d3..633ef351c 100644 --- a/docs/Skylink.html +++ b/docs/Skylink.html @@ -76,7 +76,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -130,10 +130,6 @@
Parameters:
@@ -473,7 +469,7 @@
Parameters:
@@ -573,7 +569,7 @@

@@ -778,7 +774,7 @@

Parameters:
@@ -967,7 +963,162 @@
Parameters:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ getMessagePersistence(roomName) → {Boolean} +

+
+ + + + + +
+

Method that retrieves the persistent message feature configured.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
roomName + + + + String + + + + + + + +

The room name.

+ +
+ + + + + +
+ + + + +
Since:
+
+
    +
  • + 2.0.0 +
  • +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+
@@ -1184,7 +1335,7 @@
Parameters:
@@ -1255,11 +1406,11 @@

Method that retrieves the list of peer ids from rooms within the same App space.

- Note that this feature requires "isPrivileged" flag to be enabled for the App Key + Note that this feature requires "isPrivileged" flag to be enabled for the App Key provided in the initOptions, as only Users connecting using the App Key with this flag enabled (which we call privileged Users / peers) can retrieve the list of peer ids from rooms within the same App space. - What is a privileged key? + What is a privileged key?
@@ -1429,7 +1580,7 @@

Parameters:
@@ -1450,11 +1601,11 @@
Fires:
@@ -1629,7 +1780,7 @@
Parameters:
@@ -1800,7 +1951,7 @@
Parameters:
@@ -1962,7 +2113,7 @@
Parameters:
@@ -2133,7 +2284,7 @@
Parameters:
@@ -2184,8 +2335,8 @@

Method that retrieves the list of recording sessions.

Note that this feature requires MCU and recording to be enabled for the App Key provided in - initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, - please contact us on our support portal here. + initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, + please contact us on our support portal here.

@@ -2293,7 +2444,7 @@
Parameters:
@@ -2341,106 +2492,6 @@
Example
- - - - - - -

- getScreenSources() → {Promise.<screenSources>} -

-
- - - - - -
-

Method that returns the screensharing sources.

-
- - - - - - - - - - -
- - - - -
Since:
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - @@ -2593,7 +2644,7 @@
Parameters:
@@ -2748,7 +2799,7 @@
Parameters:
@@ -2769,7 +2820,7 @@
Fires:
@@ -2938,7 +2989,7 @@
Parameters:
@@ -3029,7 +3080,7 @@

@@ -3228,7 +3279,7 @@

Parameters:
@@ -3396,7 +3447,7 @@
Parameters:
- JSON + getUserMediaOptions @@ -3426,1094 +3477,11 @@
Parameters:

The camera stream configuration options.

-
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
useExactConstraints - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

- Note that by enabling this flag, exact values will be requested when retrieving camera stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source id) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support.
- The flag if getUserMedia() should request for camera stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

- -
audio - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - false - - -

- Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation.
- The audio configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
stereo - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting.
- The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

- -
usedtx - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation.
- The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

- -
useinbandfec - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only.
- The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

- -
maxplaybackrate - - - - Number - - - - - - - - - <optional>
- - - - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only.
- The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

- -
mute - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

The flag if audio tracks should be muted upon receiving them. - Providing the value as false sets peerInfo.mediaStatus.audioMuted to 1, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - 0 and mutes any existing - shareScreen() stream audio tracks as well.

- -
optional - - - - Array - - - - - - - - - <optional>
- - - - - -
- - -

- This property has been deprecated. "optional" constraints has been moved from specs.
- Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the audio track, - use options.audio.deviceId instead.
- The navigator.getUserMedia() API audio: { optional [..] } property.

- -
deviceId - - - - String - - - - - - - - - <optional>
- - - - - -
- - -

- Note this is currently not supported in Firefox browsers. -
The audio track source id of the device to use. - The list of available audio source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

- -
echoCancellation - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - true - - -

- For Chrome/Opera/IE/Safari/Bowser, the echo cancellation @description Methodality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones.
The flag to enable echo cancellation for audio track.

- -
- - -
video - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - false - - -

- Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode.
- The video configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
mute - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

The flag if video tracks should be muted upon receiving them. - Providing the value as false sets the peerInfo.mediaStatus.videoMuted value to - 1, but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - 0 and mutes any existing - shareScreen() stream video tracks as well.

- -
resolution - - - - JSON - - - - - - - - - <optional>
- - - - - -
- - -

The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: VIDEO_RESOLUTION]

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
width - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
-

The video resolution width.

-
    -
  • When provided as a number, it is the video resolution width.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
- -
height - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
-

The video resolution height.

-
    -
  • When provided as a number, it is the video resolution height.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
- -
- - -
frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - -

The video https://en.wikipedia.org/wiki/Frame_rate per second (fps).

-
    -
  • When provided as a number, it is the video framerate.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
- -
optional - - - - Array - - - - - - - - - <optional>
- - - - - -
- - -

- This property has been deprecated. "optional" constraints has been moved from specs.
- Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the video track, - use options.video.deviceId instead.
- The navigator.getUserMedia() API video: { optional [..] } property.

- -
deviceId - - - - String - - - - - - - - - <optional>
- - - - - -
- - -

- Note this is currently not supported in Firefox browsers. -
The video track source id of the device to use. - The list of available video source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

- -
facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - -

The video camera facing mode. - The list of available video source id can be retrieved by the /en-US/docs/Web/API/MediaTrackConstraints/facingMode.

- -
- - -
- - - - + + @@ -4563,7 +3531,7 @@
Properties
@@ -4584,19 +3552,19 @@
Fires:
@@ -5018,7 +3986,7 @@

@@ -5173,7 +4141,7 @@

Parameters:
@@ -5194,7 +4162,7 @@
Fires:
@@ -5363,7 +4331,7 @@
Parameters:
@@ -5384,7 +4352,7 @@
Fires:
@@ -5622,7 +4590,7 @@
Properties

The flag if all streams audio - tracks should be muted or not.

+tracks should be muted or not.

@@ -5668,7 +4636,7 @@
Properties

The flag if all streams video - tracks should be muted or not.

+tracks should be muted or not.

@@ -5768,7 +4736,7 @@
Properties
@@ -5789,11 +4757,11 @@
Fires:
@@ -5870,9 +4838,9 @@

For MCU enabled peer connections with options.mcuUseRenegoRestart set to false in the initOptions, the restart method may differ, you may learn more about how to workaround it in this article - here. + here. For restarts with peers connecting from Android, iOS or C++ SDKs, restarts might not work as written in this article - here. + here. Note that this functionality should be used when peer connection stream freezes during a connection. For a better user experience for only MCU enabled peer connections, the method is throttled when invoked many times in less than the milliseconds interval configured in initOptions. @@ -5995,17 +4963,13 @@

Parameters:
-

+
Note that this is ignored if MCU is enabled for the App Key provided in - initOptions. refreshConnection() will "refresh" - all peer connections.

- + initOptions. refreshConnection() will "refresh" + all peer connections.
+ - The target peer id to refresh connection with. +- When provided as an Array, it will refresh all connections with all the peer ids provided. +- When not provided, it will refresh all the currently connected peers in the room. @@ -6049,64 +5013,286 @@
Parameters:
- -

- Note that this flag will not be honoured for MCU enabled peer connections where - options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU - "restart" case is to invoke Skylink#joinRoomagain, or that it is - not supported by the MCU.
- The flag if ICE connections should restart when refreshing peer connections. - This is used when ICE connection state is FAILED or DISCONNECTED, which state - can be retrieved with the iceConnectionStateEvent

- - - + +
+ Note that this flag will not be honoured for MCU enabled peer connections where + options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU + "restart" case is to invoke joinRoom again, or that it is + not supported by the MCU.
+ The flag if ICE connections should restart when refreshing peer connections. + This is used when ICE connection state is FAILED or DISCONNECTED, which + can be retrieved with the ICE CONNECTION STATE event. + + + + + + + + options + + + + + + + JSON + + + + + + + + + + + + <optional>
+ + + + + + + + + + + + + + + +
+ Note that for MCU connections, the bandwidth + settings will override for all peers or the current room connection session settings.
+ The custom peer configuration settings. + +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
bandwidth + + + + JSON + + + + + + + + + <optional>
+ + + + + +
+

The configuration to set the maximum streaming bandwidth to send to peers. +Object signature follows joinRoom +options.bandwidth settings.

+ +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
+
    +
  • + 0.5.5 +
  • +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + +
Examples
+ + +
Example 1: Refreshing a peer connection
+
+skylink.refreshConnection(roomName, peerId)
+.then((result) => {
+  const failedRefreshIds = Object.keys(result.refreshErrors);
+  failedRefreshIds.forEach((peerId) => {
+    // handle error
+  });
+});
+ + +
Example 2: Refreshing a list of peer connections
+let selectedPeers = ["peerID_1", "peerID_2"];
+
+skylink.refreshConnection(roomName, selectedPeers)
+.then((result) => {
+  const failedRefreshIds = Object.keys(result.refreshErrors);
+  failedRefreshIds.forEach((peerId) => {
+    // handle error
+  });
+});
+ + +
Example 3: Refreshing all peer connections
+
+skylink.refreshConnection(roomName)
+.then((result) => {
+  const failedRefreshIds = Object.keys(result.refreshErrors);
+  failedRefreshIds.forEach((peerId) => {
+   // handle error
+  });
+});
+ + +
+ + + + + + + + + + + + + + +

+ refreshDatachannel(roomName, peerId) → {null} +

+
+ + - - - - options - - - - - - JSON - - +
+

Method that refreshes the main messaging data channel.

+
- - - - - - <optional>
- - - - - - - - - - - -

- Note that for MCU connections, the bandwidth or googleXBandwidth - settings will override for all peers or the current room connection session settings.
- The custom peer configuration settings.

- -
Properties
- +
Parameters:
+ @@ -6118,8 +5304,6 @@
Properties
- - @@ -6131,14 +5315,14 @@
Properties
- + - - @@ -6172,14 +5344,14 @@
Properties
- + - - - - - - -
TypeAttributes
bandwidthroomName - JSON + String @@ -6148,23 +5332,11 @@
Properties
- - <optional>
- - - - - -
-

The configuration to set the maximum streaming bandwidth to send to peers. - Object signature follows Skylink#joinRoom - options.bandwidth settings.

+

The room name.

googleXBandwidthpeerId - JSON + String @@ -6189,32 +5361,11 @@
Properties
- - <optional>
- - - - - -
-

The configuration to set the experimental google - video streaming bandwidth sent to peers. - Object signature follows Skylink#joinRoom - options.googleXBandwidth settings.

- -
- +

The target peer id of the peer data channel to refresh.

@@ -6236,7 +5387,7 @@
Properties
@@ -6267,7 +5418,7 @@
Properties
@@ -6293,46 +5444,17 @@
Properties
- + -
Examples
+
Example
-
Example 1: Refreshing a peer connection
-
-skylink.refreshConnection(roomName, peerId)
-.then((result) => {
-  const failedRefreshIds = Object.keys(result.refreshErrors);
-  failedRefreshIds.forEach((peerId) => {
-    // handle error
-  });
-});
- - -
Example 2: Refreshing a list of peer connections
-let selectedPeers = ["peerID_1", "peerID_2"];
-
-skylink.refreshConnection(roomName, selectedPeers)
-.then((result) => {
-  const failedRefreshIds = Object.keys(result.refreshErrors);
-  failedRefreshIds.forEach((peerId) => {
-    // handle error
-  });
-});
- - -
Example 3: Refreshing all peer connections
+  
Example 1: Initiate refresh data channel
 
-skylink.refreshConnection(roomName)
-.then((result) => {
-  const failedRefreshIds = Object.keys(result.refreshErrors);
-  failedRefreshIds.forEach((peerId) => {
-   // handle error
-  });
-});
+skylink.refreshDatachannel("Room_1", "peerID_1");
@@ -6345,13 +5467,13 @@
Examples
- + -

- refreshDatachannel(roomName, peerId) → {null} +

+ sendMessage(roomName, message, targetPeerIdopt)

@@ -6360,7 +5482,8 @@

-

Method that refreshes the main messaging data channel.

+

Function that sends a message to peers via the Signaling socket connection.

+

sendMessage can also be used to trigger call actions on the remote. Refer to Example 3 for muting the remote peer.

@@ -6382,6 +5505,8 @@

Parameters:
Type + Attributes + @@ -6410,11 +5535,19 @@
Parameters:
+ + + + + + + + -

The room name.

+

room name to send the message.

@@ -6422,7 +5555,7 @@
Parameters:
- peerId + message @@ -6432,6 +5565,12 @@
Parameters:
String
+ | + + + JSON + + @@ -6439,11 +5578,68 @@
Parameters:
+ + + + + + + + -

The target peer id of the peer data channel to refresh.

+

The message.

+ + + + + + + + targetPeerId + + + + + + + String + + + | + + + Array + + + + + + + + + + + + <optional>
+ + + + + + + + + + + +

The target peer id to send message to.

+ @@ -6465,7 +5661,7 @@
Parameters:
@@ -6496,7 +5692,7 @@
Parameters:
@@ -6513,6 +5709,15 @@
Parameters:
+
Fires:
+ + @@ -6522,17 +5727,46 @@
Parameters:
- + -
Example
+
Examples
-
Example 1: Initiate refresh data channel
+  
Example 1: Broadcasting to all peers
 
-skylink.refreshDatachannel("Room_1", "peerID_1");
+let sendMessage = (roomName) => { + const message = "Hi!"; + const selectedPeers = this.state[location]['selectedPeers']; + skylink.sendMessage(roomName, message, selectedPeers); +}
+ + +
Example 2: Broadcasting to selected peers
+
+let sendMessage = (roomName) => {
+   const message = "Hi all!";
+   const selectedPeers = ["PeerID_1", "PeerID_2"];
+   skylink.sendMessage(roomName, message, selectedPeers);
+}
+ + +
Example 3: Muting the remote peer
+
+// The local peer - send custom message object
+const msgObject = JSON.stringify({ data: "data-content", type: "muteStreams", audio: true, video: false });
+this.skylink.sendP2PMessage(roomName, msgObject);
+
+// The remote peer - add an event listener for ON_INCOMING_MESSAGE and check for the custom message object
+SkylinkEventManager.addEventListener(skylinkConstants.EVENTS.ON_INCOMING_MESSAGE, (evt) => {
+   const {message, peerId, isSelf, room} = evt.detail;
+   const msg = JSON.parse(message.content);
+   if (msg.type === "muteStreams") {
+      skylink.muteStreams(roomName, { audioMuted: msg.audio, videoMuted: msg.video });
+     }
+   });
@@ -6545,13 +5779,13 @@
Example
- + - -

- sendMessage(roomName, message, targetPeerIdopt) + +

+ sendP2PMessage(roomNameopt, message, targetPeerIdopt)

@@ -6560,7 +5794,7 @@

-

Function that sends a message to peers via the Signaling socket connection.

+

Method that sends a message to peers via the data channel connection.

@@ -6614,6 +5848,8 @@

Parameters:
+ <optional>
+ @@ -6624,7 +5860,9 @@
Parameters:
-

room name to send the message.

+

The name of the room the message is intended for. +When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). +Note when roomName is provided, targetPeerId should be provided as null.

@@ -6712,11 +5950,9 @@
Parameters:
-

The target peer id to send message to.

- +

The target peer id to send message to. +When provided as an Array, it will send the message to only peers which ids are in the list. +When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

@@ -6734,15 +5970,6 @@
Parameters:
-
Since:
-
- -
- @@ -6769,7 +5996,7 @@
Parameters:
@@ -6790,7 +6017,7 @@
Fires:
@@ -6804,29 +6031,63 @@
Fires:
- + -
Examples
+
Examples
-
Example 1: Broadcasting to all peers
+  
Example 1: Broadcasting to all peers in all rooms
 
-let sendMessage = (roomName) => {
-   const message = "Hi!";
-   const selectedPeers = this.state[location]['selectedPeers'];
-   this.skylink.sendMessage(roomName, message, selectedPeers);
-}
+const message = "Hello everyone!"; +skylink.sendP2PMessage(message);
-
Example 2: Broadcasting to selected peers
 
-let sendMessage = (roomName) => {
-   const message = "Hi all!";
-   const selectedPeers = ["PeerID_1", "PeerID_2"];
-   this.skylink.sendMessage(roomName, message, selectedPeers);
+  
Example 2: Broadcasting to all peers in a room
+
+const message = "Hello everyone!";
+const roomName = "Room_1";
+
+skylink.sendP2PMessage(message, null, roomName);
+ + +
Example 3: Sending message to a peer in all rooms
+
+const message = "Hello!";
+const targetPeerId = "peerId";
+
+skylink.sendP2PMessage(message, targetPeerId);
+ + +
Example 4: Sending message to a peer in a room
+
+const message = "Hello!";
+const targetPeerId = "peerId";
+const roomName = "Room_1";
+
+skylink.sendP2PMessage(message, targetPeerId, roomName);
+ + +
Example 5: Sending message to selected Peers in a room
+
+const message = "Hello!";
+const selectedPeers = ["peerId_1", "peerId_2"];
+const roomName = "Room_1";
+
+skylink.sendP2PMessage(message, selectedPeers, roomName);
+ + +
// Listen for onIncomingMessage event
+skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
+  const detail = evt.detail;
+  if (detail.isSelf) {
+    // handle message from self
+  } else {
+    // handle message from remote peer
+  }
 }
@@ -6840,13 +6101,13 @@
Examples
- + -

- sendP2PMessage(roomNameopt, message, targetPeerIdopt) +

+ sendStream(roomName, options) → {Promise.<MediaStreams>}

@@ -6855,8 +6116,9 @@

-

Method that sends a message to peers via the data channel connection. -Consider using sendURLData if you are sending large strings to peers.

+

Method that sends a new userMedia stream to all connected peers in a room.

+

Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is +MediaStream of kind video.

@@ -6878,8 +6140,6 @@

Parameters:
Type - Attributes - @@ -6908,23 +6168,11 @@
Parameters:
- - - <optional>
- - - - - - - -

The name of the room the message is intended for. -When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). -Note when roomName is provided, targetPeerId should be provided as null.

+

The room name.

@@ -6932,63 +6180,20 @@
Parameters:
- message + options - - String - - - | - JSON - - - - - - - - - - - - - - - - - - - -

The message.

- - - - - - - - targetPeerId - - - - - - - String - - | - Array + MediaStream @@ -6998,23 +6203,17 @@
Parameters:
- - - <optional>
- - - - - - - -

The target peer id to send message to. -When provided as an Array, it will send the message to only peers which ids are in the list. -When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

+

The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

+
    +
  • When provided as a MediaStream object, this configures the options.audio and +options.video based on the tracks available in the MediaStream object. +Object signature matches the options parameter in the +getUserMedia method.
  • +
@@ -7032,6 +6231,15 @@
Parameters:
+
Since:
+
+
    +
  • + 0.5.6 +
  • +
+
+ @@ -7058,7 +6266,7 @@
Parameters:
@@ -7079,7 +6287,18 @@
Fires:
  • - onIncomingMessage + MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and +isAudioFallback=false if userMedia options is passed into +sendStream method.event: +
  • + +
  • + ON INCOMING STREAM event with parameter payload isSelf=true and +stream as userMedia stream.event: +
  • + +
  • + PEER UPDATED event with parameter payload isSelf=true.
@@ -7093,63 +6312,51 @@
Fires:
- + -
Examples
+
Example
-
Example 1: Broadcasting to all peers in all rooms
-
-const message = "Hello everyone!";
-
-skylink.sendP2PMessage(message);
- - -
Example 2: Broadcasting to all peers in a room
-
-const message = "Hello everyone!";
-const roomName = "Room_1";
-
-skylink.sendP2PMessage(message, null, roomName);
- - -
Example 3: Sending message to a peer in all rooms
-
-const message = "Hello!";
-const targetPeerId = "peerId";
-
-skylink.sendP2PMessage(message, targetPeerId);
- - -
Example 4: Sending message to a peer in a room
-
-const message = "Hello!";
-const targetPeerId = "peerId";
-const roomName = "Room_1";
-
-skylink.sendP2PMessage(message, targetPeerId, roomName);
+
Example 1: Send new MediaStream with audio and video
 
+let sendStream = (roomName) => {
+const options = { audio: true, video: true };
 
-  
Example 5: Sending message to selected Peers in a room
+// Add listener to incomingStream event
+SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
+  const { detail } = evt;
+  window.attachMediaStream(localVideoEl, detail.stream);
+})
 
-const message = "Hello!";
-const selectedPeers = ["peerId_1", "peerId_2"];
-const roomName = "Room_1";
+skylink.sendStream(roomName, options)
+ // streams can also be obtained from resolved promise
+ .then((streams) => {
+       if (streams[0]) {
+         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
+       }
+       if (streams[1]) {
+         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
+       }
+   })
+  .catch((error) => { console.error(error) });
+}
 
-skylink.sendP2PMessage(message, selectedPeers, roomName);
+Example 2: Use pre-fetched media streams +const prefetchedStreams = null; +skylink.getUserMedia(null, { + audio: { stereo: true }, + video: true, + }) + .then((streams) => { + prefetchedStream = streams +}); -
// Listen for onIncomingMessage event
-skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
-  const detail = evt.detail;
-  if (detail.isSelf) {
-    // handle message from self
-  } else {
-    // handle message from remote peer
-  }
+skylink.sendStream(roomName, prefetchedStreams)
+  .catch((error) => { console.error(error) });
 }
@@ -7163,13 +6370,13 @@
Examples
- + -

- sendStream(roomName, options) → {Promise.<MediaStreams>} +

+ setEncryptSecret(roomName, secret, secretId)

@@ -7178,9 +6385,7 @@

-

Method that sends a new userMedia stream to all connected peers in a room.

-

Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is -MediaStream of kind video.

+

Method that stores a secret and secret id pair used for encrypting and decrypting messages.

@@ -7242,20 +6447,43 @@

Parameters:
- options + secret - JSON + String - | + + + + + + + + + + +

A secret to use for encrypting and decrypting messages.

+ + + + + + + + secretId + + + + + - MediaStream + String @@ -7269,13 +6497,7 @@
Parameters:
-

The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

-
    -
  • When provided as a MediaStream object, this configures the options.audio and -options.video based on the tracks available in the MediaStream object. -Object signature matches the options parameter in the -getUserMedia method.
  • -
+

The id of the secret.

@@ -7297,7 +6519,7 @@
Parameters:
  • - 0.5.6 + 2.0.0
@@ -7328,7 +6550,7 @@
Parameters:
@@ -7345,84 +6567,13 @@
Parameters:
-
Fires:
- - - - - - - - - - -
- - - - - -
Example
- - -
Example 1: Send new MediaStream with audio and video
-
-let sendStream = (roomName) => {
-const options = { audio: true, video: true };
 
-// Add listener to incomingStream event
-SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
-  const { detail } = evt;
-  window.attachMediaStream(localVideoEl, detail.stream);
-})
 
-skylink.sendStream(roomName, options)
- // streams can also be obtained from resolved promise
- .then((streams) => {
-       if (streams[0]) {
-         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
-       }
-       if (streams[1]) {
-         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
-       }
-   })
-  .catch((error) => { console.error(error) });
-}
 
-Example 2: Use pre-fetched media streams
 
-const prefetchedStreams = null;
-skylink.getUserMedia(null, {
-   audio: { stereo: true },
-   video: true,
-   })
-   .then((streams) => {
-     prefetchedStream = streams
-});
 
-skylink.sendStream(roomName, prefetchedStreams)
-  .catch((error) => { console.error(error) });
-}
-
@@ -7432,13 +6583,13 @@
Example
- + -

- setEncryptSecret(roomName, secret, secretId) +

+ setMessagePersistence(roomName, isPersistent)

@@ -7447,7 +6598,12 @@

-

Method that stores a secret and secret id pair used for encrypting and decrypting messages.

+

Method that overrides the persistent message feature configured at the key level.

+
+ Note that to set message persistence at the app level, the persistent message feature MUST be enabled at the key level in the Temasys + Developers Console. Messages will also only be persisted if the messages are encrypted, are public messages and, are sent via the signaling + server using the sendMessage method. +
@@ -7509,43 +6665,14 @@

Parameters:
- secret - - - - - - - String - - - - - - - - - - - - - -

A secret to use for encrypting and decrypting messages.

- - - - - - - - secretId + isPersistent - String + Boolean @@ -7559,7 +6686,7 @@
Parameters:
-

The id of the secret.

+

The flag if messages should be persisted.

@@ -7612,7 +6739,7 @@
Parameters:
@@ -7796,7 +6923,7 @@
Parameters:
@@ -7977,7 +7104,7 @@
Parameters:
@@ -7998,7 +7125,7 @@
Fires:
@@ -8048,7 +7175,7 @@
Example

- shareScreen(roomName, replaceUserMediaStream, streamIdopt) → {MediaStream|null} + shareScreen(roomName) → {MediaStream|null}

@@ -8079,8 +7206,6 @@
Parameters:
Type - Attributes - @@ -8109,14 +7234,6 @@
Parameters:
- - - - - - - - @@ -8127,83 +7244,6 @@
Parameters:
- - - replaceUserMediaStream - - - - - - - Boolean - - - - - - - - - - - - - - - - - - - - - -

The flag if screenshare replaces the userMedia stream.

- - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - <optional>
- - - - - - - - - - - -

The stream id of the userMedia stream to replace. streamId must be provided if there is more than -one userMedia stream on the peer connection and replaceUserMediaStream is true.

- - - - - @@ -8251,7 +7291,7 @@
Parameters:
@@ -8325,7 +7365,7 @@

Note that this feature requires MCU and recording to be enabled for the App Key provided in initOptions. If recording feature is not available to - be enabled in the Temasys Developer Console, please contact us on our support portal here. + be enabled in the Temasys Developer Console, please contact us on our support portal here.

@@ -8433,7 +7473,7 @@
Parameters:
@@ -8454,11 +7494,12 @@
Fires:
  • - recordingStateEvent with payload state=START if recording has started successfully. + RECORDING STATE event with payload state=START if recording has started +successfully.event:
  • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
@@ -8685,7 +7726,7 @@
Parameters:
@@ -8706,7 +7747,7 @@
Fires:
@@ -8769,8 +7810,8 @@

  • Note that this feature requires MCU and recording to be enabled for the App Key provided in the - initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, - please contact us on our support portal here. + initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, + please contact us on our support portal here.
  • It is mandatory for the recording session to have elapsed for more than 4 minutes before calling stopRecording method. @@ -8883,7 +7924,7 @@
    Parameters:
    @@ -8904,11 +7945,12 @@
    Fires:
    • - recordingStateEvent with payload state=STOP if recording has stopped successfully. + RECORDING STATE event with payload state=STOP if recording has stopped +successfully.event:
    • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
    @@ -9105,7 +8147,7 @@
    Parameters:
    @@ -9126,7 +8168,7 @@
    Fires:
    @@ -9291,7 +8333,7 @@
    Parameters:
    @@ -9312,19 +8354,19 @@
    Fires:
    • - mediaAccessStoppedEvent with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream + MEDIA ACCESS STOPPED event with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream
    • - streamEndedEvent with parameter payload isSelf value as true and isScreensharing value as true if user is in the room + STREAM ENDED event with parameter payload isSelf value as true and isScreensharing value as true if user is in the room
    • - peerUpdatedEvent with parameter payload isSelf value as true + PEER UPDATED event with parameter payload isSelf value as true
    • - onIncomingStreamEvent with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream + ON INCOMING STREAM event with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream
    @@ -9512,7 +8554,7 @@
    Parameters:
    @@ -9533,15 +8575,15 @@
    Fires:
    • - mediaAccessStoppedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream. + MEDIA ACCESS STOPPED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream.
    • - streamEndedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room. + STREAM ENDED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room.
    • - peerUpdatedEvent with parameter payload isSelf=true. + PEER UPDATED event with parameter payload isSelf=true.
    @@ -9699,7 +8741,7 @@
    Parameters:
    @@ -9720,7 +8762,7 @@
    Fires:
    • - roomLockEvent with payload parameters isLocked=false when the room is successfully locked. + ROOM LOCK event with payload parameters isLocked=false when the room is successfully locked.
    diff --git a/docs/SkylinkConstants.html b/docs/SkylinkConstants.html index ae20e5d76..9011e2257 100644 --- a/docs/SkylinkConstants.html +++ b/docs/SkylinkConstants.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -106,7 +106,42 @@

    @@ -177,21 +212,19 @@

    Members

    -

    - (static, constant) AUDIO_CODEC :Object +

    + (static, constant) BUNDLE_POLICY :Object

    -

    - Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. +
    + Learn more about how ICE works in this + article here.
    -The list of available audio codecs to set as the preferred audio codec to use to encode -sending audio data when available encoded audio codec for Peer connections -configured in Skylink initOptions.

    +The list of available Peer connection bundle policies.
    @@ -223,7 +256,7 @@
    Properties:
    - AUTO + MAX_COMPAT @@ -244,9 +277,9 @@
    Properties:
    -

    Value "auto" - The value of the option to not prefer any audio codec but rather use the created - local "offer" / "answer" session description audio codec preference.

    +

    Value "max-compat" +The value of the bundle policy to generate ICE candidates for each media type +so each media type flows through different transports.

    @@ -254,7 +287,7 @@
    Properties:
    - OPUS + MAX_BUNDLE @@ -275,8 +308,9 @@
    Properties:
    -

    Value "opus" - The value of the option to prefer the OPUS audio codec.

    +

    Value "max-bundle" +The value of the bundle policy to generate ICE candidates for one media type +so all media type flows through a single transport.

    @@ -284,7 +318,7 @@
    Properties:
    - ISAC + BALANCED @@ -305,8 +339,9 @@
    Properties:
    -

    Value "ISAC" - The value of the option to prefer the ISAC audio codec.

    +

    Value "balanced" +The value of the bundle policy to use MAX_BUNDLE if Peer supports it, +else fallback to MAX_COMPAT.

    @@ -314,7 +349,7 @@
    Properties:
    - ILBC + NONE @@ -335,46 +370,126 @@
    Properties:
    -

    Value "ILBC" - The value of the option to prefer the iLBC audio codec.

    +

    Value "none" +The value of the bundle policy to not use any media bundle. +This removes the a=group:BUNDLE line from session descriptions.

    + + - - - G722 - - - - - - String - - + +
    + + + + +
    Since:
    +
    +
      +
    • + 0.6.18 +
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    - - - + + + + - -

    Value "G722" - The value of the option to prefer the G722 audio codec.

    - - +

    + (static, constant) CANDIDATE_GENERATION_STATE :Object +

    + + + + +
    +
    + Learn more about how ICE works in this + article here. +
    +The list of Peer connection ICE gathering states. +
    + + + + +
    Properties:
    + + + + + + + + + + + + + + + + + + + + - + @@ -404,7 +524,7 @@
    Properties:
    - + @@ -446,7 +566,7 @@
    Properties:
    • - 0.5.10 + 0.4.1
    @@ -477,7 +597,7 @@
    Properties:
    @@ -499,19 +619,19 @@
    Properties:
    -

    - (static, constant) BUNDLE_POLICY :Object +

    + (static, constant) CANDIDATE_PROCESSING_STATE :Object

    -

    - Learn more about how ICE works in this - article here. +
    + Learn more about how ICE works in this + article here.
    -The list of available Peer connection bundle policies.

    +The list of Peer connection remote ICE candidate processing states for trickle ICE connections.
    @@ -543,7 +663,7 @@
    Properties:
    - + @@ -574,7 +693,7 @@
    Properties:
    - + @@ -605,7 +723,7 @@
    Properties:
    - + @@ -636,7 +753,7 @@
    Properties:
    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -679,7 +857,7 @@
    Properties:
    • - 0.6.18 + 0.6.16
    @@ -710,7 +888,7 @@
    Properties:
    @@ -732,19 +910,15 @@
    Properties:
    -

    - (static, constant) CANDIDATE_GENERATION_STATE :Object +

    + (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object

    -

    - Learn more about how ICE works in this - article here. -
    -The list of Peer connection ICE gathering states.

    +

    The list of Datachannel sending message error types.

    @@ -776,7 +950,7 @@
    Properties:
    - + @@ -811,7 +981,7 @@
    Properties:
    - + @@ -853,7 +1025,7 @@
    Properties:
    • - 0.4.1 + 0.6.16
    @@ -884,7 +1056,7 @@
    Properties:
    @@ -906,19 +1078,15 @@
    Properties:
    -

    - (static, constant) CANDIDATE_PROCESSING_STATE :Object +

    + (static, constant) DATA_CHANNEL_STATE :object

    -

    - Learn more about how ICE works in this - article here. -
    -The list of Peer connection remote ICE candidate processing states for trickle ICE connections.

    +

    The list of Datachannel connection states.

    @@ -950,7 +1118,7 @@
    Properties:
    - + @@ -980,7 +1148,7 @@
    Properties:
    - + @@ -1010,7 +1178,7 @@
    Properties:
    - + @@ -1040,7 +1208,7 @@
    Properties:
    - + @@ -1070,7 +1238,7 @@
    Properties:
    - + @@ -1102,7 +1268,7 @@
    Properties:
    - + - -
    NameTypeDescription
    PCMAGATHERING @@ -395,8 +510,13 @@
    Properties:
    -

    Value "PCMA" - The value of the option to prefer the G711u audio codec.

    +

    Value "gathering" +The value of the state when Peer connection is gathering ICE candidates. +These ICE candidates are sent to Peer for its connection to check for a suitable matching +pair of ICE candidates to establish an ICE connection for stream audio, video and data. +See ICE_CONNECTION_STATE for ICE connection status. +This state cannot happen until Peer connection remote "offer" / "answer" +session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

    PCMUCOMPLETED @@ -425,8 +545,8 @@
    Properties:
    -

    Value "PCMU" - The value of the option to prefer the G711a audio codec.

    +

    Value "completed" +The value of the state when Peer connection gathering of ICE candidates has completed.

    MAX_COMPATRECEIVED @@ -564,9 +684,8 @@
    Properties:
    -

    Value "max-compat" - The value of the bundle policy to generate ICE candidates for each media type - so each media type flows through different transports.

    +

    Value "received" +The value of the state when the remote ICE candidate was received.

    MAX_BUNDLEDROPPED @@ -595,9 +714,8 @@
    Properties:
    -

    Value "max-bundle" - The value of the bundle policy to generate ICE candidates for one media type - so all media type flows through a single transport.

    +

    Value "received" +The value of the state when the remote ICE candidate is dropped.

    BALANCEDBUFFERED @@ -626,9 +744,8 @@
    Properties:
    -

    Value "balanced" - The value of the bundle policy to use MAX_BUNDLE if Peer supports it, - else fallback to MAX_COMPAT.

    +

    Value "buffered" +The value of the state when the remote ICE candidate is buffered.

    NONEPROCESSING @@ -657,9 +774,70 @@
    Properties:
    -

    Value "none" - The value of the bundle policy to not use any media bundle. - This removes the a=group:BUNDLE line from session descriptions.

    +

    Value "processing" +The value of the state when the remote ICE candidate is being processed.

    +
    PROCESS_SUCCESS + + + + String + + + + + + + +

    Value "processSuccess" +The value of the state when the remote ICE candidate has been processed successfully. +The ICE candidate that is processed will be used to check against the list of +locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

    +
    PROCESS_ERROR + + + + String + + + + + + + +

    Value "processError" +The value of the state when the remote ICE candidate has failed to be processed.

    GATHERINGMESSAGE @@ -797,13 +971,9 @@
    Properties:
    -

    Value "gathering" - The value of the state when Peer connection is gathering ICE candidates. - These ICE candidates are sent to Peer for its connection to check for a suitable matching - pair of ICE candidates to establish an ICE connection for stream audio, video and data. - See ICE_CONNECTION_STATE for ICE connection status. - This state cannot happen until Peer connection remote "offer" / "answer" - session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

    +

    Value "message" +The value of the Datachannel sending message error type when encountered during +sending P2P message from sendP2PMessage.

    COMPLETEDTRANSFER @@ -832,8 +1002,10 @@
    Properties:
    -

    Value "completed" - The value of the state when Peer connection gathering of ICE candidates has completed.

    +

    Value "transfer" +The value of the Datachannel sending message error type when encountered during +data transfers from sendURLData or +sendBlobData.

    RECEIVEDCONNECTING @@ -971,8 +1139,8 @@
    Properties:
    -

    Value "received" - The value of the state when the remote ICE candidate was received.

    +

    Value "connecting" +The value of the state when Datachannel is attempting to establish a connection.

    DROPPEDOPEN @@ -1001,8 +1169,8 @@
    Properties:
    -

    Value "received" - The value of the state when the remote ICE candidate is dropped.

    +

    Value "open" +The value of the state when Datachannel has established a connection.

    BUFFEREDCLOSING @@ -1031,8 +1199,8 @@
    Properties:
    -

    Value "buffered" - The value of the state when the remote ICE candidate is buffered.

    +

    Value "closing" +The value of the state when Datachannel connection is closing.

    PROCESSINGCLOSED @@ -1061,8 +1229,8 @@
    Properties:
    -

    Value "processing" - The value of the state when the remote ICE candidate is being processed.

    +

    Value "closed" +The value of the state when Datachannel connection has closed.

    PROCESS_SUCCESSERROR @@ -1091,10 +1259,8 @@
    Properties:
    -

    Value "processSuccess" - The value of the state when the remote ICE candidate has been processed successfully. - The ICE candidate that is processed will be used to check against the list of - locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

    +

    Value "error" +The value of the state when Datachannel has encountered an exception during connection.

    PROCESS_ERRORCREATE_ERROR @@ -1123,121 +1289,16 @@
    Properties:
    -

    Value "processError" - The value of the state when the remote ICE candidate has failed to be processed.

    +

    Value "createError" +The value of the state when Datachannel has failed to establish a connection.

    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.6.16 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - -

    - (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object -

    - - - - -
    -

    The list of Datachannel sending message error types.

    -
    - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - + @@ -1268,7 +1331,7 @@
    Properties:
    - + @@ -1312,7 +1375,7 @@
    Properties:
    • - 0.6.16 + 0.1.0
    @@ -1343,7 +1406,7 @@
    Properties:
    @@ -1365,15 +1428,15 @@
    Properties:
    -

    - (static, constant) DATA_CHANNEL_STATE :object +

    + (static, constant) DATA_CHANNEL_TYPE :object

    -

    The list of Datachannel connection states.

    +

    The list of Datachannel types.

    @@ -1394,1672 +1457,18 @@
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    MESSAGEBUFFERED_AMOUNT_LOW @@ -1258,9 +1319,11 @@
    Properties:
    -

    Value "message" - The value of the Datachannel sending message error type when encountered during - sending P2P message from Skylink#sendP2PMessage.

    +

    Value "bufferedAmountLow" +The value of the state when Datachannel when the amount of data buffered to be sent +falls below the Datachannel threshold. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

    TRANSFERSEND_MESSAGE_ERROR @@ -1289,10 +1352,10 @@
    Properties:
    -

    Value "transfer" - The value of the Datachannel sending message error type when encountered during - data transfers from Skylink#sendURLData or - Skylink#sendBlobData.

    +

    Value "sendMessageError" +The value of the state when Datachannel when data transfer packets or P2P message fails to send. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

    Description
    CONNECTING - - - - String - - - - - - - -

    Value "connecting" - The value of the state when Datachannel is attempting to establish a connection.

    -
    OPEN - - - - String - - - - - - - -

    Value "open" - The value of the state when Datachannel has established a connection.

    -
    CLOSING - - - - String - - - - - - - -

    Value "closing" - The value of the state when Datachannel connection is closing.

    -
    CLOSED - - - - String - - - - - - - -

    Value "closed" - The value of the state when Datachannel connection has closed.

    -
    ERROR - - - - String - - - - - - - -

    Value "error" - The value of the state when Datachannel has encountered an exception during connection.

    -
    CREATE_ERROR - - - - String - - - - - - - -

    Value "createError" - The value of the state when Datachannel has failed to establish a connection.

    -
    BUFFERED_AMOUNT_LOW - - - - String - - - - - - - -

    Value "bufferedAmountLow" - The value of the state when Datachannel when the amount of data buffered to be sent - falls below the Datachannel threshold. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

    -
    SEND_MESSAGE_ERROR - - - - String - - - - - - - -

    Value "sendMessageError" - The value of the state when Datachannel when data transfer packets or P2P message fails to send. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

    -
    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.1.0 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - -

    - (static, constant) DATA_CHANNEL_TYPE :object -

    - - - - -
    -

    The list of Datachannel types.

    -
    - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    MESSAGING - - - - String - - - - - - - -

    Value "messaging" - The value of the Datachannel type that is used only for messaging in - Skylink#sendP2PMessage. - However for Peers that do not support simultaneous data transfers, this Datachannel - type will be used to do data transfers (1 at a time). - Each Peer connections will only have one of this Datachannel type and the - connection will only close when the Peer connection is closed (happens when peerConnectionStateEvent triggers parameter payload state as - CLOSED for Peer).

    -
    DATA - - - - String - - - - - - - -

    Value "data" - The value of the Datachannel type that is used only for a data transfer in - Skylink#sendURLData and - Skylink#sendBlobData. - The connection will close after the data transfer has been completed or terminated (happens when - SkylinkEvents.event:dataTransferStatedataTransferStateEvent triggers parameter payload - state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, - REJECTED, CANCEL or ERROR for Peer).

    -
    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.6.1 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - -

    - (static, constant) EVENTS :object -

    - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - + + - + @@ -3088,7 +1504,7 @@
    Properties:
    - + @@ -3129,7 +1552,7 @@
    Properties:
    • - 2.0 + 0.6.1
    @@ -3160,7 +1583,7 @@
    Properties:
    @@ -3244,7 +1667,7 @@
    Properties:
    @@ -3274,7 +1697,7 @@
    Properties:
    @@ -3304,7 +1727,7 @@
    Properties:
    @@ -3355,7 +1778,7 @@
    Properties:
    @@ -3385,15 +1808,15 @@

    -

    - Note that this feature requires "isPrivileged" flag to be enabled for the App Key +
    + Note that this feature requires "isPrivileged" flag to be enabled for the App Key provided in Skylink initOptions, as only Users connecting using the App Key with this flag enabled (which we call privileged Users / Peers) can retrieve the list of Peer IDs from Rooms within the same App space. Read more about privileged App Key feature here.
    -The list of getPeers() method retrieval states.

    +The list of getPeers method retrieval states.
    @@ -3447,8 +1870,8 @@

    Properties:
    @@ -3478,8 +1901,8 @@
    Properties:
    @@ -3530,7 +1953,7 @@
    Properties:
    @@ -3614,9 +2037,9 @@
    Properties:
    @@ -3646,9 +2069,9 @@
    Properties:
    @@ -3678,8 +2101,8 @@
    Properties:
    @@ -3709,8 +2132,8 @@
    Properties:
    @@ -3740,8 +2163,8 @@
    Properties:
    @@ -3771,9 +2194,9 @@
    Properties:
    @@ -3824,7 +2247,7 @@
    Properties:
    @@ -3854,11 +2277,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of Peer connection ICE connection states.

    +The list of Peer connection ICE connection states.
    @@ -3912,9 +2335,9 @@

    Properties:
    @@ -3944,11 +2367,11 @@
    Properties:
    @@ -3978,10 +2401,10 @@
    Properties:
    @@ -4011,7 +2434,7 @@
    Properties:
    @@ -4041,9 +2464,9 @@
    Properties:
    @@ -4073,38 +2496,8 @@
    Properties:
    - - - - - - - - - - - - - - - - @@ -4155,7 +2548,7 @@
    Properties:
    @@ -4239,8 +2632,8 @@
    Properties:
    @@ -4270,8 +2663,8 @@
    Properties:
    @@ -4301,8 +2694,8 @@
    Properties:
    @@ -4332,8 +2725,8 @@
    Properties:
    @@ -4363,7 +2756,7 @@
    Properties:
    @@ -4393,7 +2786,7 @@
    Properties:
    @@ -4444,7 +2837,7 @@
    Properties:
    @@ -4474,8 +2867,8 @@

    -

    The list of Skylink#getUserMedia or -Skylink#shareScreen Stream fallback states.

    +

    The list of getUserMedia or +shareScreen Stream fallback states.

    @@ -4529,10 +2922,10 @@

    Properties:
    @@ -4562,8 +2955,8 @@
    Properties:
    @@ -4593,8 +2986,8 @@
    Properties:
    @@ -4645,7 +3038,7 @@
    Properties:
    @@ -4676,7 +3069,7 @@

    The list of available screensharing media sources configured in the -Skylink#shareScreen.

    +shareScreen.

    @@ -4730,7 +3123,7 @@

    Properties:
    @@ -4760,7 +3153,7 @@
    Properties:
    @@ -4790,8 +3183,8 @@
    Properties:
    @@ -4821,9 +3214,9 @@
    Properties:
    @@ -4853,8 +3246,8 @@
    Properties:
    @@ -4884,9 +3277,9 @@
    Properties:
    @@ -4916,8 +3309,8 @@
    Properties:
    @@ -4968,7 +3361,7 @@
    Properties:
    @@ -5189,7 +3582,7 @@
    Properties:
    @@ -5384,7 +3777,7 @@
    Properties:
    @@ -5663,7 +4056,7 @@
    Properties:
    @@ -5693,11 +4086,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of available Peer connection certificates cryptographic algorithm to use.

    +The list of available Peer connection certificates cryptographic algorithm to use.
    @@ -5751,7 +4144,7 @@

    Properties:
    @@ -5781,7 +4174,7 @@
    Properties:
    @@ -5811,7 +4204,7 @@
    Properties:
    @@ -5862,7 +4255,7 @@
    Properties:
    @@ -5892,11 +4285,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of Peer connection session description exchanging states.

    +The list of Peer connection session description exchanging states.
    @@ -5950,7 +4343,7 @@

    Properties:
    @@ -5980,11 +4373,11 @@
    Properties:
    @@ -6014,11 +4407,11 @@
    Properties:
    @@ -6048,7 +4441,7 @@
    Properties:
    @@ -6099,7 +4492,7 @@
    Properties:
    @@ -6183,7 +4576,7 @@
    Properties:
    @@ -6213,8 +4606,8 @@
    Properties:
    @@ -6244,10 +4637,10 @@
    Properties:
    @@ -6277,7 +4670,7 @@
    Properties:
    @@ -6328,7 +4721,7 @@
    Properties:
    @@ -6412,9 +4805,9 @@
    Properties:
    @@ -6444,9 +4837,9 @@
    Properties:
    @@ -6476,9 +4869,9 @@
    Properties:
    @@ -6508,10 +4901,10 @@
    Properties:
    @@ -6541,12 +4934,12 @@
    Properties:
    @@ -6576,9 +4969,9 @@
    Properties:
    @@ -6608,9 +5001,9 @@
    Properties:
    @@ -6641,10 +5034,10 @@
    Properties:
    @@ -6674,8 +5067,8 @@
    Properties:
    @@ -6705,9 +5098,9 @@
    Properties:
    @@ -6737,7 +5130,7 @@
    Properties:
    @@ -6767,7 +5160,7 @@
    Properties:
    @@ -6797,9 +5190,9 @@
    Properties:
    @@ -6829,10 +5222,10 @@
    Properties:
    @@ -6862,13 +5255,13 @@
    Properties:
    @@ -6898,7 +5291,7 @@
    Properties:
    @@ -6928,10 +5321,10 @@
    Properties:
    @@ -6961,7 +5354,7 @@
    Properties:
    @@ -7012,7 +5405,7 @@
    Properties:
    @@ -7096,7 +5489,7 @@
    Properties:
    @@ -7126,8 +5519,8 @@
    Properties:
    @@ -7157,7 +5550,7 @@
    Properties:
    @@ -7187,9 +5580,9 @@
    Properties:
    @@ -7240,7 +5633,7 @@
    Properties:
    @@ -7270,11 +5663,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of available Peer connection RTCP mux policies.

    +The list of available Peer connection RTCP mux policies.
    @@ -7328,7 +5721,7 @@

    Properties:
    @@ -7358,7 +5751,7 @@
    Properties:
    @@ -7409,7 +5802,7 @@
    Properties:
    @@ -7493,7 +5886,7 @@
    Properties:
    @@ -7523,8 +5916,8 @@
    Properties:
    @@ -7554,7 +5947,7 @@
    Properties:
    @@ -7605,7 +5998,7 @@
    Properties:
    @@ -7768,7 +6161,7 @@
    Properties:
    @@ -7798,11 +6191,11 @@

    -

    +
    As there are more features getting implemented, there will be eventually more different types of server Peers.
    -The list of available types of server Peer connections.

    +The list of available types of server Peer connections.
    @@ -7856,7 +6249,7 @@

    Properties:
    @@ -7907,7 +6300,7 @@
    Properties:
    @@ -7937,11 +6330,11 @@

    -

    +
    Note that this is used only for SDK developer purposes.
    - Current version: 0.1.4 + Current version: 2.1.0
    -The value of the current version of the Signaling socket message protocol.

    +The value of the current version of the Signaling socket message protocol.
    @@ -7987,7 +6380,7 @@

    @@ -8017,7 +6410,7 @@

    -

    The list of Skylink#joinRoom socket connection failure states.

    +

    The list of joinRoom socket connection failure states.

    @@ -8071,8 +6464,8 @@

    Properties:
    @@ -8102,8 +6495,8 @@
    Properties:
    @@ -8133,9 +6526,9 @@
    Properties:
    @@ -8165,9 +6558,9 @@
    Properties:
    @@ -8197,9 +6590,9 @@
    Properties:
    @@ -8250,7 +6643,7 @@
    Properties:
    @@ -8280,7 +6673,7 @@

    -

    The list of Skylink#joinRoom socket connection reconnection states.

    +

    The list of joinRoom socket connection reconnection states.

    @@ -8334,8 +6727,8 @@

    Properties:
    @@ -8365,8 +6758,8 @@
    Properties:
    @@ -8396,8 +6789,8 @@
    Properties:
    @@ -8427,8 +6820,8 @@
    Properties:
    @@ -8458,8 +6851,8 @@
    Properties:
    @@ -8510,7 +6903,7 @@
    Properties:
    @@ -8540,7 +6933,7 @@

    -

    The list of Signaling server reaction states during Skylink#joinRoom.

    +

    The list of Signaling server reaction states during joinRoom.

    @@ -8594,7 +6987,7 @@

    Properties:
    @@ -8624,7 +7017,7 @@
    Properties:
    @@ -8654,7 +7047,7 @@
    Properties:
    @@ -8705,7 +7098,7 @@
    Properties:
    @@ -8736,7 +7129,7 @@

    The list of Signaling server reaction states reason of action code during -Skylink#joinRoom.

    +joinRoom.

    @@ -8790,9 +7183,9 @@

    Properties:
    @@ -8822,8 +7215,8 @@
    Properties:
    @@ -8853,9 +7246,9 @@
    Properties:
    @@ -8885,9 +7278,9 @@
    Properties:
    @@ -8917,9 +7310,9 @@
    Properties:
    @@ -8949,9 +7342,9 @@
    Properties:
    @@ -8981,16 +7374,12 @@
    Properties:
    @@ -9020,10 +7409,10 @@
    Properties:
    @@ -9053,9 +7442,9 @@
    Properties:
    @@ -9085,9 +7474,9 @@
    Properties:
    @@ -9117,10 +7506,10 @@
    Properties:
    @@ -9171,7 +7560,7 @@
    Properties:
    @@ -9201,16 +7590,16 @@

    -

    +
    Note that configuring the protocol may not necessarily result in the desired network transports protocol used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing + This simply configures the TURN ICE server urls query option when constructing the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols.
    The list of TURN network transport protocols options when constructing Peer connections configured in Skylink initOptions. -Example .urls inital input: ["turn:server.com?transport=tcp", -"turn:server1.com:3478", "turn:server.com?transport=udp"]

    +Example .urls inital input: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]
    @@ -9264,9 +7653,9 @@

    Properties:
    @@ -9296,9 +7685,9 @@
    Properties:
    @@ -9328,9 +7717,9 @@
    Properties:
    @@ -9360,11 +7749,11 @@
    Properties:
    @@ -9394,10 +7783,10 @@
    Properties:
    @@ -9448,239 +7837,7 @@
    Properties:
    -
    - - - - - - - - - - - - - - - - - - -

    - (static, constant) VIDEO_CODEC :Object -

    - - - - -
    -

    - Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. -
    -The list of available video codecs to set as the preferred video codec to use to encode -sending video data when available encoded video codec for Peer connections -configured in Skylink initOptions.

    -
    - - - - -
    Properties:
    - - - -
    NameTypeDescription
    ON_INCOMING_STREAM - - - - String - - - - - - - -

    'onIncomingStream'

    -
    ON_INCOMING_SCREEN_STREAM - - - - String - - - - - - - -

    'onIncomingScreenStream'

    -
    STREAM_ENDED - - - - String - - - - - - - -

    'streamEnded'

    -
    PEER_UPDATED - - - - String - - - - - - - -

    'peerUpdated'

    -
    PEER_JOINED - - - - String - - - - - - - -

    'peerJoined'

    -
    PEER_LEFT - - - - String - - - - - - - -

    'peerLeft'

    -
    PEER_CONNECTION_STATE - - - - String - - - - - - - -

    'peerConnectionState'

    -
    DATA_CHANNEL_STATE - - - - String - - - - - - - -

    'dataChannelState'

    -
    ON_INCOMING_MESSAGE - - - - String - - - - - - - -

    'onIncomingMessage'

    -
    HANDSHAKE_PROGRESS - - - - String - - - - - - - -

    'handshakeProgress'

    -
    SERVER_PEER_JOINED - - - - String - - - - - - - -

    'serverPeerJoined'

    -
    SERVER_PEER_LEFT - - - - String - - - - - - - -

    'serverPeerLeft'

    -
    CANDIDATE_PROCESSING_STATE - - - - String - - - - - - - -

    'candidateProcessingState'

    -
    CANDIDATE_GENERATION_STATE - - - - String - - - - - - - -

    'candidateGenerationState'

    -
    CANDIDATES_GATHERED - - - - String - - - - - - - -

    'candidatesGathered'

    -
    ON_INCOMING_DATA - - - - String - - - - - - - -

    'onIncomingData'

    -
    GET_PEERS_STATE_CHANGE - - - - String - - - - - - - -

    'getPeersStateChange'

    -
    SESSION_DISCONNECT - - - - String - - - - - - - -

    'sessionDisconnect'

    -
    STREAM_MUTED - - - - String - - - - - - - -

    'streamMuted'

    -
    CHANNEL_OPEN - - - - String - - - - - - - -

    'channelOpen'

    -
    CHANNEL_CLOSE - - - - String - - - - - - - -

    'channelClose'

    -
    CHANNEL_MESSAGE - - - - String - - - - - - - -

    'channelMessage'

    -
    CHANNEL_ERROR - - - - String - - - - - - - -

    'channelError'

    -
    CHANNEL_RETRY - - - - String - - - - - - - -

    'channelRetry'

    -
    SOCKET_ERROR - - - - String - - - - - - - -

    'socketError'

    -
    SYSTEM_ACTION - - - - String - - - - - - - -

    'systemAction'

    -
    MEDIA_ACCESS_FALLBACK - - - - String - - - - - - - -

    'mediaAccessFallback'

    -
    MEDIA_ACCESS_REQUIRED - - - - String - - - - - - - -

    'mediaAccessRequired'

    -
    MEDIA_ACCESS_STOPPED - - - - String - - - - - - - -

    'mediaAccessStopped'

    -
    MEDIA_ACCESS_SUCCESS - - - - String - - - - - - - -

    'mediaAccessSuccess'

    -
    RECORDING_STATE - - - - String - - - - - - - -

    'recordingState'

    -
    LOCAL_MEDIA_MUTED - - - - String - - - - - - - -

    'localMediaMuted'

    -
    MEDIA_ACCESS_ERROR - - - - String - - - - - - - -

    'mediaAccessError'

    -
    GET_CONNECTION_STATUS_STATE_CHANGE - - - - String - - - - - - - -

    'getConnectionStatusStateChange'

    -
    READY_STATE_CHANGE - - - - String - - - - - - - -

    'readyStateChange'

    -
    ROOM_LOCK - - - - String - - - - - - - -

    'roomLock'

    -
    ICE_CONNECTION_STATE - - - - String - - - - - - - -

    'iceConnectionState'

    -
    BYE - - - - String - - - - - - - -

    'bye'

    -
    RTMP_STATE - - - - String - - - - - - - -

    'rtmpState'

    -
    Description
    STORED_MESSAGESMESSAGING @@ -3080,7 +1489,14 @@
    Properties:
    -

    'storedMessages'

    +

    Value "messaging" +The value of the Datachannel type that is used only for messaging in +sendP2PMessage. +However for Peers that do not support simultaneous data transfers, this Datachannel +type will be used to do data transfers (1 at a time). +Each Peer connections will only have one of this Datachannel type and the +connection will only close when the Peer connection is closed (happens when PEER CONNECTION STATE event triggers parameter payload state as +CLOSED for Peer).

    ENCRYPT_SECRETS_UPDATEDDATA @@ -3109,7 +1525,14 @@
    Properties:
    -

    'encryptSecretsUpdated'

    +

    [UNAVAILABLE] Value "data" +The value of the Datachannel type that is used only for a data transfer in +sendURLData and +sendBlobData. +The connection will close after the data transfer has been completed or terminated (happens when +DATA TRANSFER STATE triggers parameter payload +state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, +REJECTED, CANCEL or ERROR for Peer).

    Value 0 - The value of the state when Skylink#getConnectionStatus is retrieving the Peer connection stats.

    +The value of the state when getConnectionStatus is retrieving the Peer connection stats.

    Value 1 - The value of the state when Skylink#getConnectionStatus has retrieved the Peer connection stats successfully.

    +The value of the state when getConnectionStatus has retrieved the Peer connection stats successfully.

    Value -1 - The value of the state when Skylink#getConnectionStatus has failed retrieving the Peer connection stats.

    +The value of the state when getConnectionStatus has failed retrieving the Peer connection stats.

    Value "enquired" - The value of the state when getPeers() is retrieving the list of Peer IDs - from Rooms within the same App space from the Signaling server.

    +The value of the state when getPeers is retrieving the list of Peer IDs +from Rooms within the same App space from the Signaling server.

    Value "received" - The value of the state when getPeers() has retrieved the list of Peer IDs - from Rooms within the same App space from the Signaling server successfully.

    +The value of the state when getPeers has retrieved the list of Peer IDs +from Rooms within the same App space from the Signaling server successfully.

    Value "enter" - The value of the connection state when Peer has just entered the Room. - At this stage, PEER_JOINED - is triggered.

    +The value of the connection state when Peer has just entered the Room. +At this stage, PEER_JOINED +is triggered.

    Value "welcome" - The value of the connection state when Peer is aware that User has entered the Room. - At this stage, PEER_JOINED - is triggered and Peer connection may commence.

    +The value of the connection state when Peer is aware that User has entered the Room. +At this stage, PEER_JOINED +is triggered and Peer connection may commence.

    Value "offer" - The value of the connection state when Peer connection has set the local / remote "offer" - session description to start streaming connection.

    +The value of the connection state when Peer connection has set the local / remote "offer" +session description to start streaming connection.

    Value "answer" - The value of the connection state when Peer connection has set the local / remote "answer" - session description to establish streaming connection.

    +The value of the connection state when Peer connection has set the local / remote "answer" +session description to establish streaming connection.

    Value "answerAck" - The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is - complete.

    +The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is +complete.

    Value "error" - The value of the connection state when Peer connection has failed to establish streaming connection. - This happens when there are errors that occurs in creating local "offer" / - "answer", or when setting remote / local "offer" / "answer".

    +The value of the connection state when Peer connection has failed to establish streaming connection. +This happens when there are errors that occurs in creating local "offer" / +"answer", or when setting remote / local "offer" / "answer".

    Value "checking" - The value of the state when Peer connection is checking for a suitable matching pair of - ICE candidates to establish ICE connection. - Exchanging of ICE candidates happens during candidateGenerationStateEvent.

    +The value of the state when Peer connection is checking for a suitable matching pair of +ICE candidates to establish ICE connection. +Exchanging of ICE candidates happens during CANDIDATE GENERATION STATE event.

    Value "connected" - The value of the state when Peer connection has found a suitable matching pair of - ICE candidates to establish ICE connection but is still checking for a better - suitable matching pair of ICE candidates for the best ICE connectivity. - At this state, ICE connection is already established and audio, video and - data streaming has already started.

    +The value of the state when Peer connection has found a suitable matching pair of +ICE candidates to establish ICE connection but is still checking for a better +suitable matching pair of ICE candidates for the best ICE connectivity. +At this state, ICE connection is already established and audio, video and +data streaming has already started.

    Value "completed" - The value of the state when Peer connection has found the best suitable matching pair - of ICE candidates to establish ICE connection and checking has stopped. - At this state, ICE connection is already established and audio, video and - data streaming has already started. This may happpen after CONNECTED.

    +The value of the state when Peer connection has found the best suitable matching pair +of ICE candidates to establish ICE connection and checking has stopped. +At this state, ICE connection is already established and audio, video and +data streaming has already started. This may happen after CONNECTED.

    Value "failed" - The value of the state when Peer connection ICE connection has failed.

    +The value of the state when Peer connection ICE connection has failed.

    Value "disconnected" - The value of the state when Peer connection ICE connection is disconnected. - At this state, the Peer connection may attempt to revive the ICE connection. - This may happen due to flaky network conditions.

    +The value of the state when Peer connection ICE connection is disconnected. +At this state, the Peer connection may attempt to revive the ICE connection. +This may happen due to flaky network conditions.

    Value "closed" - The value of the state when Peer connection ICE connection has closed. - This happens when Peer connection is closed and no streaming can occur at this stage.

    -
    TRICKLE_FAILED - - - - String - - - - - - - -

    Value "trickleFailed" - The value of the state when Peer connection ICE connection has failed during trickle ICE.

    +The value of the state when Peer connection ICE connection has closed. +This happens when Peer connection is closed and no streaming can occur at this stage.

    Value 4 - The value of the log level that displays console debug, - log, info, warn and error logs.

    +The value of the log level that displays console debug, +log, info, warn and error logs.

    Value 3 - The value of the log level that displays only console log, - info, warn and error logs.

    +The value of the log level that displays only console log, +info, warn and error logs.

    Value 2 - The value of the log level that displays only console info, - warn and error logs.

    +The value of the log level that displays only console info, +warn and error logs.

    Value 1 - The value of the log level that displays only console warn - and error logs.

    +The value of the log level that displays only console warn +and error logs.

    Value 0 - The value of the log level that displays only console error logs.

    +The value of the log level that displays only console error logs.

    Value -1 - The value of the log level that displays no logs.

    +The value of the log level that displays no logs.

    Value 0 - The value of the state when getUserMedia() will retrieve audio track only - when retrieving audio and video tracks failed. - This can be configured by Skylink initOptions - audioFallback option.

    +The value of the state when getUserMedia method will retrieve audio track only +when retrieving audio and video tracks failed. +This can be configured by Skylink initOptions +audioFallback option.

    Value 1 - The value of the state when getUserMedia() or shareScreen() - retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

    +The value of the state when getUserMedia or shareScreen +method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

    Value -1 - The value of the state when getUserMedia() failed to retrieve audio track only - after retrieving audio and video tracks failed.

    +The value of the state when getUserMedia method failed to retrieve audio track only +after retrieving audio and video tracks failed.

    Value "screen" - The value of the option to share entire screen.

    +The value of the option to share entire screen.

    Value "window" - The value of the option to share application windows.

    +The value of the option to share application windows.

    Value "tab" - The value of the option to share browser tab. - Note that this is only supported by from Chrome 52+ and Opera 39+.

    +The value of the option to share browser tab. +Note that this is only supported by from Chrome 52+ and Opera 39+.

    Value "audio" - The value of the option to share browser tab audio. - Note that this is only supported by Chrome 52+ and Opera 39+. - options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

    +The value of the option to share browser tab audio. +Note that this is only supported by Chrome 52+ and Opera 39+. +options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

    Value "application" - The value of the option to share applications. - Note that this is only supported by Firefox currently.

    +The value of the option to share applications. +Note that this is only supported by Firefox currently.

    Value "browser" - The value of the option to share browser. - Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled - in about:config.

    +The value of the option to share browser. +Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled +in about:config.

    Value "camera" - The value of the option to share camera. - Note that this is only supported by Firefox currently.

    +The value of the option to share camera. +Note that this is only supported by Firefox currently.

    Value "RSA" - The value of the Peer connection certificate algorithm to use RSA-1024.

    +The value of the Peer connection certificate algorithm to use RSA-1024.

    Value "ECDSA" - The value of the Peer connection certificate algorithm to use ECDSA.

    +The value of the Peer connection certificate algorithm to use ECDSA.

    Value "AUTO" - The value of the Peer connection to use the default certificate generated.

    +The value of the Peer connection to use the default certificate generated.

    Value "stable" - The value of the state when there is no session description being exchanged between Peer connection.

    +The value of the state when there is no session description being exchanged between Peer connection.

    Value "have-local-offer" - The value of the state when local "offer" session description is set. - This should transition to STABLE state after remote "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

    +The value of the state when local "offer" session description is set. +This should transition to STABLE state after remote "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

    Value "have-remote-offer" - The value of the state when remote "offer" session description is set. - This should transition to STABLE state after local "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

    +The value of the state when remote "offer" session description is set. +This should transition to STABLE state after local "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

    Value "closed" - The value of the state when Peer connection is closed and no session description can be exchanged and set.

    +The value of the state when Peer connection is closed and no session description can be exchanged and set.

    Value 0 - The value of the state when init() has just started.

    +The value of the state when init() has just started.

    Value 1 - The value of the state when init() is authenticating App Key provided - (and with credentials if provided as well) with the Auth server.

    +The value of the state when init() is authenticating App Key provided +(and with credentials if provided as well) with the Auth server.

    Value 2 - The value of the state when init() has successfully authenticated with the Auth server. - Room session token is generated for joining the <codRoom provided in init(). - Room session token has to be generated each time User switches to a different Room - in Skylink#joinRoom.

    +The value of the state when init() has successfully authenticated with the Auth server. +Room session token is generated for joining the <codRoom provided in init(). +Room session token has to be generated each time User switches to a different Room +in joinRoom method.

    Value -1 - The value of the state when init() has failed authenticating with the Auth server.

    +The value of the state when init() has failed authenticating with the Auth server.

    Value 4001 - The value of the failure code when provided App Key in init() does not exists. - To resolve this, check that the provided App Key exists in - the Temasys Console.

    +The value of the failure code when provided App Key in init() does not exists. +To resolve this, check that the provided App Key exists in +the Temasys Console.

    Value 4002 - The value of the failure code when "domainName" property in the App Key does not - match the accessing server IP address. - To resolve this, contact our support portal.

    +The value of the failure code when "domainName" property in the App Key does not +match the accessing server IP address. +To resolve this, contact our support portal.

    Value 4003 - The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. - To resolve this, configure the App Key CORS in - the Temasys Console.

    +The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. +To resolve this, configure the App Key CORS in +the Temasys Console.

    Value 4004 - The value of the failure code when there is no CORS - present in the HTTP headers during the request to the Auth server present nor - options.credentials.credentials configuration provided in the init(). - To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

    +The value of the failure code when there is no CORS +present in the HTTP headers during the request to the Auth server present nor +options.credentials.credentials configuration provided in the init(). +To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

    Value 4005 - The value of the failure code when the options.credentials.credentials configuration provided in the - init() does not match up with the options.credentials.startDateTime, - options.credentials.duration or that the "secret" used to generate - options.credentials.credentials does not match the App Key's "secret property provided. - To resolve this, check that the options.credentials.credentials is generated correctly and - that the "secret" used to generate it is from the App Key provided in the init().

    +The value of the failure code when the options.credentials.credentials configuration provided in the +init() does not match up with the options.credentials.startDateTime, +options.credentials.duration or that the "secret" used to generate +options.credentials.credentials does not match the App Key's "secret property provided. +To resolve this, check that the options.credentials.credentials is generated correctly and +that the "secret" used to generate it is from the App Key provided in the init().

    Value 4006 - The value of the failure code when the App Key provided does not belong to any existing App. - To resolve this, check that the provided App Key exists in - the Developer Console.

    +The value of the failure code when the App Key provided does not belong to any existing App. +To resolve this, check that the provided App Key exists in +the Developer Console.

    Value 4010 - The value of the failure code when provided options.credentials - does not match any scheduled meetings available for the "Persistent Room" enabled App Key provided. - See the Persistent Room article to learn more.

    Value 4020 - The value of the failure code when App Key has reached its current concurrent users limit. - To resolve this, use another App Key. To create App Keys dynamically, see the - Application REST API - docs for more information.

    +The value of the failure code when App Key has reached its current concurrent users limit. +To resolve this, use another App Key. To create App Keys dynamically, see the +Application REST API +docs for more information.

    Value 4021 - The value of the failure code when App Key retrieval of authentication token fails. - If this happens frequently, contact our support portal.

    +The value of the failure code when App Key retrieval of authentication token fails. +If this happens frequently, contact our support portal.

    Value 5005 - The value of the failure code when App Key makes request to the incorrect Auth server. - To resolve this, ensure that the roomServer is not configured. If this persists even without - roomServer configuration, contact our support portal.

    +The value of the failure code when App Key makes request to the incorrect Auth server. +To resolve this, ensure that the roomServer is not configured. If this persists even without +roomServer configuration, contact our support portal.

    Value -1 - The value of the failure code when requesting to Auth server has timed out.

    +The value of the failure code when requesting to Auth server has timed out.

    Value -2 - The value of the failure code when response from Auth server is empty or timed out.

    +The value of the failure code when response from Auth server is empty or timed out.

    Value 1 - The value of the failure code when dependency Socket.IO client is not loaded. - To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. - You may use the provided Socket.IO client CDN here.

    +The value of the failure code when dependency Socket.IO client is not loaded. +To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. +You may use the provided Socket.IO client CDN here.

    Value 2 - The value of the failure code when - XMLHttpRequest API required to make request to Auth server is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here.

    +The value of the failure code when +XMLHttpRequest API required to make request to Auth server is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here.

    Value 3 - The value of the failure code when - RTCPeerConnection API required for Peer connections is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here. - For plugin supported browsers, if the clients - does not have the plugin installed, there will be an installation toolbar that will prompt for installation - to support the RTCPeerConnection API.

    +The value of the failure code when +RTCPeerConnection API required for Peer connections is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here. +For plugin supported browsers, if the clients +does not have the plugin installed, there will be an installation toolbar that will prompt for installation +to support the RTCPeerConnection API.

    Value 4 - The value of the failure code when provided init() configuration has errors.

    +The value of the failure code when provided init() configuration has errors.

    Value 7 - The value of the failure code when dependency AdapterJS - is not loaded. - To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. - You may use the provided AdapterJS CDN here.

    +The value of the failure code when dependency AdapterJS +is not loaded. +To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. +You may use the provided AdapterJS CDN here.

    Value 8 - The value of the failure code when codecs support cannot be parsed and retrieved.

    +The value of the failure code when codecs support cannot be parsed and retrieved.

    Value 0 - The value of the state when recording session has started.

    +The value of the state when recording session has started.

    Value 1 - The value of the state when recording session has stopped.
    - At this stage, the recorded videos will go through the mixin server to compile the videos.

    +The value of the state when recording session has stopped.
    +At this stage, the recorded videos will go through the mixin server to compile the videos.

    Value 2 - The value of the state when recording session mixin request has been completed.

    +The value of the state when recording session mixin request has been completed.

    Value -1 - The value of the state state when recording session has errors. - This can happen during recording session or during mixin of recording videos, - and at this stage, any current recording session or mixin is aborted.

    +The value of the state state when recording session has errors. +This can happen during recording session or during mixin of recording videos, +and at this stage, any current recording session or mixin is aborted.

    Value "require" - The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

    +The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

    Value "negotiate" - The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

    +The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

    Value 0 - The value of the state when live streaming session has started.

    +The value of the state when live streaming session has started.

    Value 1 - The value of the state when live streaming session has stopped.
    - At this stage, the recorded videos will go through the mixin server to compile the videos.

    +The value of the state when live streaming session has stopped.
    +At this stage, the recorded videos will go through the mixin server to compile the videos.

    Value -1 - The value of the state state when live streaming session has errors.

    +The value of the state state when live streaming session has errors.

    Value "mcu" - The value of the server Peer type that is used for MCU connection.

    +The value of the server Peer type that is used for MCU connection.

    Value 0 - The value of the failure state when joinRoom() socket connection failed to establish with - the Signaling server at the first attempt.

    +The value of the failure state when joinRoom socket connection failed to establish with +the Signaling server at the first attempt.

    Value -1 - The value of the failure state when joinRoom() socket connection failed to establish - the Signaling server after the first attempt.

    +The value of the failure state when joinRoom socket connection failed to establish +the Signaling server after the first attempt.

    Value -2 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of the first attempt in CONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

    +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of the first attempt in CONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

    Value -3 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of several attempts in RECONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

    +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of several attempts in RECONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

    Value -4 - The value of the failure state when joinRoom() socket connection is attempting - to reconnect with a new port or transport after the failure of attempts in - CONNECTION_FAILED or RECONNECTED_FAILED.

    +The value of the failure state when joinRoom socket connection is attempting +to reconnect with a new port or transport after the failure of attempts in +CONNECTION_FAILED or RECONNECTED_FAILED.

    Value "nonfallback" - The value of the reconnection state when joinRoom() socket connection is at its initial state - without transitioning to any new socket port or transports yet.

    +The value of the reconnection state when joinRoom socket connection is at its initial state +without transitioning to any new socket port or transports yet.

    Value "fallbackPortNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

    Value "fallbackPortSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

    Value "fallbackLongPollingNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

    Value "fallbackLongPollingSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

    Value "warning" - The value of the state when Room session is about to end.

    +The value of the state when Room session is about to end.

    Value "reject" - The value of the state when Room session has failed to start or has ended.

    +The value of the state when Room session has failed to start or has ended.

    Value "locked" - The value of the state when Room sis locked.

    +The value of the state when Room sis locked.

    Value "oldTimeStamp" - The value of the reason code when Room session token has expired. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session token has expired. +Happens during joinRoom request. +Results with: REJECT

    Value "credentialError" - The value of the reason code when Room session token provided is invalid. - Happens during Skylink#joinRoom request.

    +The value of the reason code when Room session token provided is invalid. +Happens during joinRoom request.

    Value "duplicatedLogin" - The value of the reason code when Room session token has been used already. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session token has been used already. +Happens during joinRoom request. +Results with: REJECT

    Value "notStart" - The value of the reason code when Room session has not started. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session has not started. +Happens during joinRoom request. +Results with: REJECT

    Value "expired" - The value of the reason code when Room session has ended already. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session has ended already. +Happens during joinRoom request. +Results with: REJECT

    Value "locked" - The value of the reason code when Room is locked. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room is locked. +Happens during joinRoom request. +Results with: REJECT

    Value "fastmsg" - The value of the reason code when User is flooding socket messages to the Signaling server - that is sent too quickly within less than a second interval. - Happens after Room session has started. This can be caused by various methods like - Skylink#sendMessage, - Skylink#muteStreams, - Skylink#enableAudio, - Skylink#enableVideo, - Skylink#disableAudio, - Skylink#disableVideo, - Results with: WARNING

    +The value of the reason code when User is flooding socket messages to the Signaling server +that is sent too quickly within less than a second interval. +Happens after Room session has started. This can be caused by various methods like +sendMessage, +muteStreams +Results with: WARNING

    Value "toClose" - The value of the reason code when Room session is ending. - Happens after Room session has started. This serves as a prerequisite warning before - ROOM_CLOSED occurs. - Results with: WARNING

    +The value of the reason code when Room session is ending. +Happens after Room session has started. This serves as a prerequisite warning before +ROOM_CLOSED occurs. +Results with: WARNING

    Value "roomclose" - The value of the reason code when Room session has just ended. - Happens after Room session has started. - Results with: REJECT

    +The value of the reason code when Room session has just ended. +Happens after Room session has started. +Results with: REJECT

    Value "serverError" - The value of the reason code when Room session fails to start due to some technical errors. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session fails to start due to some technical errors. +Happens during joinRoom request. +Results with: REJECT

    Value "keyFailed" - The value of the reason code when Room session fails to start due to some technical error pertaining to - App Key initialization. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session fails to start due to some technical error pertaining to +App Key initialization. +Happens during joinRoom request. +Results with: REJECT

    Value "tcp" - The value of the option to configure using only TCP network transport protocol. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478?transport=tcp"]

    +The value of the option to configure using only TCP network transport protocol. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478?transport=tcp"]

    Value "udp" - The value of the option to configure using only UDP network transport protocol. - Example .urls output: ["turn:server.com?transport=udp", - "turn:server1.com:3478?transport=udp"]

    +The value of the option to configure using only UDP network transport protocol. +Example .urls output: ["turn:server.com?transport=udp", +"turn:server1.com:3478?transport=udp"]

    Value "any" - The value of the option to configure using any network transport protocols configured from the Signaling server. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478", "turn:server.com?transport=udp"]

    +The value of the option to configure using any network transport protocols configured from the Signaling server. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]

    Value "none" - The value of the option to not configure using any network transport protocols. - Example .urls output: ["turn:server.com", "turn:server1.com:3478"] - Configuring this does not mean that no protocols will be used, but - rather removing ?transport=(protocol) query option in - the TURN ICE server .urls when constructing the Peer connection.

    +The value of the option to not configure using any network transport protocols. +Example .urls output: ["turn:server.com", "turn:server1.com:3478"] +Configuring this does not mean that no protocols will be used, but +rather removing ?transport=(protocol) query option in +the TURN ICE server .urls when constructing the Peer connection.

    Value "all" - The value of the option to configure using both TCP and UDP network transport protocols. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", - "turn:server1.com:3478?transport=udp"]

    +The value of the option to configure using both TCP and UDP network transport protocols. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", +"turn:server1.com:3478?transport=udp"]

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    AUTO - - - - String - - - - - - - -

    Value "auto" - The value of the option to not prefer any video codec but rather use the created - local "offer" / "answer" session description video codec preference.

    -
    VP8 - - - - String - - - - - - - -

    Value "VP8" - The value of the option to prefer the VP8 video codec.

    -
    VP9 - - - - String - - - - - - - -

    Value "VP9" - The value of the option to prefer the VP9 video codec.

    -
    H264 - - - - String - - - - - - - -

    Value "H264" - The value of the option to prefer the H264 video codec.

    -
    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.5.10 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    -
    @@ -9764,7 +7921,7 @@
    Properties:

    Value { video: 3200, audio: 80 } - The value of option to prefer high definition video and audio bitrates.

    +The value of option to prefer high definition video and audio bitrates.

    @@ -9794,7 +7951,7 @@
    Properties:

    Value { video: 1200, audio: 50 } - The value of option to prefer high quality video and audio bitrates.

    +The value of option to prefer high quality video and audio bitrates.

    @@ -9824,7 +7981,7 @@
    Properties:

    Value { video: 800, audio: 30 } - The value of option to prefer standard quality video and audio bitrates.

    +The value of option to prefer standard quality video and audio bitrates.

    @@ -9854,7 +8011,7 @@
    Properties:

    Value { video: 500, audio: 20 } - The value of option to prefer low quality video and audio bitrates.

    +The value of option to prefer low quality video and audio bitrates.

    @@ -9905,7 +8062,7 @@
    Properties:
    @@ -9935,12 +8092,12 @@

    -

    - Note that currently Skylink#getUserMedia only configures +
    + Note that currently getUserMedia method only configures the maximum resolution of the Stream due to browser interopability and support.
    The list of -video resolutions sets configured in the Skylink#getUserMedia.

    +video resolutions sets configured in the getUserMedia method.
    @@ -9994,9 +8151,9 @@

    Properties:

    Value { width: 160, height: 120 } - The value of the option to configure QQVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure QQVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10026,9 +8183,9 @@
    Properties:

    Value { width: 240, height: 160 } - The value of the option to configure HQVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure HQVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10058,8 +8215,8 @@
    Properties:

    Value { width: 320, height: 240 } - The value of the option to configure QVGA resolution. - Aspect ratio: 4:3

    +The value of the option to configure QVGA resolution. +Aspect ratio: 4:3

    @@ -10089,9 +8246,9 @@
    Properties:

    Value { width: 384, height: 240 } - The value of the option to configure WQVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure WQVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10121,9 +8278,9 @@
    Properties:

    Value { width: 480, height: 320 } - The value of the option to configure HVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure HVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10153,8 +8310,8 @@
    Properties:

    Value { width: 640, height: 480 } - The value of the option to configure VGA resolution. - Aspect ratio: 4:3

    +The value of the option to configure VGA resolution. +Aspect ratio: 4:3

    @@ -10184,9 +8341,9 @@
    Properties:

    Value { width: 768, height: 480 } - The value of the option to configure WVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure WVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10216,9 +8373,9 @@
    Properties:

    Value { width: 854, height: 480 } - The value of the option to configure FWVGA resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure FWVGA resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10248,9 +8405,9 @@
    Properties:

    Value { width: 800, height: 600 } - The value of the option to configure SVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure SVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10280,9 +8437,9 @@
    Properties:

    Value { width: 960, height: 640 } - The value of the option to configure DVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure DVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10312,8 +8469,8 @@
    Properties:

    Value { width: 1024, height: 576 } - The value of the option to configure WSVGA resolution. - Aspect ratio: 16:9

    +The value of the option to configure WSVGA resolution. +Aspect ratio: 16:9

    @@ -10343,9 +8500,9 @@
    Properties:

    Value { width: 1280, height: 720 } - The value of the option to configure HD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

    +The value of the option to configure HD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

    @@ -10375,9 +8532,9 @@
    Properties:

    Value { width: 1600, height: 900 } - The value of the option to configure HDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure HDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10407,9 +8564,9 @@
    Properties:

    Value { width: 1920, height: 1080 } - The value of the option to configure FHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

    +The value of the option to configure FHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

    @@ -10439,9 +8596,9 @@
    Properties:

    Value { width: 2560, height: 1440 } - The value of the option to configure QHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure QHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10471,9 +8628,9 @@
    Properties:

    Value { width: 3200, height: 1800 } - The value of the option to configure WQXGAPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure WQXGAPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10503,9 +8660,9 @@
    Properties:

    Value { width: 3840, height: 2160 } - The value of the option to configure UHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure UHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10535,9 +8692,9 @@
    Properties:

    Value { width: 5120, height: 2880 } - The value of the option to configure UHDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure UHDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10567,9 +8724,9 @@
    Properties:

    Value { width: 7680, height: 4320 } - The value of the option to configure FUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure FUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10599,9 +8756,9 @@
    Properties:

    Value { width: 15360, height: 8640 } - The value of the option to configure QUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure QUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10652,7 +8809,7 @@
    Properties:
    diff --git a/docs/SkylinkEvents.html b/docs/SkylinkEvents.html index e0dde170a..af089d97a 100644 --- a/docs/SkylinkEvents.html +++ b/docs/SkylinkEvents.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -106,7 +106,78 @@

    @@ -117,6 +188,15 @@

    +
    Since:
    +
    +
      +
    • + 2.0 +
    • +
    +
    + @@ -206,13 +286,13 @@

    Events

    - + -

    - candidateGenerationState +

    + CANDIDATE_GENERATION_STATE

    @@ -308,7 +388,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -465,13 +545,13 @@
    Properties
    - + -

    - candidateProcessingState +

    + CANDIDATE_PROCESSING_STATE

    @@ -567,7 +647,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -953,13 +1033,13 @@
    Properties
    - + -

    - candidatesGathered +

    + CANDIDATES_GATHERED

    @@ -1055,7 +1135,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -1325,13 +1405,13 @@
    Properties
    - + -

    - channelClose +

    + CHANNEL_CLOSE

    @@ -1526,13 +1606,13 @@
    Properties
    - + -

    - channelError +

    + CHANNEL_ERROR

    @@ -1764,13 +1844,13 @@
    Properties
    - + -

    - channelMessage +

    + CHANNEL_MESSAGE

    @@ -1995,13 +2075,13 @@
    Properties
    - + -

    - channelOpen +

    + CHANNEL_OPEN

    @@ -2196,13 +2276,13 @@
    Properties
    - + -

    - channelReopen +

    + CHANNEL_REOPEN

    @@ -2390,12 +2470,12 @@
    Properties
    - + -
    Example
    +
    Example
    Example 1: Listen on channelReopen to handle successful socket reconnection if socket was disconnected
    @@ -2420,13 +2500,13 @@ 
    Example
    - + -

    - channelRetry +

    + CHANNEL_RETRY

    @@ -2679,13 +2759,13 @@
    Properties
    - + -

    - encryptSecretsUpdated +

    + DATA_CHANNEL_STATE

    @@ -2694,7 +2774,7 @@

    -

    Event triggered when encrypt secret data is updated.

    +

    Event triggered when a Datachannel connection state has changed.

    @@ -2781,7 +2861,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -2803,14 +2883,14 @@
    Properties
    - encryptSecrets + peerId - Object + String @@ -2824,7 +2904,7 @@
    Properties
    -

    The secretId and secret pair.

    +

    The peer's id

    @@ -2832,14 +2912,14 @@
    Properties
    - selectedSecretId + state - String + SkylinkConstants.DATA_CHANNEL_STATE @@ -2853,8 +2933,7 @@
    Properties
    -

    The id of the secret that is used for encryption and decryption of messages. If value is an -empty string, message will not be encrypted.

    +

    The current Datachannel connection state.

    @@ -2862,7 +2941,36 @@
    Properties
    - peerId + error + + + + + + + Error + + + + + + + + + + + + + +

    The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

    + + + + + + + + channelName @@ -2883,7 +2991,7 @@
    Properties
    -

    The Peer ID.

    +

    The Datachannel ID.

    @@ -2891,14 +2999,14 @@
    Properties
    - peerInfo + channelType - peerInfo + SkylinkConstants.DATA_CHANNEL_TYPE @@ -2912,9 +3020,150 @@
    Properties
    -

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +

    The Datachannel type.

    + + + + + + + + messageType + + + + + + + SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR + + + + + + + + + + + + + +

    The Datachannel sending Datachannel message error type. +Defined only when state payload is SEND_MESSAGE_ERROR.

    + + + + + + + + bufferAmount + + + + + + + Object + + + + + + + + + + + + + +

    The Datachannel - buffered amount information.

    + +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    bufferedAmount + + + + number + + + + + + + +

    The size of currently queued data to send on the Datachannel connection.

    + +
    bufferedAmountLowThreshold + + + + number + + + + + + + +

    Threshold The current buffered amount low threshold configured.

    + +
    + @@ -2966,7 +3215,7 @@
    Properties
    @@ -2999,13 +3248,13 @@
    Properties
    - + -

    - getConnectionStatusStateChange +

    + ENCRYPT_SECRETS_UPDATED

    @@ -3014,8 +3263,7 @@

    -

    Event triggered when PeerConnection.getConnectionStatus method -retrieval state changes.

    +

    Event triggered when encrypt secret data is updated.

    @@ -3069,7 +3317,7 @@

    Parameters:
    -

    Event's payload/

    +

    Event's payload.

    Properties
    @@ -3084,8 +3332,6 @@
    Properties
    Type - Attributes - @@ -3097,14 +3343,14 @@
    Properties
    - state + room - SkylinkConstants.GET_CONNECTION_STATUS_STATE + roomInfo @@ -3114,19 +3360,11 @@
    Properties
    - - - - - - - - -

    The current getConnectionStatus() retrieval state.

    +

    The current room

    @@ -3134,14 +3372,14 @@
    Properties
    - peerId + encryptSecrets - String + Object @@ -3151,19 +3389,11 @@
    Properties
    - - - - - - - - -

    The Peer ID.

    +

    The secretId and secret pair.

    @@ -3171,14 +3401,14 @@
    Properties
    - stats + selectedSecretId - statistics + String @@ -3188,21 +3418,12 @@
    Properties
    - - - <optional>
    - - - - - - - -

    The Peer connection current stats.

    +

    The id of the secret that is used for encryption and decryption of messages. If value is an +empty string, message will not be encrypted.

    @@ -3210,14 +3431,14 @@
    Properties
    - error + peerId - Error + String @@ -3227,19 +3448,42 @@
    Properties
    - - - + + + +

    The Peer ID.

    + + + + + + + + peerInfo + + + - + + peerInfo + + + + + + + + -

    The error object. Defined only when state payload is RETRIEVE_ERROR.

    +

    The Peer session information. +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -3291,7 +3535,7 @@
    Properties
    @@ -3324,13 +3568,13 @@
    Properties
    - + -

    - getPeersStateChange +

    + GET_CONNECTION_STATUS_STATE_CHANGE

    @@ -3339,7 +3583,8 @@

    -

    Event triggered when getPeers() method retrieval state changes.

    +

    Event triggered when getConnectionStatus method +retrieval state changes.

    @@ -3393,7 +3638,7 @@

    Parameters:
    -

    Event's payload

    +

    Event's payload/

    Properties
    @@ -3408,6 +3653,8 @@
    Properties
    Type + Attributes + @@ -3426,7 +3673,7 @@
    Properties
    - SkylinkConstants.GET_PEERS_STATE + SkylinkConstants.GET_CONNECTION_STATUS_STATE @@ -3436,11 +3683,19 @@
    Properties
    + + + + + + + + -

    The current getPeers() retrieval state.

    +

    The current retrieval state from getConnectionStatus method.

    @@ -3448,14 +3703,14 @@
    Properties
    - privilegePeerId + peerId - SkylinkUser.sid + String @@ -3465,11 +3720,19 @@
    Properties
    + + + + + + + + -

    The Users privileged Peer Id.

    +

    The Peer ID.

    @@ -3477,14 +3740,14 @@
    Properties
    - peerList + stats - Object + statistics @@ -3494,44 +3757,36 @@
    Properties
    - - - - -

    The list of Peer IDs Rooms within the same App space.

    - -
    Properties
    + + + <optional>
    - - - - - - - - + - + + + - + - - - + + - - + + - + + + - - -
    NameTypeDescription
    +

    The Peer connection current stats.

    + +
    #roomerror - Array + Error @@ -3541,19 +3796,19 @@
    Properties
    + - + - -

    The list of Peer IDs associated with the Room defined in #room property.

    - -
    + + +

    The error object. Defined only when state payload is RETRIEVE_ERROR.

    @@ -3605,7 +3860,7 @@
    Properties
    @@ -3638,13 +3893,13 @@
    Properties
    - + -

    - handshakeProgress +

    + GET_PEERS_STATE_CHANGE

    @@ -3653,7 +3908,7 @@

    -

    Event triggered when a Peer connection establishment state has changed.

    +

    Event triggered when getPeers method retrieval state changes.

    @@ -3707,7 +3962,7 @@

    Parameters:
    -

    Event's payload.

    +

    Event's payload

    Properties
    @@ -3722,8 +3977,6 @@
    Properties
    Type - Attributes - @@ -3742,7 +3995,7 @@
    Properties
    - SkylinkConstants.HANDSHAKE_PROGRESS + SkylinkConstants.GET_PEERS_STATE @@ -3752,19 +4005,11 @@
    Properties
    - - - - - - - - -

    The current Peer connection establishment state.

    +

    The current getPeers retrieval state.

    @@ -3772,14 +4017,14 @@
    Properties
    - peerId + privilegePeerId - String + SkylinkUser.sid @@ -3789,19 +4034,11 @@
    Properties
    - - - - - - - - -

    The Peer ID.

    +

    The Users privileged Peer Id.

    @@ -3809,14 +4046,14 @@
    Properties
    - room + peerList - SkylinkRoom + Object @@ -3826,40 +4063,44 @@
    Properties
    - - - - - - - - -

    The room.

    +

    The list of Peer IDs Rooms within the same App space.

    - - +
    Properties
    + + + + + + + + + + + + + + + + + + + - + - - + + + + +
    NameTypeDescription
    error#room - Error - - - | - - - String + Array @@ -3869,22 +4110,19 @@
    Properties
    - - <optional>
    - - - - - -
    -

    The error object. - Defined only when state is ERROR.

    +

    The list of Peer IDs associated with the Room defined in #room property.

    + +
    + @@ -3936,7 +4174,7 @@
    Properties
    @@ -3969,13 +4207,13 @@
    Properties
    - + -

    - iceConnectionState +

    + HANDSHAKE_PROGRESS

    @@ -3984,9 +4222,7 @@

    -

    Learn more about how ICE works in this - article here. -Event triggered when a Peer connection ICE connection state has changed.

    +

    Event triggered when a Peer connection establishment state has changed.

    @@ -4019,14 +4255,14 @@

    Parameters:
    - state + detail - SkylinkEvents.ICE_CONNECTION_STATE + Object @@ -4040,22 +4276,42 @@
    Parameters:
    -

    The current Peer connection ICE connection state.

    +

    Event's payload.

    - - +
    Properties
    + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + @@ -4075,6 +4376,97 @@
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    peerIdstate - String + SkylinkConstants.HANDSHAKE_PROGRESS @@ -4065,6 +4321,51 @@
    Parameters:
    + + + + + + +

    The current Peer connection establishment state.

    + +
    peerId + + + + String + + + + + + + + + + + + +
    room + + + + roomInfo + + + + + + + + + + + + + +

    The room.

    + +
    error + + + + Error + + + | + + + String + + + + + + + + + <optional>
    + + + + + +
    +

    The error object. +Defined only when state is ERROR.

    + +
    + + + + + + @@ -4113,7 +4505,7 @@
    Parameters:
    @@ -4146,13 +4538,13 @@
    Parameters:
    - + -

    - localMediaMuted +

    + ICE_CONNECTION_STATE

    @@ -4161,7 +4553,9 @@

    -

    Event triggered when muteStreams() method changes User Streams audio and video tracks muted status.

    +

    Learn more about how ICE works in this +article here. +Event triggered when a Peer connection ICE connection state has changed.

    @@ -4241,14 +4635,14 @@

    Properties
    - streamId + state - String + SkylinkConstants.ICE_CONNECTION_STATE @@ -4262,7 +4656,7 @@
    Properties
    -

    The muted Stream Id.

    +

    The current Peer connection ICE connection state.

    @@ -4270,14 +4664,14 @@
    Properties
    - isScreensharing + state - Boolean + String @@ -4291,39 +4685,119 @@
    Properties
    -

    The flag if the media muted was screensharing.

    +

    The Peer ID.

    - - - mediaStatus - + + - - - - JSON - + + + + - - - + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + - -

    The Peer streaming media status. This indicates the media status for both getUserMedia() Stream and shareScreen() Stream.

    - -
    Properties
    - + + + + + + + + + +

    + LOCAL_MEDIA_MUTED +

    +
    + + + + + +
    +

    Event triggered when muteStreams method changes User Streams audio and video tracks +muted +status.

    +
    + + + + + + + +
    Parameters:
    + @@ -4346,14 +4820,14 @@
    Properties
    - + - +
    Properties
    + + +
    audioMuteddetail - Boolean + Object @@ -4367,23 +4841,40 @@
    Properties
    -

    The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present - in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

    +

    Event's payload.

    -
    + + + + + + + + + + + + + + + + - + - -
    NameTypeDescription
    videoMutedstreamId - Boolean + String @@ -4397,156 +4888,51 @@
    Properties
    -

    The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present - in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

    +

    The muted Stream Id.

    + + + isScreensharing + + - - + + + Boolean + - - + - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - -
    - - - - - - - - - - - - - - - + - - - - - - - - -

    - loggedOnConsole -

    -
    - - - - - -
    -

    Event triggered when Skylink logs to browser's console.

    -
    - - - - - - - -
    Parameters:
    - - - - - - - - - - - - - - - - - - + + - - + - + @@ -4615,14 +5002,14 @@
    Properties
    - + - - - - - - - - - - + +
    NameTypeDescription
    +

    The flag if the media muted was screensharing.

    + +
    detailmediaStatus - Object + JSON @@ -4560,7 +4946,7 @@
    Parameters:
    -

    Event's payload.

    +

    The Peer streaming media status. This indicates the media status for both getUserMedia Stream and shareScreen Stream.

    Properties
    @@ -4586,14 +4972,14 @@
    Properties
    levelaudioMuted - JSON + Boolean @@ -4607,7 +4993,8 @@
    Properties
    -

    The log level.

    +

    The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present +in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

    messagevideoMuted - String + Boolean @@ -4636,36 +5023,16 @@
    Properties
    -

    The log message.

    +

    The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present +in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

    debugObject - - - - JSON - - - - - - -
    - -

    A JavaScript object to be logged to help with analysis.

    @@ -4717,7 +5084,7 @@
    Properties
    @@ -4750,13 +5117,13 @@
    Properties
    - + -

    - mediaAccessError +

    + MEDIA_ACCESS_ERROR

    @@ -4901,7 +5268,7 @@
    Properties
    -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    +

    The flag if event occurred during shareScreen method and not getUserMedia method.

    @@ -4930,7 +5297,7 @@
    Properties
    -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    +

    The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

    @@ -4982,7 +5349,7 @@
    Properties
    @@ -5015,13 +5382,13 @@
    Properties
    - + -

    - mediaAccessFallback +

    + MEDIA_ACCESS_FALLBACK

    @@ -5351,323 +5718,8 @@
    Properties

    The expected and received audio tracks.

    -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    expected - - - - Number - - - - - - - -

    The expected audio tracks.

    - -
    received - - - - Number - - - - - - - -

    The received audio tracks.

    - -
    - - - - - - - - - - - - - - - - - state - - - - - - - SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE - - - - - - - - - - - - - -

    The fallback state.

    - - - - - - - - isScreensharing - - - - - - - boolean - - - - - - - - - - - - - -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    - - - - - - - - isAudioFallback - - - - - - - boolean - - - - - - - - - - - - - -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    - - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - - -

    The Stream ID. Defined only when state payload is FALLBACKED.

    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - mediaAccessRequired -

    -
    - - - - - -
    -

    Event triggered when retrieval of Stream is required to complete joinRoom() method request.

    -
    - - - - - - - -
    Parameters:
    - +
    Properties
    + @@ -5690,14 +5742,14 @@
    Parameters:
    - + - -
    detailexpected - Object + Number @@ -5711,139 +5763,96 @@
    Parameters:
    -

    Event's payload.

    +

    The expected audio tracks.

    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - + + + received + + + + + Number + - + - - - - - - -

    - mediaAccessStopped -

    -
    - + + + + -
    -

    Event triggered when Stream has stopped streaming.

    -
    + +

    The received audio tracks.

    + + + + + + + + + + + + + + + + + + + state + + + + + + SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE + -
    Parameters:
    - + - - - - - - - + + - + - + - - - + + - - + @@ -5865,7 +5875,7 @@
    Parameters:
    - + @@ -5894,7 +5904,7 @@
    Parameters:
    - + + + + + +
    NameTypeDescription
    +

    The fallback state.

    + +
    detail.isScreensharingisScreensharing - Object + boolean @@ -5857,7 +5866,8 @@
    Parameters:
    -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    +

    The flag if event occurred during shareScreen method +and not getUserMedia method.

    detail.isAudioFallbackisAudioFallback @@ -5886,7 +5896,7 @@
    Parameters:
    -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    +

    The flag if event occurred during retrieval of audio tracks only when getUserMedia method failed to retrieve both audio and video tracks.

    detail.streamIdstreamId @@ -5915,7 +5925,15 @@
    Parameters:
    -

    The Stream ID.

    +

    The Stream ID. Defined only when state payload is FALLBACKED.

    + +
    + @@ -5959,7 +5977,7 @@
    Parameters:
    @@ -5992,13 +6010,13 @@
    Parameters:
    - + -

    - mediaAccessSuccess +

    + MEDIA_ACCESS_REQUIRED

    @@ -6007,7 +6025,7 @@

    -

    Event triggered when retrieval of Stream is successful.

    +

    Event triggered when retrieval of Stream is required to complete joinRoom method request.

    @@ -6061,127 +6079,139 @@

    Parameters:
    +

    Event's payload.

    - -
    Properties
    - + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + - - - - - - - - - - - - - - - - - - - + - - - + - - - - - + + + + + + +

    + MEDIA_ACCESS_STOPPED +

    +
    - +
    +

    Event triggered when Stream has stopped streaming.

    +
    - - - - - - - - - - +
    NameTypeDescription
    stream - - - - MediaStream - - - - -

    The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

    - -
    isScreensharing - - - - Boolean - + - - - -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    - -
    isAudioFallback - - - - Boolean - - +
    Parameters:
    + - -
    + + + + + - + - + - - + + + + + + - + @@ -6203,7 +6233,7 @@
    Properties
    - + @@ -6232,14 +6262,14 @@
    Properties
    - + - - - - -
    NameType -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    - -
    Description
    streamIddetail.isScreensharing - String + Object @@ -6195,7 +6225,7 @@
    Properties
    -

    The Stream ID.

    +

    The flag if event occurred during shareScreen method and not jgetUserMedia method.

    isVideodetail.isAudioFallback @@ -6224,7 +6254,7 @@
    Properties
    -

    The flag if the incoming stream has a video track.

    +

    The flag if event occurred during retrieval of audio tracks only when jgetUserMedia method had failed to retrieve both audio and video tracks.

    isAudiodetail.streamId - boolean + String @@ -6253,15 +6283,7 @@
    Properties
    -

    The flag if the incoming stream has an audio track.

    - -
    - +

    The Stream ID.

    @@ -6305,7 +6327,7 @@
    Properties
    @@ -6338,13 +6360,13 @@
    Properties
    - + -

    - onDataChannelStateChanged +

    + MEDIA_ACCESS_SUCCESS

    @@ -6353,7 +6375,7 @@

    -

    Event triggered when a Datachannel connection state has changed.

    +

    Event triggered when retrieval of Stream is successful.

    @@ -6407,7 +6429,7 @@

    Parameters:
    -

    Event's payload.

    +
    Properties
    @@ -6433,43 +6455,14 @@
    Properties
    - room - - - - - - - SkylinkRoom - - - - - - - - - - - - - -

    The current room

    - - - - - - - - peerId + stream - String + MediaStream @@ -6483,7 +6476,7 @@
    Properties
    -

    The peer's id

    +

    The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

    @@ -6491,14 +6484,14 @@
    Properties
    - state + isScreensharing - SkylinkConstants.DATA_CHANNEL_STATE + Boolean @@ -6512,7 +6505,7 @@
    Properties
    -

    The current Datachannel connection state.

    +

    The flag if event occurred during shareScreen method and not getUserMedia method.

    @@ -6520,14 +6513,14 @@
    Properties
    - error + isAudioFallback - Error + Boolean @@ -6541,7 +6534,7 @@
    Properties
    -

    The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

    +

    The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

    @@ -6549,7 +6542,7 @@
    Properties
    - channelName + streamId @@ -6565,133 +6558,27 @@
    Properties
    - - - - - -

    The Datachannel ID.

    - - - - - - - - channelType - - - - - - - SkylinkConstants.DATA_CHANNEL_TYPE - - - - - - - - - - - - - -

    The Datachannel type.

    - - - - - - - - messageType - - - - - - - SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR - - - - - - - - - - - - - -

    The Datachannel sending Datachannel message error type. - Defined only when state payload is SEND_MESSAGE_ERROR.

    - - - - - - - - bufferAmount - - - - - - - Object - - - - - - - - - - - - - -

    The Datachannel - buffered amount information.

    - -
    Properties
    - - - - - - - - - - - - + - + - - - + + - - + @@ -6713,14 +6600,14 @@
    Properties
    - + - - - - -
    NameTypeDescription
    +

    The Stream ID.

    + +
    bufferedAmountisVideo - number + boolean @@ -6705,7 +6592,7 @@
    Properties
    -

    The size of currently queued data to send on the Datachannel connection.

    +

    The flag if the incoming stream has a video track.

    bufferedAmountLowThresholdisAudio - number + boolean @@ -6734,15 +6621,7 @@
    Properties
    -

    Threshold The current buffered amount low threshold configured.

    - -
    - +

    The flag if the incoming stream has an audio track.

    @@ -6794,7 +6673,7 @@
    Properties
    @@ -6827,13 +6706,13 @@
    Properties
    - + -

    - onIncomingMessage +

    + ON_INCOMING_MESSAGE

    @@ -6929,7 +6808,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -7118,10 +6997,10 @@
    Properties

    The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

    +defined in Skylink#sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

    @@ -7161,7 +7040,7 @@
    Properties

    The list of Peers that the message has been sent to. - Defined only when isSelf payload value is true.

    +Defined only when isSelf payload value is true.

    @@ -7199,9 +7078,9 @@
    Properties

    The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in - Skylink#sendP2PMessage or - Skylink#sendMessage.

    +off the targetPeerId parameter being defined in +sendP2PMessage or +sendMessage.

    @@ -7239,7 +7118,7 @@
    Properties

    The flag if message is sent from - Skylink#sendP2PMessage.

    +sendP2PMessage.

    @@ -7343,8 +7222,8 @@
    Properties

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -7458,13 +7337,13 @@
    Properties
    - + -

    - onIncomingScreenStream +

    + ON_INCOMING_SCREEN_STREAM

    @@ -7473,7 +7352,7 @@

    -

    Event triggered when receving Peer Screenshare Stream.

    +

    Event triggered when receiving Peer Screenshare Stream.

    @@ -7560,7 +7439,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -7748,7 +7627,8 @@
    Properties
    -

    The flag if the incoming screenshare stream results from shareScreen() called with replaceUserMediaStream = true.

    +

    The flag if the incoming screenshare stream results from shareScreen called +with replaceUserMediaStream=true.

    @@ -7858,7 +7738,7 @@
    Properties
    @@ -7891,13 +7771,13 @@
    Properties
    - + -

    - onIncomingStream +

    + ON_INCOMING_STREAM

    @@ -7993,7 +7873,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -8353,13 +8233,13 @@
    Properties
    - + -

    - peerConnectionState +

    + PEER_CONNECTION_STATE

    @@ -8368,11 +8248,11 @@

    -

    Event triggered when a Peer connection session description exchanging state has changed. +

    Event triggered when a Peer connection session description exchanging state has changed.

    Learn more about how ICE works in this article here. -

    +
    @@ -8554,7 +8434,7 @@

    Properties
    @@ -8587,13 +8467,13 @@
    Properties
    - + -

    - peerJoined +

    + PEER_JOINED

    @@ -8603,6 +8483,11 @@

    Event triggered when a Peer joins the room.

    +
    PEER_JOINED event with isSelf=true indicates that the local peer has successfully joined the +room. All call actions should be done after the PEER_JOINED event is registered. +If MCU feature is enabled on the appKey, SERVER PEER JOINED is the +corresponding event. +
    @@ -8689,7 +8574,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -8875,13 +8760,13 @@
    Properties
    - + -

    - peerLeft +

    + PEER_LEFT

    @@ -9101,7 +8986,7 @@
    Properties
    @@ -9134,13 +9019,13 @@
    Properties
    - + -

    - peerUpdated +

    + PEER_UPDATED

    @@ -9236,7 +9121,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -9337,7 +9222,7 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -9422,13 +9307,13 @@
    Properties
    - + -

    - persistentMessageState +

    + PERSISTENT_MESSAGE_STATE

    @@ -9524,7 +9409,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -9626,8 +9511,8 @@
    Properties

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -9712,13 +9597,13 @@
    Properties
    - + -

    - readyStateChange +

    + READY_STATE_CHANGE

    @@ -9828,7 +9713,7 @@
    Properties
    -

    The current init() ready state.

    +

    The current ready state when instantiating new Skylink().

    @@ -10084,13 +9969,13 @@
    Properties
    - + -

    - recordingState +

    + RECORDING_STATE

    @@ -10349,13 +10234,13 @@
    Properties
    - + -

    - roomLock +

    + ROOM_LOCK

    @@ -10523,7 +10408,7 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -10604,7 +10489,238 @@
    Properties
    +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + ROOM_REJOIN +

    +
    + + + + + +
    +

    Event triggered when joinRoom can be re-initiated. This event is preceded by leaveRoom initiated by the +SDK in response to peer connection changing to FAILED state.

    +
    + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    detail + + + + Object + + + + + + + +

    Event's payload

    + +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    room + + + + roomInfo + + + + + + + +

    The previous room

    + +
    peerId + + + + String + + + + + + + +

    The previous peer id

    + +
    + + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    +
    @@ -10637,13 +10753,13 @@
    Properties
    - + -

    - rtmpState +

    + RTMP_STATE

    @@ -10902,13 +11018,13 @@
    Properties
    - + -

    - serverPeerJoined +

    + SERVER_PEER_JOINED

    @@ -10918,6 +11034,15 @@

    Event triggered when a server Peer joins the room.

    +
      +
    • +
      SERVER_PEER_JOINED event indicates that the MCU has successfully joined the +
    • +
    +

    room. All call actions should be done after the SERVER_PEER_JOINED event is registered. +For P2P key, PEER JOINED is the +corresponding event.

    +
    @@ -11004,7 +11129,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -11128,7 +11253,7 @@
    Properties
    @@ -11161,13 +11286,13 @@
    Properties
    - + -

    - serverPeerLeft +

    + SERVER_PEER_LEFT

    @@ -11292,7 +11417,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -11387,7 +11512,7 @@
    Properties
    @@ -11420,13 +11545,13 @@
    Properties
    - + -

    - sessionDisconnect +

    + SESSION_DISCONNECT

    @@ -11565,7 +11690,7 @@
    Properties
    -

    The User's Room session information. Object signature matches the peerInfo parameter payload received in thepeerJoined event.

    +

    The User's Room session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -11617,7 +11742,7 @@
    Properties
    @@ -11650,13 +11775,13 @@
    Properties
    - + -

    - socketError +

    + SOCKET_ERROR

    @@ -11950,13 +12075,13 @@
    Properties
    - + -

    - storedMessages +

    + STORED_MESSAGES

    @@ -12052,7 +12177,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -12143,10 +12268,10 @@
    Properties

    The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

    +defined in sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

    @@ -12281,8 +12406,8 @@
    Properties

    The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in Skylink#sendP2PMessage or Skylink#sendMessage. Value will always - be false for stored messages.

    +off the targetPeerId parameter being defined in sendP2PMessage or sendMessage. Value will always +be false for stored messages.

    @@ -12311,7 +12436,7 @@
    Properties
    -

    The flag if message is sent from Skylink#sendP2PMessage. Value will always be +

    The flag if message is sent from sendP2PMessage. Value will always be true for stored messages.

    @@ -12379,8 +12504,8 @@
    Properties

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -12494,13 +12619,13 @@
    Properties
    - + -

    - streamEnded +

    + STREAM_ENDED

    @@ -12625,7 +12750,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -12668,7 +12793,8 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received +in the PEER JOINED event.

    @@ -12898,13 +13024,13 @@
    Properties
    - + -

    - streamMuted +

    + STREAM_MUTED

    @@ -13043,7 +13169,7 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -13211,7 +13337,7 @@
    Properties
    @@ -13244,13 +13370,13 @@
    Properties
    - + -

    - systemAction +

    + SYSTEM_ACTION

    @@ -13360,8 +13486,7 @@
    Properties
    -

    The current Signaling server reaction state. - [Rel: Skylink.SYSTEM_ACTION]

    +

    The current Signaling server reaction state.

    diff --git a/docs/SkylinkLogger.html b/docs/SkylinkLogger.html index 19010df6d..7a5ef8ec8 100644 --- a/docs/SkylinkLogger.html +++ b/docs/SkylinkLogger.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -170,7 +170,7 @@

    @@ -479,7 +479,7 @@

    Properties:
    @@ -546,7 +546,7 @@

    @@ -613,7 +613,7 @@

    @@ -703,7 +703,7 @@

    @@ -794,7 +794,7 @@

    @@ -969,7 +969,7 @@

    Parameters:
    diff --git a/docs/compatibility_ice-connection.js.html b/docs/compatibility_ice-connection.js.html index 00a78e1af..15779152f 100644 --- a/docs/compatibility_ice-connection.js.html +++ b/docs/compatibility_ice-connection.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -93,7 +93,10 @@

    -
    /**
    +    
    import { isAgent } from '../utils/helpers';
    +import { BROWSER_AGENT } from '../constants';
    +
    +/**
      * @description Gets TCP and UDP ports based on the browser
      * @param {Object} params
      * @param {boolean} params.forceTURNSSL
    @@ -103,8 +106,7 @@ 

    * @return {{tcp: Array, udp: Array, both: Array, iceServerProtocol: string}} */ const getConnectionPortsAndProtocolByBrowser = (params) => { - const { forceTURNSSL, CONSTANTS, serverConfig } = params; - const { AdapterJS } = window; + const { forceTURNSSL, serverConfig } = params; const connectionConfig = { tcp: serverConfig.iceServerPorts.tcp, udp: serverConfig.iceServerPorts.udp, @@ -113,24 +115,11 @@

    iceServerPorts: serverConfig.iceServerPorts, }; - if (AdapterJS.webrtcDetectedBrowser === 'edge') { - connectionConfig.tcp = []; - connectionConfig.udp = [3478]; - connectionConfig.iceServerPorts.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else if (forceTURNSSL) { - if (AdapterJS.webrtcDetectedBrowser === 'firefox' && AdapterJS.webrtcDetectedVersion < 53) { - connectionConfig.udp = []; - connectionConfig.tcp = [443]; - connectionConfig.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else { - connectionConfig.iceServerPorts.udp = []; - connectionConfig.iceServerProtocol = 'turns'; - } - } else if (AdapterJS.webrtcDetectedBrowser === 'firefox') { + if (forceTURNSSL) { + connectionConfig.iceServerPorts.udp = []; + connectionConfig.iceServerProtocol = 'turns'; + } else if (isAgent(BROWSER_AGENT.FIREFOX)) { // default configs are specific to Chrome connectionConfig.udp = [3478]; - connectionConfig.tcp = [443, 80]; connectionConfig.both = []; } diff --git a/docs/constants.js.html b/docs/constants.js.html index c362e9873..f7531acd6 100644 --- a/docs/constants.js.html +++ b/docs/constants.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -97,7 +97,80 @@

    /** * @namespace SkylinkConstants - * @description Constants used by SkylinkJS are described here. + * @description + * <ul> + * <li>{@link SkylinkConstants.BUNDLE_POLICY|BUNDLE_POLICY} </li> + * <li>{@link SkylinkConstants.CANDIDATE_GENERATION_STATE|CANDIDATE_GENERATION_STATE} </li> + * <li>{@link SkylinkConstants.CANDIDATE_PROCESSING_STATE|CANDIDATE_PROCESSING_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_STATE|DATA_CHANNEL_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_TYPE|DATA_CHANNEL_TYPE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR|DATA_CHANNEL_MESSAGE_ERROR} </li> + * <li>{@link SkylinkEvents|EVENTS} </li> + * <li>{@link SkylinkConstants.GET_CONNECTION_STATUS_STATE|GET_CONNECTION_STATUS_STATE} </li> + * <li>{@link SkylinkConstants.GET_PEERS_STATE|GET_PEERS_STATE} </li> + * <li>{@link SkylinkConstants.HANDSHAKE_PROGRESS|HANDSHAKE_PROGRESS} </li> + * <li>{@link SkylinkConstants.ICE_CONNECTION_STATE|ICE_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.LOG_LEVEL|LOG_LEVEL} </li> + * <li>{@link SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE|MEDIA_ACCESS_FALLBACK_STATE} </li> + * <li>{@link SkylinkConstants.MEDIA_SOURCE|MEDIA_SOURCE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATUS|MEDIA_STATUS} </li> + * <li>{@link SkylinkConstants.MEDIA_TYPE|MEDIA_TYPE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATE|MEDIA_STATE} </li> + * <li>{@link SkylinkConstants.PEER_CERTIFICATE|PEER_CERTIFICATE} </li> + * <li>{@link SkylinkConstants.PEER_CONNECTION_STATE|PEER_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE_ERROR|READY_STATE_CHANGE_ERROR} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE|READY_STATE_CHANGE} </li> + * <li>{@link SkylinkConstants.RTCP_MUX_POLICY|RTCP_MUX_POLICY} </li> + * <li>{@link SkylinkConstants.RTMP_STATE|RTMP_STATE} </li> + * <li>{@link SkylinkConstants.RECORDING_STATE|RECORDING_STATE} </li> + * <li>{@link SkylinkConstants.SDP_SEMANTICS|SDP_SEMANTICS} </li> + * <li>{@link SkylinkConstants.SERVER_PEER_TYPE|SERVER_PEER_TYPE} </li> + * <li>{@link SkylinkConstants.SOCKET_ERROR|SOCKET_ERROR} </li> + * <li>{@link SkylinkConstants.SOCKET_FALLBACK|SOCKET_FALLBACK} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION|SYSTEM_ACTION} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION_REASON|SYSTEM_ACTION_REASON} </li> + * <li>{@link SkylinkConstants.SM_PROTOCOL_VERSION|SM_PROTOCOL_VERSION} </li> + * <li>{@link SkylinkConstants.TURN_TRANSPORT|TURN_TRANSPORT} </li> + * <li>{@link SkylinkConstants.VIDEO_RESOLUTION|VIDEO_RESOLUTION} </li> + * <li>{@link SkylinkConstants.VIDEO_QUALITY|VIDEO_QUALITY} </li> + * </ul> + */ + +/** + * // Not implemented yet + * {@link SkylinkConstants.DATA_TRANSFER_DATA_TYPE|DATA_TRANSFER_DATA_TYPE} </br> + * {@link SkylinkConstants.DT_PROTOCOL_VERSION|DT_PROTOCOL_VERSION} </br> + * {@link SkylinkConstants.DATA_TRANSFER_TYPE|DATA_TRANSFER_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_SESSION_TYPE|DATA_TRANSFER_SESSION_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_STATE|DATA_TRANSFER_STATE} </br> + * {@link SkylinkConstants.DATA_STREAM_STATE|DATA_STREAM_STATE} </br> + * {@link SkylinkConstants.INTRODUCE_STATE|INTRODUCE_STATE} </br> + * {@link SkylinkConstants.REGIONAL_SERVER|REGIONAL_SERVER} </br> + * {@link SkylinkConstants.PRIORITY_WEIGHT_SCHEME|PRIORITY_WEIGHT_SCHEME} </br> + * {@link SkylinkConstants.CHUNK_FILE_SIZE|CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_CHUNK_FILE_SIZE|MOZ_CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.BINARY_FILE_SIZE|BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_BINARY_FILE_SIZE|MOZ_BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.CHUNK_DATAURL_SIZE|CHUNK_DATAURL_SIZE} </br> + * {@link SkylinkConstants.DC_PROTOCOL_TYPE|DC_PROTOCOL_TYPE} </br> + * // Private + * {@link SkylinkConstants.SIG_MESSAGE_TYPE|SIG_MESSAGE_TYPE} </br> + * {@link SkylinkConstants.AUTH_STATE|AUTH_STATE} </br> + * {@link SkylinkConstants.STREAM_STATUS|STREAM_STATUS} </br> + * {@link SkylinkConstants.GROUP_MESSAGE_LIST|GROUP_MESSAGE_LIST} </br> + * {@link SkylinkConstants.TAGS|TAGS} </br> + * {@link SkylinkConstants.TRACK_READY_STATE|TRACK_READY_STATE} </br> + * {@link SkylinkConstants.TRACK_KIND|TRACK_KIND} </br> + * {@link SkylinkConstants.MEDIA_INFO|MEDIA_INFO} </br> + * {@link SkylinkConstants.SDK_VERSION|SDK_VERSION} </br> + * {@link SkylinkConstants.SDK_NAME|SDK_NAME} </br> + * {@link SkylinkConstants.API_VERSION|API_VERSION} </br> + * {@link SkylinkConstants.SIGNALING_VERSION|SIGNALING_VERSION} </br> + * {@link SkylinkConstants.BROWSER_AGENT|BROWSER_AGENT} </br> + * {@link SkylinkConstants.PEER_TYPE|PEER_TYPE} </br> + * {@link SkylinkConstants.SOCKET_EVENTS|SOCKET_EVENTS} </br> + * {@link SkylinkConstants.SOCKET_TYPE|SOCKET_TYPE} </br> + * {@link SkylinkConstants.STATES|STATES} </br> */ /** @@ -118,12 +191,12 @@

    * @property {String} BUFFERED_AMOUNT_LOW Value <code>"bufferedAmountLow"</code> * The value of the state when Datachannel when the amount of data buffered to be sent * falls below the Datachannel threshold. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} SEND_MESSAGE_ERROR Value <code>"sendMessageError"</code> * The value of the state when Datachannel when data transfer packets or P2P message fails to send. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @constant * @type object * @readOnly @@ -146,18 +219,19 @@

    * @typedef DATA_CHANNEL_TYPE * @property {String} MESSAGING Value <code>"messaging"</code> * The value of the Datachannel type that is used only for messaging in - * {@link Skylink#sendP2PMessage}. + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * However for Peers that do not support simultaneous data transfers, this Datachannel * type will be used to do data transfers (1 at a time). * Each Peer connections will only have one of this Datachannel type and the - * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:peerConnectionState|peerConnectionStateEvent} triggers parameter payload <code>state</code> as + * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:PEER_CONNECTION_STATE|PEER CONNECTION + * STATE} event triggers parameter payload <code>state</code> as * <code>CLOSED</code> for Peer). - * @property {String} DATA Value <code>"data"</code> + * @property {String} DATA [UNAVAILABLE] Value <code>"data"</code> * The value of the Datachannel type that is used only for a data transfer in - * {@link Skylink#sendURLData} and - * {@link Skylink#sendBlobData}. + * {@link Skylink#sendURLData|sendURLData} and + * {@link Skylink#sendBlobData|sendBlobData}. * The connection will close after the data transfer has been completed or terminated (happens when - * {@link SkylinkEvents.event:dataTransferStatedataTransferStateEvent} triggers parameter payload + * {@link SkylinkEvents.event:DATA_TRANSFER_STATE|DATA TRANSFER STATE} triggers parameter payload * <code>state</code> as <code>DOWNLOAD_COMPLETED</code>, <code>UPLOAD_COMPLETED</code>, * <code>REJECTED</code>, <code>CANCEL</code> or <code>ERROR</code> for Peer). * @constant @@ -176,11 +250,11 @@

    * @typedef DATA_CHANNEL_MESSAGE_ERROR * @property {String} MESSAGE Value <code>"message"</code> * The value of the Datachannel sending message error type when encountered during - * sending P2P message from {@link Skylink#sendP2PMessage}. + * sending P2P message from {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} TRANSFER Value <code>"transfer"</code> * The value of the Datachannel sending message error type when encountered during - * data transfers from {@link Skylink#sendURLData} or - * {@link Skylink#sendBlobData}. + * data transfers from {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendBlobData|sendBlobData}. * @constant * @type object * @readOnly @@ -198,22 +272,22 @@

    * @property {String} BINARY_STRING Value <code>"binaryString"</code> * The value of data transfer data type when Blob binary data chunks encoded to Base64 encoded string are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>false</code>. * @property {String} ARRAY_BUFFER Value <code>"arrayBuffer"</code> * The value of data transfer data type when ArrayBuffer binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} BLOB Value <code>"blob"</code> * The value of data transfer data type when Blob binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} STRING Value <code>"string"</code> * The value of data transfer data type when only string data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendURLData}. + * Used only in {@link Skylink#sendURLData|sendURLData}. * @constant * @type Object * @readOnly @@ -267,10 +341,10 @@

    * @typedef DATA_TRANSFER_SESSION_TYPE * @property {String} BLOB Value <code>"blob"</code> * The value of the session type for - * {@link Skylink#sendURLData} data transfer. + * {@link Skylink#sendURLData|sendURLData} data transfer. * @property {String} DATA_URL Value <code>"dataURL"</code> * The value of the session type for - * {@link Skylink#sendBlobData} data transfer. + * {@link Skylink#sendBlobData|sendBlobData} data transfer. * @constant * @type Object * @readOnly @@ -343,6 +417,28 @@

    START_ERROR: 'startError', }; +/** + * The list of auth states. + * @typedef AUTH_STATE + * @property {String} REQUEST Value <code>"request"</code> + * The value of the state when the SDK authenticates with API. + * @property {String} SUCCESS Value <code>"success"</code> + * The value of the state when the auth request is successful. + * @property {String} ERROR Value <code>"error"</code> + * The value of the state when the auth request fails. + * @constant + * @type Object + * @readOnly + * @memberOf SkylinkConstants + * @since 2.0.0 + * @ignore + */ +export const AUTH_STATE = { + REQUEST: 'request', + SUCCESS: 'success', + ERROR: 'error', +}; + /** * The list of data streaming states. * @typedef DATA_STREAM_STATE @@ -456,7 +552,7 @@

    * @property {String} CHECKING Value <code>"checking"</code> * The value of the state when Peer connection is checking for a suitable matching pair of * ICE candidates to establish ICE connection. - * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|candidateGenerationStateEvent}. + * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|{@link SkylinkEvents.event:CANDIDATE_GENERATION_STATE|CANDIDATE GENERATION STATE} event}. * @property {String} CONNECTED Value <code>"connected"</code> * The value of the state when Peer connection has found a suitable matching pair of * ICE candidates to establish ICE connection but is still checking for a better @@ -467,7 +563,7 @@

    * The value of the state when Peer connection has found the best suitable matching pair * of ICE candidates to establish ICE connection and checking has stopped. * At this state, ICE connection is already established and audio, video and - * data streaming has already started. This may happpen after <code>CONNECTED</code>. + * data streaming has already started. This may happen after <code>CONNECTED</code>. * @property {String} FAILED Value <code>"failed"</code> * The value of the state when Peer connection ICE connection has failed. * @property {String} DISCONNECTED Value <code>"disconnected"</code> @@ -477,8 +573,6 @@

    * @property {String} CLOSED Value <code>"closed"</code> * The value of the state when Peer connection ICE connection has closed. * This happens when Peer connection is closed and no streaming can occur at this stage. - * @property {String} TRICKLE_FAILED Value <code>"trickleFailed"</code> - * The value of the state when Peer connection ICE connection has failed during trickle ICE. * @constant * @type Object * @readOnly @@ -492,7 +586,6 @@

    COMPLETED: 'completed', CLOSED: 'closed', FAILED: 'failed', - TRICKLE_FAILED: 'trickleFailed', DISCONNECTED: 'disconnected', }; @@ -575,21 +668,27 @@

    * @since 0.5.0 */ export const PEER_CONNECTION_STATE = { + // onsignalingstatechange STABLE: 'stable', HAVE_LOCAL_OFFER: 'have-local-offer', HAVE_REMOTE_OFFER: 'have-remote-offer', CLOSED: 'closed', + // onconnectionstatechange + CONNECTING: 'connecting', + FAILED: 'failed', + DISCONNECTED: 'disconnected', + CONNECTED: 'connected', }; /** * The list of {@link Skylink#getConnectionStatus} retrieval states. * @typedef GET_CONNECTION_STATUS_STATE * @property {number} RETRIEVING Value <code>0</code> - * The value of the state when {@link Skylink#getConnectionStatus} is retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} is retrieving the Peer connection stats. * @property {number} RETRIEVE_SUCCESS Value <code>1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has retrieved the Peer connection stats successfully. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has retrieved the Peer connection stats successfully. * @property {number} RETRIEVE_ERROR Value <code>-1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has failed retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has failed retrieving the Peer connection stats. * @constant * @type Object * @readOnly @@ -619,7 +718,6 @@

    */ export const SERVER_PEER_TYPE = { MCU: 'mcu', - // SIP: 'sip' }; /** @@ -749,13 +847,13 @@

    * <a href="http://support.temasys.io/support/solutions/articles/12000012342-what-is-a-privileged-key-"> * Read more about privileged App Key feature here</a>. * </blockquote> - * The list of <a href="#method_getPeers"><code>getPeers()</code> method</a> retrieval states. + * The list of <code>{@link Skylink#getPeers|getPeers}</code> method retrieval states. * @typedef GET_PEERS_STATE * @property {String} ENQUIRED Value <code>"enquired"</code> - * The value of the state when <code>getPeers()</code> is retrieving the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> is retrieving the list of Peer IDs * from Rooms within the same App space from the Signaling server. * @property {String} RECEIVED Value <code>"received"</code> - * The value of the state when <code>getPeers()</code> has retrieved the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> has retrieved the list of Peer IDs * from Rooms within the same App space from the Signaling server successfully. * @readOnly * @type Object @@ -799,7 +897,7 @@

    }; /** - * The list of Signaling server reaction states during {@link Skylink#joinRoom}. + * The list of Signaling server reaction states during {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION * @property {String} WARNING Value <code>"warning"</code> * The value of the state when Room session is about to end. @@ -821,41 +919,37 @@

    /** * The list of Signaling server reaction states reason of action code during - * {@link Skylink#joinRoom}. + * {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION_REASON * @property {String} CREDENTIALS_EXPIRED Value <code>"oldTimeStamp"</code> * The value of the reason code when Room session token has expired. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} CREDENTIALS_ERROR Value <code>"credentialError"</code> * The value of the reason code when Room session token provided is invalid. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * @property {String} DUPLICATED_LOGIN Value <code>"duplicatedLogin"</code> * The value of the reason code when Room session token has been used already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_NOT_STARTED Value <code>"notStart"</code> * The value of the reason code when Room session has not started. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} EXPIRED Value <code>"expired"</code> * The value of the reason code when Room session has ended already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_LOCKED Value <code>"locked"</code> * The value of the reason code when Room is locked. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} FAST_MESSAGE Value <code>"fastmsg"</code> * The value of the reason code when User is flooding socket messages to the Signaling server * that is sent too quickly within less than a second interval. * Happens after Room session has started. This can be caused by various methods like - * {@link Skylink#sendMessage}, - * {@link Skylink#muteStreams}, - * {@link Skylink#enableAudio}, - * {@link Skylink#enableVideo}, - * {@link Skylink#disableAudio}, - * {@link Skylink#disableVideo}, + * {@link Skylink#sendMessage|sendMessage}, + * {@link Skylink#muteStreams|muteStreams} * Results with: <code>WARNING</code> * @property {String} ROOM_CLOSING Value <code>"toClose"</code> * The value of the reason code when Room session is ending. @@ -868,12 +962,12 @@

    * Results with: <code>REJECT</code> * @property {String} SERVER_ERROR Value <code>"serverError"</code> * The value of the reason code when Room session fails to start due to some technical errors. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} KEY_ERROR Value <code>"keyFailed"</code> * The value of the reason code when Room session fails to start due to some technical error pertaining to * App Key initialization. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @constant * @type Object @@ -907,7 +1001,7 @@

    * The value of the state when <code>init()</code> has successfully authenticated with the Auth server. * Room session token is generated for joining the <codRoom</code> provided in <code>init()</code>. * Room session token has to be generated each time User switches to a different Room - * in {@link Skylink#joinRoom}. + * in {@link Skylink#joinRoom|joinRoom} method. * @property {number} ERROR Value <code>-1</code> * The value of the state when <code>init()</code> has failed authenticating with the Auth server. * @constant @@ -1045,7 +1139,7 @@

    }; /** - * The list of User's priority weight schemes for {@link Skylink#joinRoom} connections. + * The list of User's priority weight schemes for {@link Skylink#joinRoom|joinRoom} connections. * @typedef PRIORITY_WEIGHT_SCHEME * @property {String} ENFORCE_OFFERER Value <code>"enforceOfferer"</code> * The value of the priority weight scheme to enforce User as the offerer. @@ -1102,24 +1196,24 @@

    }; /** - * The list of {@link Skylink#joinRoom} socket connection failure states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection failure states. * @typedef SOCKET_ERROR * @property {number} CONNECTION_FAILED Value <code>0</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish with + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish with * the Signaling server at the first attempt. * @property {number} RECONNECTION_FAILED Value <code>-1</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish * the Signaling server after the first attempt. * @property {number} CONNECTION_ABORTED Value <code>-2</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of the first attempt in <code>CONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ABORTED Value <code>-3</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of several attempts in <code>RECONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ATTEMPT Value <code>-4</code> - * The value of the failure state when <code>joinRoom()</code> socket connection is attempting + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is attempting * to reconnect with a new port or transport after the failure of attempts in * <code>CONNECTION_FAILED</code> or <code>RECONNECTED_FAILED</code>. * @constant @@ -1137,22 +1231,22 @@

    }; /** - * The list of {@link Skylink#joinRoom} socket connection reconnection states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection reconnection states. * @typedef SOCKET_FALLBACK * @property {String} NON_FALLBACK Value <code>"nonfallback"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is at its initial state + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is at its initial state * without transitioning to any new socket port or transports yet. * @property {String} FALLBACK_PORT Value <code>"fallbackPortNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} FALLBACK_PORT_SSL Value <code>"fallbackPortSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING Value <code>"fallbackLongPollingNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using Polling transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING_SSL Value <code>"fallbackLongPollingSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using Polling transports to attempt to establish connection with Signaling server. * @constant * @type Object @@ -1171,7 +1265,7 @@

    /** * <blockquote class="info"> * Note that this is used only for SDK developer purposes.<br> - * Current version: <code>0.1.4</code> + * Current version: <code>2.1.0</code> * </blockquote> * The value of the current version of the Signaling socket message protocol. * @typedef SM_PROTOCOL_VERSION @@ -1205,13 +1299,13 @@

    * @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const VIDEO_CODEC = { AUTO: 'auto', VP8: 'VP8', H264: 'H264', VP9: 'VP9', - // H264UC: 'H264UC' }; /** @@ -1243,6 +1337,7 @@

    * @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const AUDIO_CODEC = { AUTO: 'auto', @@ -1252,12 +1347,11 @@

    G722: 'G722', PCMU: 'PCMU', PCMA: 'PCMA', - // SILK: 'SILK' }; /** * The list of available screensharing media sources configured in the - * {@link Skylink#shareScreen}. + * {@link Skylink#shareScreen|shareScreen}. * @typedef MEDIA_SOURCE * @property {String} SCREEN Value <code>"screen"</code> * The value of the option to share entire screen. @@ -1298,11 +1392,11 @@

    /** * <blockquote class="info"> - * Note that currently {@link Skylink#getUserMedia} only configures + * Note that currently {@link Skylink#getUserMedia|getUserMedia} method only configures * the maximum resolution of the Stream due to browser interopability and support. * </blockquote> * The list of <a href="https://en.wikipedia.org/wiki/Graphics_display_resolution#Video_Graphics_Array"> - * video resolutions</a> sets configured in the {@link Skylink#getUserMedia}. + * video resolutions</a> sets configured in the {@link Skylink#getUserMedia|getUserMedia} method. * @typedef VIDEO_RESOLUTION * @property {Object} QQVGA Value <code>{ width: 160, height: 120 }</code> * The value of the option to configure QQVGA resolution. @@ -1411,19 +1505,19 @@

    }; /** - * The list of {@link Skylink#getUserMedia} or - * {@link Skylink#shareScreen} Stream fallback states. + * The list of {@link Skylink#getUserMedia|getUserMedia} or + * {@link Skylink#shareScreen|shareScreen} Stream fallback states. * @typedef MEDIA_ACCESS_FALLBACK_STATE * @property {Object} FALLBACKING Value <code>0</code> - * The value of the state when <code>getUserMedia()</code> will retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method will retrieve audio track only * when retrieving audio and video tracks failed. * This can be configured by Skylink {@link initOptions} * <code>audioFallback</code> option. * @property {Object} FALLBACKED Value <code>1</code> - * The value of the state when <code>getUserMedia()</code> or <code>shareScreen()</code> - * retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> or <code>{@link Skylink#shareScreen|shareScreen}</code> + * method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. * @property {Object} ERROR Value <code>-1</code> - * The value of the state when <code>getUserMedia()</code> failed to retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method failed to retrieve audio track only * after retrieving audio and video tracks failed. * @readOnly * @constant @@ -1657,6 +1751,7 @@

    MESSAGE: 'message', GET_STORED_MESSAGES: 'getStoredMessages', STORED_MESSAGES: 'storedMessages', + RESTART: 'restart', }; export const STREAM_STATUS = { @@ -1803,6 +1898,7 @@

    MESSAGING: 'MESSAGING', ASYNC_MESSAGING: 'ASYNC MESSAGING', ENCRYPTED_MESSAGING: 'ENCRYPTED MESSAGING', + STATS: 'STATS', }; /** @@ -1908,7 +2004,7 @@

    * @memberOf SkylinkConstants * @since 2.0 */ -export const SDK_VERSION = '2.0.0'; +export const SDK_VERSION = '2.x.x'; /** * The SDK type. @@ -2034,55 +2130,6 @@

    SIGNALING: SOCKET_EVENTS, }; -/** - * @namespace SkylinkConstants.EVENTS - * @type {object} - * @property {String} ON_INCOMING_STREAM - 'onIncomingStream' - * @property {String} ON_INCOMING_SCREEN_STREAM - 'onIncomingScreenStream' - * @property {String} STREAM_ENDED - 'streamEnded' - * @property {String} PEER_UPDATED - 'peerUpdated' - * @property {String} PEER_JOINED - 'peerJoined' - * @property {String} PEER_LEFT - 'peerLeft' - * @property {String} PEER_CONNECTION_STATE - 'peerConnectionState' - * @property {String} DATA_CHANNEL_STATE - 'dataChannelState' - * @property {String} ON_INCOMING_MESSAGE - 'onIncomingMessage' - * @property {String} HANDSHAKE_PROGRESS - 'handshakeProgress' - * @property {String} SERVER_PEER_JOINED - 'serverPeerJoined' - * @property {String} SERVER_PEER_LEFT - 'serverPeerLeft' - * @property {String} CANDIDATE_PROCESSING_STATE - 'candidateProcessingState' - * @property {String} CANDIDATE_GENERATION_STATE - 'candidateGenerationState' - * @property {String} CANDIDATES_GATHERED - 'candidatesGathered' - * @property {String} ON_INCOMING_DATA - 'onIncomingData' - * @property {String} GET_PEERS_STATE_CHANGE - 'getPeersStateChange' - * @property {String} SESSION_DISCONNECT - 'sessionDisconnect' - * @property {String} STREAM_MUTED - 'streamMuted' - * @property {String} CHANNEL_OPEN - 'channelOpen' - * @property {String} CHANNEL_CLOSE - 'channelClose' - * @property {String} CHANNEL_MESSAGE - 'channelMessage' - * @property {String} CHANNEL_ERROR - 'channelError' - * @property {String} CHANNEL_RETRY - 'channelRetry' - * @property {String} SOCKET_ERROR - 'socketError' - * @property {String} SYSTEM_ACTION - 'systemAction' - * @property {String} MEDIA_ACCESS_FALLBACK - 'mediaAccessFallback' - * @property {String} MEDIA_ACCESS_REQUIRED - 'mediaAccessRequired' - * @property {String} MEDIA_ACCESS_STOPPED - 'mediaAccessStopped' - * @property {String} MEDIA_ACCESS_SUCCESS - 'mediaAccessSuccess' - * @property {String} RECORDING_STATE - 'recordingState' - * @property {String} LOCAL_MEDIA_MUTED - 'localMediaMuted' - * @property {String} MEDIA_ACCESS_ERROR - 'mediaAccessError' - * @property {String} GET_CONNECTION_STATUS_STATE_CHANGE - 'getConnectionStatusStateChange' - * @property {String} READY_STATE_CHANGE - 'readyStateChange' - * @property {String} ROOM_LOCK - 'roomLock' - * @property {String} ICE_CONNECTION_STATE - 'iceConnectionState' - * @property {String} BYE - 'bye' - * @property {String} RTMP_STATE - 'rtmpState' - * @property {String} STORED_MESSAGES - 'storedMessages' - * @property {String} ENCRYPT_SECRETS_UPDATED - 'encryptSecretsUpdated' - * @memberOf SkylinkConstants - * @constant - * @readonly - * @since 2.0 - */ export const EVENTS = SkylinkEventsConstants;

    diff --git a/docs/features_messaging_encrypted-messaging_index.js.html b/docs/features_messaging_encrypted-messaging_index.js.html index 9c6394b47..c5e87f69a 100644 --- a/docs/features_messaging_encrypted-messaging_index.js.html +++ b/docs/features_messaging_encrypted-messaging_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -103,6 +103,7 @@

    import SkylinkError from '../../../utils/skylinkError'; import logger from '../../../logger'; import { TAGS } from '../../../constants'; +import Room from '../../../room'; const instance = {}; /** @@ -175,7 +176,7 @@

    dispatchEncryptSecretEvent() { dispatchEvent(encryptionSecretsUpdated({ - room: this.room, + room: Room.getRoomInfo(this.room.id), encryptSecrets: this.encryptSecrets, selectedSecretId: this.selectedSecretId, peerInfo: getUserInfo(this.room), diff --git a/docs/features_rtmp_index.js.html b/docs/features_rtmp_index.js.html index 4a26423d2..b073fb8ad 100644 --- a/docs/features_rtmp_index.js.html +++ b/docs/features_rtmp_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    diff --git a/docs/features_screen-sharing_index.js.html b/docs/features_screen-sharing_index.js.html index fe139382a..3aeb65d0a 100644 --- a/docs/features_screen-sharing_index.js.html +++ b/docs/features_screen-sharing_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -99,6 +99,7 @@

    import logger from '../../logger'; import MESSAGES from '../../messages'; import { isEmptyObj, isAString, updateReplacedStreamInState } from '../../utils/helpers'; +import { DEFAULTS } from '../../defaults'; import screenshareHelpers from './helpers/index'; import { TAGS } from '../../constants'; @@ -212,7 +213,7 @@

    startScreenCapture() { const { navigator } = window; if (navigator.mediaDevices.getDisplayMedia) { - return navigator.mediaDevices.getDisplayMedia({ video: true }) + return navigator.mediaDevices.getDisplayMedia(DEFAULTS.MEDIA_OPTIONS.SCREENSHARE) .then(stream => stream) .catch((error) => { if (error.name === 'NotAllowedError') { diff --git a/docs/fonts/OpenSans-Semibold-webfont.eot b/docs/fonts/OpenSans-Semibold-webfont.eot old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-Semibold-webfont.svg b/docs/fonts/OpenSans-Semibold-webfont.svg old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-Semibold-webfont.ttf b/docs/fonts/OpenSans-Semibold-webfont.ttf old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-Semibold-webfont.woff b/docs/fonts/OpenSans-Semibold-webfont.woff old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.eot b/docs/fonts/OpenSans-SemiboldItalic-webfont.eot old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.svg b/docs/fonts/OpenSans-SemiboldItalic-webfont.svg old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf b/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf old mode 100644 new mode 100755 diff --git a/docs/fonts/OpenSans-SemiboldItalic-webfont.woff b/docs/fonts/OpenSans-SemiboldItalic-webfont.woff old mode 100644 new mode 100755 diff --git a/docs/global.html b/docs/global.html index 9bb0c11a0..fc0d6f4cd 100644 --- a/docs/global.html +++ b/docs/global.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -209,7 +209,7 @@

    @@ -287,7 +287,7 @@

    @@ -463,7 +463,7 @@

    Properties

    The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -499,7 +499,7 @@
    Properties

    The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -710,7 +710,7 @@
    Properties

    The total number of bytes that were retransmitted for this SSRC, only including - payload bytes. This is a subset of bytesSent.

    +payload bytes. This is a subset of bytesSent.

    @@ -783,7 +783,7 @@
    Properties

    The Peer connection sending audio streaming selected codec information. - Defined as null if local session description is not available before parsing.

    +Defined as null if local session description is not available before parsing.

    Properties
    @@ -912,7 +912,7 @@
    Properties

    The Peer connection sending audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -950,8 +950,8 @@
    Properties

    The Peer connection sending audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

    @@ -989,7 +989,7 @@
    Properties

    The Peer connection sending audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1027,7 +1027,7 @@
    Properties

    The Peer connection sending audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1072,7 +1072,7 @@
    Properties

    The Peer connection audio level of the media source. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1110,7 +1110,7 @@
    Properties

    The Peer connection sending audio total duration in seconds. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1148,7 +1148,7 @@
    Properties

    The Peer connection sending audio streaming echo return loss in db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1186,8 +1186,8 @@
    Properties

    The Peer connection sending audio streaming - echo return loss enhancement db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

    +echo return loss enhancement db (decibels). +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1280,7 +1280,7 @@
    Properties

    The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -1316,7 +1316,7 @@
    Properties

    The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -1562,7 +1562,7 @@
    Properties

    The Peer connection receiving audio streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

    +Defined as 0 if it's not present in original raw statistics before parsing.

    @@ -1636,7 +1636,7 @@
    Properties

    The Peer connection receiving audio total duration in seconds. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -1674,9 +1674,9 @@
    Properties

    The Peer connection receiving audio streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

    +Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

    Properties
    @@ -1805,7 +1805,7 @@
    Properties

    The Peer connection receiving audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1843,8 +1843,8 @@
    Properties

    The Peer connection receiving audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

    @@ -1882,7 +1882,7 @@
    Properties

    The Peer connection receiving audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1920,7 +1920,7 @@
    Properties

    The Peer connection receiving audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1965,7 +1965,7 @@
    Properties

    The Peer connection receiving audio streaming audio level. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -2047,13 +2047,13 @@
    Properties
    - + -

    - codecParams :Object +

    + customSettings :Object

    @@ -2062,9 +2062,7 @@

    -
    - Note that some of these parameters are mainly used for experimental or debugging purposes. Toggling any of - these feature may result in disruptions in connectivity.
    +

    The peer stream and data settings.

    @@ -2104,12 +2102,18 @@

    Properties:
    - video + data + + Boolean + + + | + JSON @@ -2123,8 +2127,6 @@
    Properties:
    - <optional>
    - @@ -2133,43 +2135,69 @@
    Properties:
    -

    The video codecs parameters to configure.

    - -
    Properties
    - +

    The flag if peer has any data channel connections enabled. +If isSelf value is true, this determines if user allows +data channel connections, else if value is false, this determines if peer has any active +data channel connections (where onDataChannelStateChangedEvent +triggers state as OPEN and channelType as +MESSAGING for peer) with peer.

    + + + + - - - + - + - + | - + + JSON + - + + + + + + + + + + + + + - - - + - + @@ -2191,36 +2217,51 @@
    Properties
    + + + -
    NameaudioType + + + + Boolean + - - AttributesDescription + + + + +

    The peer stream audio settings keyed by stream id. +When defined as false, it means there is no audio being sent from peer.

    +
    h264audio[streamId].stereo - JSON + Boolean @@ -2181,8 +2209,6 @@
    Properties
    - <optional>
    -
    -

    The H264 video codec parameters to configure.

    - -
    Properties
    - +

    The flag if stereo band is configured +when encoding audio codec is OPUS for receiving audio data.

    +
    - - + - + - + - - + + + + + + + + + + - - - + - + @@ -2260,14 +2298,14 @@
    Properties
    - + @@ -2289,13 +2325,8 @@
    Properties
    @@ -2303,14 +2334,20 @@
    Properties
    - + @@ -2332,20 +2367,8 @@
    Properties
    - - - - -
    Nameaudio[streamId].echoCancellationType + + + + Boolean + - - AttributesDescription + + + + +

    The flag if echo cancellation is enabled for audio tracks.

    +
    profileLevelIdaudio[streamId].deviceId @@ -2249,10 +2290,7 @@
    Properties
    -

    - Note that this parameter should only be used for debugging purposes only.
    - The H264 video codec base16 encoded string which indicates the H264 baseline, main, or the extended profiles. - When not provided, the default browser configuration is used.

    +

    The peer stream audio track source id of the device used.

    levelAsymmetryAllowedaudio[streamId].exactConstraints - boolean + Boolean @@ -2279,8 +2317,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this is an experimental parameter which may result in connectivity issues when toggled.
    - The flag if streaming H264 sending video data should be encoded at a different level - from receiving video data from Peer encoding to User when Peer is the offerer. - If Peer is the offerer instead of the User, the Peer's peerInfo.config.priorityWeight will be - higher than User's peerInfo.config.priorityWeight. - When not provided, the default browser configuration is used.

    +

    The flag if peer stream audio track is sending exact +requested values of audio.deviceId when provided.

    packetizationModevideo - number + Boolean + + + | + + + JSON @@ -2322,8 +2359,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this is an experimental parameter which may result in connectivity issues when enabled. It is - advisable to turn off this feature off when receiving H264 decoders do not support the packetization mode, - which may result in a blank receiving video stream.
    - The flag to enable H264 video codec packetization mode, which splits video frames that are larger - for a RTP packet into RTP packet chunks. - When not provided, the default browser configuration is used.

    -
    - +

    The peer stream video settings keyed by stream id. +When defined as false, it means there is no video being sent from peer.

    @@ -2353,7 +2376,7 @@
    Properties
    - vp8 + video[streamId].resolution @@ -2382,7 +2405,8 @@
    Properties
    -

    The VP8 video codec parameters to configure.

    +

    The peer stream video resolution. +[Rel: VIDEO_RESOLUTION]

    Properties
    @@ -2397,8 +2421,6 @@
    Properties
    Type - Attributes - @@ -2411,14 +2433,20 @@
    Properties
    - maxFr + width - number + Number + + + | + + + JSON @@ -2428,23 +2456,14 @@
    Properties
    - - - <optional>
    - - - - - -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of fps (frames per second) that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

    +

    The peer stream video resolution width or +video resolution width settings. +When defined as a JSON Object, it is the user set resolution width settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    @@ -2452,14 +2471,20 @@
    Properties
    - maxFs + height - number + Number + + + | + + + JSON @@ -2469,27 +2494,14 @@
    Properties
    - - - <optional>
    - - - - - -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of frame size macroblocks that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

    +

    The peer stream video resolution height or +video resolution height settings. +When defined as a JSON Object, it is the user set resolution height settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    @@ -2504,12 +2516,18 @@
    Properties
    - vp9 + video[streamId].frameRate + + Number + + + | + JSON @@ -2533,43 +2551,25 @@
    Properties
    -

    The VP9 video codec parameters to configure.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The peer stream video +frameRate per second (fps) or video frameRate settings. +When defined as a JSON Object, it is the user set frameRate settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    + - - - + - + @@ -2591,11 +2589,7 @@
    Properties
    @@ -2603,14 +2597,14 @@
    Properties
    - + - -
    NameTypeAttributesDescription
    maxFrvideo[streamId].screenshare - number + Boolean @@ -2581,8 +2581,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of fps (frames per second) that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

    +

    The flag if peer stream is a screensharing stream.

    maxFsvideo[streamId].deviceId - number + String @@ -2632,29 +2626,45 @@
    Properties
    -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of frame size macroblocks that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

    +

    The peer stream video track source id of the device used.

    + + + video[streamId].exactConstraints + + + + + + + Boolean + + + + + + + + + + + + + - + - - - + + +

    The flag if peer stream video track is sending exact +requested values of video.resolution, +video.frameRate and video.deviceId +when provided.

    @@ -2662,12 +2672,18 @@
    Properties
    - audio + video[streamId].facingMode + + String + + + | + JSON @@ -2691,43 +2707,24 @@
    Properties
    -

    The audio codecs parameters to configure.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The peer stream video camera facing mode. +When defined as a JSON Object, it is the user set facingMode settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    + - - - + - + @@ -2749,9 +2744,7 @@
    Properties
    - + @@ -2818,14 +2810,14 @@
    Properties
    - + @@ -2856,14 +2847,14 @@
    Properties
    - + + + + + +
    NameTypeAttributesDescription
    opusmaxBandwidth - JSON + Object @@ -2739,8 +2736,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this is only applicable to OPUS audio codecs with a sampling rate of 48000 Hz (hertz). -
    The OPUS audio codec parameters to configure.

    +

    The maximum streaming bandwidth sent from peer.

    Properties
    @@ -2780,14 +2773,14 @@
    Properties
    stereoaudio - boolean + Number @@ -2809,8 +2802,7 @@
    Properties
    -

    The flag if OPUS audio codec is able to decode or receive stereo packets. - When not provided, the default browser configuration is used.

    +

    The maximum audio streaming bandwidth sent from peer.

    sprop-stereovideo - boolean + Number @@ -2847,8 +2839,7 @@
    Properties
    -

    The flag if OPUS audio codec is sending stereo packets. - When not provided, the default browser configuration is used.

    +

    The maximum video streaming bandwidth sent from peer.

    usedtxdata - boolean + Number @@ -2885,13 +2876,14 @@
    Properties
    -

    - Note that this feature might not work depending on the browser support and implementation.
    - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

    +

    The maximum data streaming bandwidth sent from peer.

    +
    + @@ -2899,14 +2891,14 @@
    Properties
    - useinbandfec + mediaStatus - boolean + Object @@ -2918,8 +2910,6 @@
    Properties
    - <optional>
    - @@ -2928,27 +2918,41 @@
    Properties
    -

    - Note that this parameter should only be used for debugging purposes only.
    - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

    - +

    The peer streaming media status.

    + +
    Properties
    + + + + + + + + + + + + + + + + + - + + - + - - - - - - -
    NameTypeDescription
    maxplaybackrateaudioMuted - number + Boolean @@ -2958,39 +2962,14 @@
    Properties
    - - <optional>
    - - - -
    -

    - Note that this parameter should only be used for debugging purposes only.
    - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

    -
    - - - - - - - - +

    The value of the audio status. +If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present +in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. +

    @@ -2998,14 +2977,14 @@
    Properties
    - minptime + videoMuted - number + Boolean @@ -3015,24 +2994,21 @@
    Properties
    - - - <optional>
    - - - - - -

    - Note that this parameter should only be used for debugging purposes only.
    - The OPUS audio codec receiving audio data decoder minimum length of time in milleseconds should be - encapsulated in a single received encoded audio data packet. - This value must be between 3 to 120 - When not provided, the default browser configuration is used.

    +

    The value of the video status. +If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present +in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. +

    + + + + + + + @@ -3074,7 +3050,7 @@
    Properties
    @@ -3107,13 +3083,13 @@
    Properties
    - + -

    - customSettings :Object +

    + dataChannelInfo :Object

    @@ -3156,14 +3132,14 @@
    Properties:
    - settings + channelName - Object + String @@ -3177,47 +3153,22 @@
    Properties:
    -

    The peer stream and data settings.

    - -
    Properties
    - - - - - - - - - - - - - - - - +

    The data channel id.

    + - - - + - + @@ -3244,20 +3190,14 @@
    Properties
    - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    datachannelProp - Boolean - - - | - - - JSON + String @@ -3231,12 +3182,7 @@
    Properties
    -

    The flag if peer has any data channel connections enabled. - If isSelf value is true, this determines if user allows - data channel connections, else if value is false, this determines if peer has any active - data channel connections (where onDataChannelStateChangedEvent - triggers state as OPEN and channelType as - MESSAGING for peer) with peer.

    +

    The data channel property.

    audiochannelType - Boolean - - - | - - - JSON + String @@ -3271,47 +3211,22 @@
    Properties
    -

    The peer stream audio settings. - When defined as false, it means there is no audio being sent from peer. - When defined as true, the settings.audio.stereo value is - considered as false and the settings.audio.exactConstraints - value is considered as false.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The data channel type.

    + - - - + - + - - @@ -3340,14 +3250,14 @@
    Properties
    - + - - @@ -3381,14 +3281,14 @@
    Properties
    - + - - @@ -3422,14 +3310,14 @@
    Properties
    - + - - @@ -3463,14 +3339,14 @@
    Properties
    - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    stereocurrentTransferId - Boolean + String @@ -3321,18 +3236,13 @@
    Properties
    - - - - -

    The flag if stereo band is configured - when encoding audio codec is OPUS for receiving audio data.

    +

    The data channel connection +current progressing transfer session. Defined as null when there is +currently no transfer session progressing on the data channel connection

    usedtxcurrentStreamId - Boolean + String @@ -3357,23 +3267,13 @@
    Properties
    - - <optional>
    - - - -
    -

    Note that this feature might not work depending on the browser support and implementation. - The flag if DTX (Discontinuous Transmission) is configured when encoding audio codec - is OPUS for sending audio data. - This might help to reduce bandwidth it reduces the bitrate during silence or background noise. - When not defined, the default browser configuration is used.

    +

    The data channel connection +current data streaming session id. Defined as null when there is currently +no data streaming session on the data channel connection.

    useinbandfecreadyState - Boolean + String @@ -3398,23 +3298,11 @@
    Properties
    - - <optional>
    - - - -
    -

    Note that this feature might not work depending on the browser support and implementation. - The flag if capability to take advantage of in-band FEC (Forward Error Correction) is - configured when encoding audio codec is OPUS for sending audio data. - This might help to reduce the harm of packet loss by encoding information about the previous packet. - When not defined, the default browser configuration is used.

    +

    The data channel connection readyState.

    maxplaybackratebufferedAmountLow - Number + String @@ -3439,23 +3327,11 @@
    Properties
    - - <optional>
    - - - -
    -

    Note that this feature might not work depending on the browser support and implementation. - The maximum output sampling rate rendered in Hertz (Hz) when encoding audio codec is - OPUS for sending audio data. - This value must be between 8000 to 48000. - When not defined, the default browser configuration is used.

    +

    The data channel buffered amount.

    echoCancellationbufferedAmountLowThreshold - Boolean + String @@ -3480,4119 +3356,116 @@
    Properties
    - - - - -

    The flag if echo cancellation is enabled for audio tracks.

    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    -

    The peer stream navigator.getUserMedia() API - audio: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    -

    The peer stream audio track source id of the device used.

    -
    exactConstraints - - - - Boolean - - - - - - - - - - - -

    The flag if peer stream audio track is sending exact - requested values of settings.audio.deviceId when provided.

    -
    - -
    video - - - - Boolean - - - | - - - JSON - - - - - - - -

    The peer stream video settings. - When defined as false, it means there is no video being sent from peer. - When defined as true, the settings.video.screenshare value is - considered as false and the settings.video.exactConstraints - value is considered as false.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    resolution - - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video resolution. - [Rel: VIDEO_RESOLUTION]

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    width - - - - Number - - - | - - - JSON - - - - - - - -

    The peer stream video resolution width or - video resolution width settings. - When defined as a JSON Object, it is the user set resolution width settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    height - - - - Number - - - | - - - JSON - - - - - - - -

    The peer stream video resolution height or - video resolution height settings. - When defined as a JSON Object, it is the user set resolution height settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    - -
    frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video - frameRate per second (fps) or video frameRate settings. - When defined as a JSON Object, it is the user set frameRate settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    screenshare - - - - Boolean - - - - - - - - - - - -

    The flag if peer stream is a screensharing stream.

    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    -

    The peer stream navigator.getUserMedia() API - video: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video track source id of the device used.

    -
    exactConstraints - - - - Boolean - - - - - - - - - - - -

    The flag if peer stream video track is sending exact - requested values of settings.video.resolution, - settings.video.frameRate and settings.video.deviceId - when provided.

    -
    facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video camera facing mode. - When defined as a JSON Object, it is the user set facingMode settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    - -
    bandwidth - - - - Object - - - - - - - -

    The maximum streaming bandwidth sent from peer.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    audio - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum audio streaming bandwidth sent from peer.

    -
    video - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum video streaming bandwidth sent from peer.

    -
    data - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum data streaming bandwidth sent from peer.

    -
    - -
    googleXBandwidth - - - - Object - - - - - - - -

    Note that this feature might not work depending on the browser support and implementation, - and its properties and values are only defined for user's end and cannot be viewed - from peer's end (when isSelf value is false). - The experimental google video streaming bandwidth sent to peers.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    min - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The minimum experimental google video streaming bandwidth sent to peers.

    -
    max - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum experimental google video streaming bandwidth sent to peers.

    -
    - -
    - - - - - - - - - mediaStatus - - - - - - - Object - - - - - - - - - - - - - -

    The peer streaming media status.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    audioMuted - - - - Boolean - - - - - - - -

    The value of the audio status. - If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present - in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. -

    -
    videoMuted - - - - Boolean - - - - - - - -

    The value of the video status. - If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present - in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. -

    -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - dataChannelInfo :Object -

    -
    - - - - - - - - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    channelName - - - - String - - - - - - - -

    The data channel id.

    -
    channelProp - - - - String - - - - - - - -

    The data channel property.

    -
    channelType - - - - String - - - - - - - -

    The data channel type.

    -
    currentTransferId - - - - String - - - - - - - -

    The data channel connection - current progressing transfer session. Defined as null when there is - currently no transfer session progressing on the data channel connection

    -
    currentStreamId - - - - String - - - - - - - -

    The data channel connection - current data streaming session id. Defined as null when there is currently - no data streaming session on the data channel connection.

    -
    readyState - - - - String - - - - - - - -

    The data channel connection readyState.

    -
    bufferedAmountLow - - - - String - - - - - - - -

    The data channel buffered amount.

    -
    bufferedAmountLowThreshold - - - - String - - - - - - - -

    The data channel - buffered amount threshold.

    -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - GetUserMediaOptions :Object -

    -
    - - - - - -
    -

    The camera Stream configuration options.

    -
    - - - - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    options.useExactConstraints - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Note that by enabling this flag, exact values will be requested when retrieving camera Stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support. - The flag if getUserMedia() should request for camera Stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

    -
    options.audio - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation. - The audio configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    stereo - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting. - The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

    -
    usedtx - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation. - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

    -
    useinbandfec - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only. - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

    -
    maxplaybackrate - - - - number - - - - - - - - - <optional>
    - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only. - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

    -
    mute - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if audio tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - true and mutes any existing - shareScreen() Stream audio tracks as well.

    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    - - -

    This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the audio track, - use options.audio.deviceId instead. - The navigator.getUserMedia() API audio: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    - - -

    Note this is currently not supported in Firefox browsers. - The audio track source ID of the device to use. - The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

    -
    echoCancellation - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones. The flag to enable echo cancellation for audio track.

    -
    - -
    options.video - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode. - The video configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    mute - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if video tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, - but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - true and mutes any existing - shareScreen() Stream video tracks as well.

    -
    resolution - - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: Skylink.VIDEO_RESOLUTION]

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    width - - - - number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The video resolution width.

    -
      -
    • When provided as a number, it is the video resolution width.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    -
    height - - - - number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The video resolution height.

    -
      -
    • When provided as a number, it is the video resolution height.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    -
    - -
    frameRate - - - - number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    The video - frameRate per second (fps).

    -
      -
    • When provided as a number, it is the video framerate.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    - - -

    This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the video track, - use options.video.deviceId instead. - The navigator.getUserMedia() API video: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    - - -

    Note this is currently not supported in Firefox browsers. - The video track source ID of the device to use. - The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

    -
    facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    The video camera facing mode. - The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

    -
    - -
    callback - - - - function - - - - - - - - - <optional>
    - - - -
    - - -

    The callback function fired when request has completed. - Function parameters signature is function (error, success) - Function request completion is determined by the - mediaAccessSuccess event triggering isScreensharing parameter - payload value as false for request success.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    error - - - - Error - - - | - - - String - - - - - - - -

    The error result in request. - Defined as null when there are no errors in request - Object signature is the getUserMedia() error when retrieving camera Stream.

    -
    success - - - - MediaStream - - - - - - - -

    The success result in request. - Defined as null when there are errors in request - Object signature is the camera Stream object.

    -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - initOptions :Object -

    -
    - - - - - -
    -
    - When provided as a string, it's configured as appKey.
    -
    - - - - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + - + - - + - -
    NameTypeAttributesDefaultDescription
    appKey - - - - String - - - - - - - - - - - - - -

    The App Key. By default, Skylink uses HTTP CORS - authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to - use credential based authentication. See the Persistent Room article - for more information.

    -
    defaultRoom - - - - String - - - - - - - - - <optional>
    - - - -
    - - appKey - - -

    The default Room to connect to when no room parameter - is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. - The Room that User will be connected to is the defaultRoom provided.

    -
    roomServer - - - - String - - - - - - - - - <optional>
    - - - -
    - - -

    The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

    -
    enableStatsGathering - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    Configure the anonymous performance and connectivity statistic collection function. - Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. - This data does not contain any personal information or session content. - To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

    -
    enableDataChannel - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if Datachannel connections should be enabled.

    -
    - Note that for Edge browsers, this value is overriden as false due to its supports. - This is required to be enabled for Skylink#sendBlobData, Skylink#sendURLData and Skylink#sendP2PMessage. -
    -
    enableTURNServer - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if TURN ICE servers should - be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

    -
    enableSTUNServer - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if STUN ICE servers should - be used when constructing Peer connections to allow TURN connections when required.

    -
    forceTURN - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if Peer connections should enforce - connections over the TURN server. -

    This overrides enableTURNServer value to true and - enableSTUNServer value to false, filterCandidatesType.host - value to true, filterCandidatesType.srflx value to true and - filterCandidatesType.relay value to false. - Note that currently for MCU enabled Peer connections, the filterCandidatesType - configuration is not honoured as Peers connected with MCU is similar as a forced TURN connection. The flags - will act as if the value is false and ICE candidates will never be filtered regardless of the - filterCandidatesType configuration.

    -
    TURNServerTransport - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that configuring the protocol may not necessarily result in the desired network transports protocol - used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing - the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. - Note that for Edge browsers, this value is overriden as UDP due to its supports. -
    The option to configure the ?transport= - query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. - Skylink.TURN_TRANSPORT

    -
    disableVideoFecCodecs - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    - Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled, - and to prevent connectivity issues, these codecs will not be removed for MCU enabled Peer connections. -
    The flag if video FEC (Forward Error Correction) - codecs like ulpfec and red should be removed in sending session descriptions. - This can be useful for debugging purposes to prevent redundancy and overheads in RTP encoding.

    -
    disableComfortNoiseCodec - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    - Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled. -
    The flag if audio - Comfort Noise (CN) codec should be removed - in sending session descriptions. - This can be useful for debugging purposes to test preferred audio quality and feedback.

    -
    disableREMB - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    - Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled.
    - The flag if video REMB feedback packets should be disabled in sending session descriptions.

    -
    credentials - - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that we strongly recommend developers to return the credentials.duration, - credentials.startDateTime and defaultRoom and generate the - credentials.credentials from a web server as secret shouldn't be exposed on client web app as - it poses a security risk itself.
    - The credentials used for authenticating App Key with - credentials to retrieve the Room session token used for connection in Skylink#joinRoom. - Note that switching of Rooms is not allowed when using credentials based authentication, unless - init() is invoked again with a different set of credentials followed by invoking - the Skylink#joinRoom.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    startDateTime - - - - String - - - - - - - -

    The credentials User session in Room starting DateTime - in ISO 8601 format.

    -
    duration - - - - number - - - - - - - -

    The credentials User session in Room duration in hours.

    -
    credentials - - - - String - - - - - - - -

    The generated credentials used to authenticate - the provided App Key with its "secret" property. -

    To generate the credentials:
      -
    1. Concatenate a string that consists of the Room name you provide in the defaultRoom, - the credentials.duration and the credentials.startDateTime. - Example: var concatStr = defaultRoom + "" + duration + "" + startDateTime;
    2. -
    3. Hash the concatenated string with the App Key "secret" property using - SHA-1. - Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); - See the CryptoJS.HmacSHA1 library.
    4. -
    5. Encode the hashed string using base64 - Example: var b64Str = hash.toString(CryptoJS.enc.Base64); - See the CryptoJS.enc.Base64 library.
    6. -
    7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. - Example: var credentials = encodeURIComponent(base64String); - See encodeURIComponent() API.

    -
    - -
    audioFallback - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when - retrieving audio and video Stream fails.

    -
    forceSSL - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if HTTPS connections should be enforced - during request to Auth server and socket connections to Signaling server - when accessing window.location.protocol value is "http:". - By default, "https:" protocol connections uses HTTPS connections.

    -
    audioCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as OPUS due to its supports.
    - The option to configure the preferred audio codec to use to encode sending audio data when available for Peer connection.

    -
      -
    • When not provided, its value is AUTO. -[Rel: Skylink.AUDIO_CODEC]
    • -
    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    codec - - - - String - - - - - - - - - - - -

    The audio codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.AUDIO_CODEC]

    -
    samplingRate - - - - number - - - - - - - - - <optional>
    - - - -
    -

    The audio codec sampling to prefer to encode sending audio data when available.

    -
    channels - - - - number - - - - - - - - - <optional>
    - - - -
    -

    The audio codec channels to prefer to encode sending audio data when available.

    -
    - -
    videoCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as H264 due to its supports.
    - The option to configure the preferred video codec to use to encode sending video data when available for Peer connection.

    -
      -
    • When not provided, its value is AUTO. -[Rel: Skylink.VIDEO_CODEC]
    • -
    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
    NameTypeAttributesDescription
    codec - - - - String - - - - - - - - - - - -

    The video codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.VIDEO_CODEC]

    +

    The data channel +buffered amount threshold.

    -
    samplingRate - - - - number - - +
    - -
    - - <optional>
    - + - -
    -

    The video codec sampling to prefer to encode sending video data when available.

    -
    - - + - - - socketTimeout - + - - - - - number - + - + + - - + +
    Source:
    +
    + +
    + - - - - <optional>
    - + - - - + - - - - 7000 - - - + +

    - -

    The timeout for each attempts for socket connection - with the Signaling server to indicate that connection has timed out and has failed to establish. - Note that the minimum timeout value is 5000. If less, this value will be 5000. - Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting - using Polling transports to prevent connection errors.

    - - - - - - apiTimeout - - - - - - number - - - - - - - - <optional>
    - - - - - - - - 4000 - - - - -

    The timeout to wait for response from Auth server.

    - - - - - - forceTURNSSL - - - - boolean - - + - - + + + + + + +

    + getUserMediaOptions :Object +

    +
    - - - - <optional>
    - + - - - - - - - false - - - - -

    - Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, - TURN ICE servers using port 443 will be used instead. - Note that for Edge browsers, this value is overriden as false due to its supports and - only port 3478 is used.
    - The flag if TURNS protocol should be used when enableTURNServer is enabled.

    - - +
    +

    The camera Stream configuration options.

    +
    - - - - filterCandidatesType - - - - - - JSON - - - - - - - - <optional>
    - - - - - - - - - - -

    - Note that this a debugging feature and there might be connectivity issues when toggling these flags. -
    The configuration options to filter the type of ICE candidates sent and received.

    - -
    Properties
    - +
    Properties:
    + + @@ -7613,57 +3486,14 @@
    Properties
    - - - - - - - - - - - - - - - - - - - - - - + - + + - + @@ -7706,7 +3543,7 @@
    Properties
    - + - - - - - - - - - - - - - - -
    Description
    host - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if local network ICE candidates should be filtered out.

    -
    srflxuseExactConstraints @@ -7698,7 +3528,14 @@
    Properties
    -

    The flag if STUN ICE candidates should be filtered out.

    +

    Note that by enabling this flag, exact values will be requested when retrieving camera Stream, +but it does not prevent constraints related errors. By default when not enabled, +expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related +errors, with an exception for video.frameRate option in Safari and IE (any plugin-enabled) browsers, +where the expected maximum value will not be requested due to the lack of support. +The flag if getUserMedia() should request for camera Stream to match exact requested values of +audio.deviceId and video.deviceId, video.resolution +and video.frameRate when provided.

    relayaudio @@ -7716,52 +3553,8 @@
    Properties
    boolean - - - - -
    - - <optional>
    - - - -
    - - false - - -

    The flag if TURN ICE candidates should be filtered out.

    -
    - - - - - - - - - throttleIntervals - + | - - - JSON @@ -7785,11 +3578,13 @@
    Properties
    + false + -

    The configuration options to configure the throttling method timeouts.

    +

    The audio configuration options.

    Properties
    @@ -7820,14 +3615,14 @@
    Properties
    - shareScreen + mute - number + boolean @@ -7849,14 +3644,16 @@
    Properties
    - 10000 + false -

    The interval timeout for - Skylink#shareScreen throttling in milliseconds.

    +

    The flag if audio tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, +but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to +true and mutes any existing screen share audio tracks as well.

    @@ -7864,14 +3661,14 @@
    Properties
    - getUserMedia + deviceId - number + String @@ -7893,14 +3690,15 @@
    Properties
    - 0 - -

    The interval timeout for - Skylink#getUserMedia throttling in milliseconds.

    +

    Note this is currently not supported in Firefox browsers. +The audio track source ID of the device to use. +The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

    @@ -7908,14 +3706,14 @@
    Properties
    - refreshConnection + echoCancellation - number + boolean @@ -7937,15 +3735,15 @@
    Properties
    - 5000 + true -

    -
    The interval timeout for Skylink#refreshConnection throttling in milliseconds. - Note that there will be no throttling when Skylink#refreshConnection is called internally.

    +

    For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible +feedback. It is recommended to use headphones or other microphone devices rather than the device +in-built microphones. The flag to enable echo cancellation for audio track.

    @@ -7960,7 +3758,7 @@
    Properties
    - throttleShouldThrowError + video @@ -7970,54 +3768,10 @@
    Properties
    boolean - - - - - - - - - - <optional>
    - - - - - - - - - - false - - - - - -

    The flag if throttled methods should throw errors when - method is invoked less than the interval timeout value configured in throttleIntervals.

    - - - - - - - - iceServer - - - - - - - String - - | - Array + JSON @@ -8039,15 +3793,13 @@
    Properties
    + false + -

    The ICE servers for debugging purposes to use.

    -
      -
    • When defined as string, the value is considered as [iceServer]. -Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • -
    +

    The video configuration options.

    Properties
    @@ -8066,6 +3818,8 @@
    Properties
    + Default + Description @@ -8076,14 +3830,14 @@
    Properties
    - #index + mute - String + boolean @@ -8103,16 +3857,18 @@
    Properties
    - - -

    The ICE server url for debugging purposes to use.

    + + + false + - - - - - + + +

    The flag if video tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, +but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to +true and mutes any existing screen share video tracks as well.

    @@ -8120,18 +3876,12 @@
    Properties
    - socketServer + resolution - - String - - - | - JSON @@ -8159,11 +3909,10 @@
    Properties
    -

    The Signaling server for debugging purposes to use.

    -
      -
    • When defined as string, the value is considered as { url: socketServer }. -Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • -
    +

    The video resolution. +By default, VGA resolution option +is selected when not provided. +[Rel: Skylink.VIDEO_RESOLUTION]

    Properties
    @@ -8192,14 +3941,20 @@
    Properties
    - url + width - String + number + + + | + + + JSON @@ -8211,6 +3966,8 @@
    Properties
    + <optional>
    + @@ -8219,7 +3976,14 @@
    Properties
    -

    The Signaling server URL for debugging purposes to use.

    +

    The video resolution width.

    +
      +
    • When provided as a number, it is the video resolution width.
    • +
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. +Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, +"min" for min video resolution width and "max" for max video resolution width. +Note that this may result in constraints related errors depending on the browser/hardware supports.
    • +
    @@ -8227,14 +3991,20 @@
    Properties
    - ports + height - Array + number + + + | + + + JSON @@ -8256,42 +4026,91 @@
    Properties
    -

    The list of Signaling server ports for debugging purposes to use. - If not defined, it will use the default list of ports specified.

    - -
    Properties
    - +

    The video resolution height.

    +
      +
    • When provided as a number, it is the video resolution height.
    • +
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. +Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, +"min" for min video resolution height and "max" for max video resolution height. +Note that this may result in constraints related errors depending on the browser/hardware supports.
    • +
    + + + + + + + + + + + - - - + - + + + + + + + + + + + + + + + + - - - + - + + - - - - - -
    NameframeRateType + + + + number + - + | - + + JSON + - Description + + <optional>
    + + + +
    + + +

    The video +frameRate per second (fps).

    +
      +
    • When provided as a number, it is the video framerate.
    • +
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. +Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, +"min" for min video framerate and "max" for max video framerate. +Note that this may result in constraints related errors depending on the browser/hardware supports.
    • +
    +
    #indexdeviceId - number + String @@ -8301,18 +4120,27 @@
    Properties
    + + <optional>
    + + +
    -

    The Signaling server port to fallback and use for debugging purposes.

    + +
    +
    + + +

    Note this is currently not supported in Firefox browsers. +The video track source ID of the device to use. +The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

    @@ -8320,7 +4148,7 @@
    Properties
    - protocol + facingMode @@ -8330,6 +4158,12 @@
    Properties
    String + | + + + JSON + + @@ -8347,10 +4181,15 @@
    Properties
    + + + + -

    The Signaling server protocol for debugging purposes to use. - If not defined, it will use the default protocol specified.

    +

    The video camera facing mode. +The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

    @@ -8365,14 +4204,14 @@
    Properties
    - codecParams + callback - codecParams + function @@ -8398,22 +4237,51 @@
    Properties
    -

    The audio and video codecs parameters to configure.

    - +

    The callback function fired when request has completed. +Function parameters signature is function (error, success) +Function request completion is determined by the +mediaAccessSuccess event triggering isScreensharing parameter +payload value as false for request success.

    + +
    Properties
    + + + + + + + + + + + + + + + + + - + + - + - - - - @@ -8449,14 +4305,14 @@
    Properties
    - + - - - - + + + + +
    NameTypeDescription
    beSilentOnStatsLogserror - boolean + Error + + + | + + + String @@ -8423,25 +4291,13 @@
    Properties
    - - <optional>
    - - - -
    - - false - - -

    The flag if error logs triggered by the statistics module should be silent.

    +

    The error result in request. +Defined as null when there are no errors in request +Object signature is the getUserMedia() error when retrieving camera Stream.

    beSilentOnParseLogssuccess - boolean + MediaStream @@ -8466,25 +4322,20 @@
    Properties
    - - <optional>
    - - -
    - - false - + +

    The success result in request. +Defined as null when there are errors in request +Object signature is the camera Stream object.

    - -

    The flag if media and codec parsing logs should be silent.

    @@ -8526,7 +4377,7 @@
    Properties
    @@ -8559,13 +4410,13 @@
    Properties
    - + -

    - joinRoomOptions :Object +

    + initOptions :Object

    @@ -8574,7 +4425,8 @@

    -

    The Room session configuration options.

    +
    + When provided as a string, it's configured as appKey.
    @@ -8607,23 +4459,152 @@

    Properties:
    Default - Description + Description + + + + + + + + + appKey + + + + + + + String + + + + + + + + + + + + + + + + + + + + + + + +

    The App Key. By default, Skylink uses HTTP CORS +authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to +use credential based authentication. See the Persistent Room article + for more information.

    + + + + + + + + defaultRoom + + + + + + + String + + + + + + + + + + + + <optional>
    + + + + + + + + + + appKey + + + + + +

    The default Room to connect to when no room parameter +is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. +The Room that User will be connected to is the defaultRoom provided.

    + + + + + + + + roomServer + + + + + + + String + + + + + + + + + + + + <optional>
    + + + + + + + + + + + + + +

    The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

    + - - - + - roomName + enableStatsGathering - String + boolean @@ -8645,14 +4626,16 @@
    Properties:
    + true + -

    The Room name. When not provided or is provided as an empty string, its value is the defaultRoom - provided in the initOptions. - Note that if you are using credentials based authentication, you cannot switch the Room - that is not the same as the defaultRoom defined in initOptions.

    +

    Configure the anonymous performance and connectivity statistic collection function. +Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. +This data does not contain any personal information or session content. +To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

    @@ -8660,20 +4643,14 @@
    Properties:
    - userData + enableDataChannel - JSON - - - | - - - String + boolean @@ -8695,13 +4672,13 @@
    Properties:
    + true + -

    The User custom data. - This can be set after Room session has started using the - Skylink#setUserData.

    +

    The flag if Datachannel connections should be enabled.

    @@ -8709,7 +4686,7 @@
    Properties:
    - useExactConstraints + enableTURNServer @@ -8738,13 +4715,14 @@
    Properties:
    + true + -

    The Skylink#getUserMedia useExactConstraints parameter settings. - See the useExactConstraints parameter in the - Skylink#getUserMedia for more information.

    +

    The flag if TURN ICE servers should +be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

    @@ -8752,7 +4730,7 @@
    Properties:
    - audio + enableSTUNServer @@ -8762,12 +4740,6 @@
    Properties:
    boolean - | - - - JSON - - @@ -8787,15 +4759,14 @@
    Properties:
    + true + -

    The Skylink#getUserMedia audio parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - video is not defined, it will be defined as false. - Object signature matches the audio parameter in the - Skylink#getUserMedia.

    +

    The flag if STUN ICE servers should +be used when constructing Peer connections to allow TURN connections when required.

    @@ -8803,7 +4774,7 @@
    Properties:
    - video + forceTURN @@ -8813,12 +4784,6 @@
    Properties:
    boolean - | - - - JSON - - @@ -8838,15 +4803,16 @@
    Properties:
    + false + -

    The Skylink#getUserMedia video parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - audio is not defined, it will be defined as false. - Object signature matches the video parameter in the - Skylink#getUserMedia.

    +

    The flag if Peer connections should enforce +connections over the TURN server.

    +
    This overrides enableTURNServer value to true and + enableSTUNServer value to false. @@ -8854,7 +4820,7 @@
    Properties:
    - voiceActivityDetection + TURNServerTransport @@ -8883,23 +4849,18 @@
    Properties:
    - true - -

    The flag if voice activity detection should be enabled. - This can only be toggled if User is and for the offerer, which is determined if User's - peerInfo.config.priorityWeight is higher than Peer's. -

    - This works hand-in-hand with the disableComfortNoiseCodec flag in the - initOptions and the audio.usedtx setting in - Skylink#getUserMedia. VAD (voice activity detection) - detects if there is an active voice in the Stream, and if there is no active voice in the Stream, the - audio.usedtx (if enabled) would prevent sending these empty bits. To prevent huge differences - when there is a silence and an active voice later, the CN codec would produce an empty voice to - make it sound better.

    +
    + Note that configuring the protocol may not necessarily result in the desired network transports protocol + used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. + This simply configures the TURN ICE server urls query option when constructing + the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. +
    The option to configure the ?transport= + query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. + Skylink.TURN_TRANSPORT @@ -8907,7 +4868,7 @@
    Properties:
    - bandwidth + credentials @@ -8940,11 +4901,16 @@
    Properties:
    -

    Note that this is currently not supported - with Firefox browsers versions 48 and below as noted in an existing - bugzilla ticket here.
    - The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured - constant VIDEO_QUALITY for recommended values.

    +
    + Note that we strongly recommend developers to return the credentials.duration, + credentials.startDateTime and defaultRoom and generate the + credentials.credentials from a web server as secret shouldn't be exposed on client web app as + it poses a security risk itself.
    + The credentials used for authenticating App Key with + credentials to retrieve the Room session token used for connection in Skylink#joinRoom. + Note that switching of Rooms is not allowed when using credentials based authentication, unless + init() is invoked again with a different set of credentials followed by invoking + the Skylink#joinRoom.
    Properties
    @@ -8959,8 +4925,6 @@
    Properties
    Type - Attributes - @@ -8973,14 +4937,14 @@
    Properties
    - audio + startDateTime - number + String @@ -8990,21 +4954,12 @@
    Properties
    - - - <optional>
    - - - - - -

    The maximum audio streaming bandwidth sent to Peers in kbps. - Recommended values are 50 to 200. 50 is sufficient enough for - an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

    +

    The credentials User session in Room starting DateTime +in ISO 8601 format.

    @@ -9012,7 +4967,7 @@
    Properties
    - video + duration @@ -9029,22 +4984,11 @@
    Properties
    - - - <optional>
    - - - - - -

    The maximum video streaming bandwidth sent to Peers. - Recommended values are 256-500 for 180p quality, - 500-1024 for 360p quality, 1024-2048 for 720p quality - and 2048-4096 for 1080p quality.

    +

    The credentials User session in Room duration in hours.

    @@ -9052,14 +4996,14 @@
    Properties
    - data + credentials - number + String @@ -9069,21 +5013,27 @@
    Properties
    - - - <optional>
    - - - - - -

    The maximum data streaming bandwidth sent to Peers. - This affects the P2P messaging in Skylink#sendP2PMessage, - and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

    +

    The generated credentials used to authenticate +the provided App Key with its "secret" property.

    +
    To generate the credentials:
      +
    1. Concatenate a string that consists of the Room name you provide in the defaultRoom, + the credentials.duration and the credentials.startDateTime. + Example: var concatStr = defaultRoom + "_" + duration + "_" + startDateTime;
    2. +
    3. Hash the concatenated string with the App Key "secret" property using + SHA-1. + Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); + See the CryptoJS.HmacSHA1 library.
    4. +
    5. Encode the hashed string using base64 + Example: var b64Str = hash.toString(CryptoJS.enc.Base64); + See the CryptoJS.enc.Base64 library.
    6. +
    7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. + Example: var credentials = encodeURIComponent(base64String); + See encodeURIComponent() API.
    @@ -9098,14 +5048,14 @@
    Properties
    - googleXBandwidth + audioFallback - JSON + boolean @@ -9127,51 +5077,29 @@
    Properties
    + false + -

    Note that this is an experimental configuration - and may cause disruptions in connections or connectivity issues when toggled, or may not work depending on - browser supports. Currently, this only toggles the video codec bandwidth configuration.
    - The configuration to set the experimental google video streaming bandwidth sent to Peers. - Note that Peers may override the "receive from" streaming bandwidth depending on the Peers configuration.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when +retrieving audio and video Stream fails.

    + - - - + - + + @@ -9202,7 +5138,7 @@
    Properties
    - + - - - - -
    NameTypeAttributesDescription
    minforceSSL - number + boolean @@ -9191,10 +5119,18 @@
    Properties
    +
    + + true + + -

    The minimum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-min-bitrate" flag in the session description.

    +

    The flag if HTTPS connections should be enforced +during request to Auth server and socket connections to Signaling server +when accessing window.location.protocol value is "http:". +By default, "https:" protocol connections uses HTTPS connections.

    maxsocketTimeout @@ -9229,17 +5165,19 @@
    Properties
    - -
    -

    The maximum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-max-bitrate" flag in the session description.

    +
    + + 7000 +
    + + +

    The timeout for each attempts for socket connection +with the Signaling server to indicate that connection has timed out and has failed to establish. +Note that the minimum timeout value is 5000. If less, this value will be 5000. +Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting +using Polling transports to prevent connection errors.

    @@ -9247,7 +5185,7 @@
    Properties
    - manualGetUserMedia + forceTURNSSL @@ -9276,16 +5214,16 @@
    Properties
    + false + -

    The flag if Skylink#joinRoom should trigger - mediaAccessRequired in which the - Skylink#getUserMedia stream or - Skylink#shareScreen stream - must be retrieved as a requirement before Room session may begin. - This ignores the audio and video configuration.

    +

    The flag if TURNS protocol should be used when enableTURNServer is enabled.

    +
    + Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, + TURN ICE servers using port 443 will be used instead. @@ -9293,80 +5231,20 @@
    Properties
    - sdpSettings + iceServer - JSON + String - - - - - - - - - - <optional>
    - - - - - - - - - - - - - -

    - Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled. Note that it might not work - with MCU enabled Peer connections or break MCU enabled Peer connections.
    - The configuration to set the session description settings.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - @@ -9421,14 +5303,14 @@
    Properties
    - + - + + + + +
    NameTypeAttributesDescription
    connection - - + | + - JSON + Array @@ -9386,11 +5264,17 @@
    Properties
    +
    + + -

    The configuration to set the session description connection settings. - Note that this configuration may disable the media streaming and these settings will be enabled for - MCU server Peer connection regardless of the flags configured.

    +

    The ICE servers for debugging purposes to use.

    +
      +
    • When defined as string, the value is considered as [iceServer]. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • +
    Properties
    @@ -9409,8 +5293,6 @@
    Properties
    -
    DefaultDescription
    audio#index - boolean + String @@ -9448,15 +5330,16 @@
    Properties
    -
    - - true - - -

    The configuration to enable audio session description connection.

    +

    The ICE server url for debugging purposes to use.

    +
    + @@ -9464,14 +5347,20 @@
    Properties
    - video + socketServer - boolean + String + + + | + + + JSON @@ -9493,28 +5382,51 @@
    Properties
    - true - -

    The configuration to enable video session description connection.

    - +

    The Signaling server for debugging purposes to use.

    +
      +
    • When defined as string, the value is considered as { url: socketServer }. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • +
    + +
    Properties
    + + + + + + + + + + + + + + + + + + + - + + - + - - - - - - -
    NameTypeAttributesDescription
    dataurl - boolean + String @@ -9526,30 +5438,15 @@
    Properties
    - <optional>
    -
    - - true - - -

    The configuration to enable Datachannel session description connection.

    -
    - +

    The Signaling server URL for debugging purposes to use.

    @@ -9557,14 +5454,14 @@
    Properties
    - direction + ports - JSON + Array @@ -9586,9 +5483,8 @@
    Properties
    -

    The configuration to set the session description connection direction - to enable or disable uploading and downloading audio or video media streaming. - Note that this configuration does not prevent RTCP packets from being sent and received.

    +

    The list of Signaling server ports for debugging purposes to use. +If not defined, it will use the default list of ports specified.

    Properties
    @@ -9603,8 +5499,6 @@
    Properties
    Type - Attributes - @@ -9617,14 +5511,50 @@
    Properties
    - audio + #index - JSON + number + + + + + + + + + + + + + +

    The Signaling server port to fallback and use for debugging purposes.

    + + + + + + + + + + + + + + + protocol + + + + + + + String @@ -9646,39 +5576,23 @@
    Properties
    -

    The configuration to set the session description - connection direction for audio streaming.

    - -
    Properties
    - - - - - - - - - - - - - - +

    The Signaling server protocol for debugging purposes to use. +If not defined, it will use the default protocol specified.

    + + - - - + + +
    NameTypeAttributes
    Default
    - Description + - - - + - send + beSilentOnStatsLogs @@ -9707,14 +5621,13 @@
    Properties
    - true + false -

    The flag if uploading audio streaming - should be enabled when available.

    +

    The flag if all logs triggered by the statistics module should be silent.

    @@ -9722,7 +5635,7 @@
    Properties
    - receive + beSilentOnParseLogs @@ -9744,69 +5657,124 @@
    Properties
    <optional>
    - - - + + + + + + + + false + + + + + +

    The flag if media and codec parsing logs should be silent.

    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + - - - true - - - + - -

    The flag if downloading audio - streaming should be enabled when available.

    - - - - - - + + + + + + +

    + joinRoomOptions :Object +

    +
    - - - video - - - - - - JSON - - +
    +

    The Room session configuration options.

    +
    - - - - - - <optional>
    - - - - - - -

    The configuration to set the session description - connection direction for video streaming.

    - -
    Properties
    - + + + + +
    Properties:
    + + @@ -9834,14 +5802,14 @@
    Properties
    - + @@ -9878,14 +5846,20 @@
    Properties
    - + - - - - -
    sendroomName - boolean + String @@ -9863,14 +5831,14 @@
    Properties
    - true - -

    The flag if uploading video streaming - should be enabled when available.

    +

    The Room name. When not provided or is provided as an empty string, its value is the defaultRoom +provided in the initOptions. +Note that if you are using credentials based authentication, you cannot switch the Room +that is not the same as the defaultRoom defined in initOptions.

    receiveuserData - boolean + JSON + + + | + + + String @@ -9907,35 +5881,13 @@
    Properties
    - true - -

    The flag if downloading video streaming - should be enabled when available.

    -
    - - - - - - - - - - - - - - - +

    The User custom data. +This can be set after Room session has started using the +Skylink#setUserData.

    @@ -9943,20 +5895,14 @@
    Properties
    - publishOnly + useExactConstraints - JSON - - - | - - - Boolean + boolean @@ -9982,114 +5928,30 @@
    Properties
    -

    - For MCU enabled Peer connections, defining this flag would make Peer not know other Peers presence in the Room. - For non-MCU enable Peer connections, defining this flag would cause other Peers in the Room to - not to send Stream to Peer, and overrides the config - sdpSettings.direction.audio.receive value to false, - sdpSettings.direction.video.receive value to false, - sdpSettings.direction.video.send value to true and - sdpSettings.direction.audio.send value to true. - Note that this feature is currently is beta, and for any enquiries on enabling and its support for MCU enabled - Peer connections, please contact our support portal. - How does the publish only functionality work? Imagine several Skylink instances like A1, B1, C1 and A1 - opening a new instance A2 with publish only enabled with configured A1 as parent. - - - - - - -
    MCU enabled roomMCU disabled room
    PresenceStreamPresenceStream
    A1B1, C1B1, C1B1, C1B1, C1
    B1A1, C1, A2A1, C1, A2A1, C1, A2A1, C1, A2
    C1B1, C1, A2B1, C1, A2B1, C1, A2B1, C1, A2
    A2B1, C1
    - Parent and child will not receive each other presence and stream because they are related to each other in the same client page, - hence no uploading or downloading is required. If A2 did not configure A1 as the parent, A1 will receive A2.
    - The config if Peer would publish only.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The Skylink#getUserMedia useExactConstraints parameter settings. +See the useExactConstraints parameter in the +Skylink#getUserMedia for more information.

    + - - - + - + - - - - - - - - - - - - -
    NameTypeAttributesDescription
    parentIdaudio - String + boolean - - - - - - - <optional>
    - - - -
    -

    Deprecation Warning! - This property has been deprecated. Use parentId instead. -
    The parent Peer ID to match to when Peer is connected. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

    -
    - - - - - - - - - parentId - + | - - - - String + JSON @@ -10115,12 +5977,11 @@
    Properties
    -

    The parent Peer ID to match to when Peer is connected. - Note that configuring this value overrides the publishOnly.parentId value. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

    +

    The Skylink#getUserMedia audio parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +video is not defined, it will be defined as false. +Object signature matches the audio parameter in the +Skylink#getUserMedia.

    @@ -10128,12 +5989,18 @@
    Properties
    - peerConnection + video + + boolean + + + | + JSON @@ -10161,47 +6028,26 @@
    Properties
    -

    - Note that this is mainly used for debugging purposes, so it may cause disruptions in connections or - connectivity issues when configured.
    The Peer connection constraints settings.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - +

    The Skylink#getUserMedia video parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +audio is not defined, it will be defined as false. +Object signature matches the video parameter in the +Skylink#getUserMedia.

    + - - - + - + @@ -10239,14 +6085,14 @@
    Properties
    - + +

    The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured +constant VIDEO_QUALITY for recommended values.

    +
    Note that this is currently not supported + with Firefox browsers versions 48 and below as noted in an existing + bugzilla ticket here. This option will override the autoBandwidthAdjustment option below.
    + +
    Properties
    + + +
    NameTypeAttributesDefaultDescription
    bundlePolicyvoiceActivityDetection - String + boolean @@ -10223,15 +6069,15 @@
    Properties
    + true + -

    The Peer connection media bundle policy.

    -
      -
    • When not provided, its value is BALANCED. -[Rel: Skylink.BUNDLE_POLICY]
    • -
    +

    The flag if voice activity detection should be enabled. +This can only be toggled if User is and for the offerer, which is determined if User's +peerInfo.config.priorityWeight is higher than Peer's.

    rtcpMuxPolicybandwidth - String + JSON @@ -10272,19 +6118,40 @@
    Properties
    -

    The Peer connection RTP and RTCP ICE candidates mux policy.

    -
      -
    • When not provided, its value is REQUIRE. -[Rel: Skylink.RTCP_MUX_POLICY]
    • -
    -
    + + + + + + + + + + + + + + + + - + + - + - @@ -10328,14 +6190,14 @@
    Properties
    - + - @@ -10374,14 +6230,14 @@
    Properties
    - + - @@ -10466,11 +6317,11 @@
    Properties
    @@ -10582,7 +6433,7 @@
    Properties
    @@ -10626,7 +6477,7 @@
    Properties
    @@ -10675,7 +6526,7 @@
    Properties
    @@ -10907,7 +6758,7 @@
    Properties:
    @@ -11265,7 +7116,7 @@
    Properties:
    @@ -11439,7 +7290,7 @@
    Properties:
    @@ -11478,7 +7329,7 @@
    Properties:

    - peerInfo :Object + peerInfo

    @@ -11486,10 +7337,6 @@

    -
    -

    The Peer session information.

    -
    - @@ -11513,8 +7360,6 @@

    Properties:
    - - @@ -11550,12 +7395,6 @@
    Properties:
    - - @@ -11585,17 +7424,11 @@
    Properties:
    - - @@ -11620,12 +7453,6 @@
    Properties:
    - - @@ -11687,7 +7514,7 @@
    Properties
    @@ -11723,8 +7550,8 @@
    Properties
    @@ -11762,7 +7589,7 @@
    Properties
    @@ -11800,7 +7627,7 @@
    Properties
    @@ -11892,7 +7719,7 @@
    Properties
    - String + roomInfo @@ -11902,12 +7729,6 @@
    Properties
    - - @@ -11937,12 +7758,6 @@
    Properties
    - - @@ -12025,7 +7840,7 @@
    Properties
    @@ -12055,66 +7870,8 @@
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12126,82 +7883,6 @@
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    iceCandidatePoolSizeaudio @@ -10311,16 +6178,11 @@
    Properties
    -
    - - 0 - - -

    The number of ICE candidates to gather before - gathering it when setting local offer / answer session description.

    +

    The maximum audio streaming bandwidth sent to Peers in kbps. +Recommended values are 50 to 200. 50 is sufficient enough for +an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

    certificatevideo - String + number @@ -10355,18 +6217,12 @@
    Properties
    -
    - - -

    The type of certificate that Peer connection should - generate and use when available.

    -
      -
    • When not provided, its value is AUTO. -[Rel: Skylink.PEER_CERTIFICATE]
    • -
    +

    The maximum video streaming bandwidth sent to Peers. +Recommended values are 256-500 for 180p quality, +500-1024 for 360p quality, 1024-2048 for 720p quality +and 2048-4096 for 1080p quality.

    disableBundledata - String + number @@ -10401,16 +6257,11 @@
    Properties
    -
    - - false - - -

    The flag if for each Peer connection instead of bundling all - media connections into 1 connection, should have all of them negotiated as different separate media connections.

    +

    The maximum data streaming bandwidth sent to Peers. +This affects the P2P messaging in Skylink#sendP2PMessage, +and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

    -

    - Note that this is an experimental feature which may be removed or changed in the future releases. - This feature is also only available for non-MCU enabled Peer connections and Edge Peer connections. -
    The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted - each time based on a specified interval. Note this would cause the peer connection to restart.

    +

    The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted +each time based on a specified interval.

    +
    + This feature is also only available for non-MCU enabled Peer connections. Note this will cause the peer connection to restart. If bandwidth option is set above, autoBandwidthAdjustment will not be honoured. +
    Properties
    @@ -10537,8 +6388,8 @@
    Properties

    The interval each time to adjust bandwidth - connections in seconds. - Note that the minimum value is 10.

    +connections in seconds. +Note that the minimum value is 10.

    The percentage of the average bandwidth to adjust to. - E.g. avgBandwidth * (limitPercentage / 100).

    +E.g. avgBandwidth * (limitPercentage / 100).

    The flag if average bandwidth computation - should only consist of the upload bandwidth.

    +should only consist of the upload bandwidth.

    TypeAttributes - - - - - - - - -

    The Peer sending Stream settings.

    +

    The Peer sending stream settings.

    - - - -

    The Peer agent name. - Data may be accessing browser or non-Web SDK name.

    +Data may be accessing browser or non-Web SDK name.

    The Peer agent version. - Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", - it will be interpreted as 0.90601 where 0 helps to seperate the minor dots.

    +Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", +it will be interpreted as 0.90601 where 0 helps to separate the minor dots.

    The Peer platform name. - Data may be accessing OS platform version from Web SDK.

    +Data may be accessing OS platform version from Web SDK.

    The Peer Temasys Plugin version. - Defined only when Peer is using the Temasys Plugin (IE / Safari).

    +Defined only when Peer is using the Temasys Plugin (IE / Safari).

    - - - - - - - -

    The flag if Peer connection has ICE connection restart support. - Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

    +Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

    The flag if Peer or User should be the offerer. - If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. - However for the case where the MCU is connected, User will always be the offerer.

    -
    publishOnly - - - - boolean - - - - - - - -

    The flag if Peer is publishing only stream but not receiving streams.

    -
    receiveOnly - - - - boolean - - - - - - - -

    The flag if Peer is receiving only streams but not publishing stream.

    +If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. +However for the case where the MCU is connected, User will always be the offerer.

    connected - - - - boolean - - - - - - - - - <optional>
    - - - -
    -

    The flag if Peer ICE connection has been established successfully. - Defined only when isSelf payload value is false.

    -
    init - - - - boolean - - - - - - - - - <optional>
    - - - -
    -

    The flag if Peer connection has been created successfully. - Defined only when isSelf payload value is false.

    -
    @@ -12239,7 +7920,7 @@
    Properties
    @@ -12714,7 +8395,7 @@
    Properties

    streams keyed by stream id. - /**

    +/**

    @@ -12772,7 +8453,7 @@
    Properties
    @@ -12998,8 +8679,8 @@
    Properties

    The recording session started DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the start event is received.

    +ISO.Note that this value may not be +very accurate as this value is recorded when the start event is received.

    @@ -13029,9 +8710,9 @@
    Properties

    The recording session ended DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the stop event is received. - Defined only after state has triggered STOP.

    +ISO.Note that this value may not be +very accurate as this value is recorded when the stop event is received. +Defined only after state has triggered STOP.

    @@ -13061,9 +8742,9 @@
    Properties

    The recording session mixing completed DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the mixing completed event is received. - Defined only when state is LINK.

    +ISO.Note that this value may not be +very accurate as this value is recorded when the mixing completed event is received. +Defined only when state is LINK.

    @@ -13093,8 +8774,8 @@
    Properties

    The recording session links. - Object signature matches the link parameter payload received in the - recordingStateEvent event.

    +Object signature matches the link parameter payload received in the +RECORDING STATE event event.

    @@ -13124,7 +8805,7 @@
    Properties

    The recording session error. - Defined only when state is ERROR.

    +Defined only when state is ERROR.

    @@ -13173,7 +8854,7 @@
    Properties
    @@ -13347,7 +9028,7 @@
    Properties:
    @@ -13380,13 +9061,13 @@
    Properties:
    - + -

    - screenSources :Object +

    + roomInfo

    @@ -13394,10 +9075,6 @@

    -
    -

    The list of screensharing media sources and screen sources.

    -
    - @@ -13433,14 +9110,14 @@

    Properties:
    - mediaSource + roomName - Array.<String> + String @@ -13454,7 +9131,7 @@
    Properties:
    -

    The screensharing media source item.

    +

    The room name

    @@ -13462,62 +9139,14 @@
    Properties:
    - mediaSourceInput - - - - - - - Array.<Object> - - - - - - - - - - - - - -

    The list of specific media source screen inputs.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -13539,14 +9168,14 @@
    Properties
    - + @@ -13568,14 +9197,14 @@
    Properties
    - + - - - - -
    NameTypeDescription
    sourceIdduration - String + Number @@ -13531,7 +9160,7 @@
    Properties
    -

    The screen input item id.

    +

    The maximum allowed room duration

    labelid - Object + String @@ -13560,7 +9189,7 @@
    Properties
    -

    The screen input item label name.

    +

    The room id

    mediaSourceinRoom - Object + Boolean @@ -13589,14 +9218,7 @@
    Properties
    -

    The screen input item media source it belongs to.

    -
    - +

    The flag if the peer is in the room

    @@ -13638,7 +9260,7 @@
    Properties
    @@ -13862,7 +9484,7 @@
    Properties:

    The socket connection current last attempts - for the last available transports and port.

    +for the last available transports and port.

    @@ -13904,7 +9526,7 @@
    Properties:
    @@ -14241,7 +9863,7 @@
    Properties

    The Peer connection selected - local ICE candidate IP address.

    +local ICE candidate IP address.

    @@ -14277,7 +9899,7 @@
    Properties

    The Peer connection selected - local ICE candidate port number.

    +local ICE candidate port number.

    @@ -14313,7 +9935,7 @@
    Properties

    The Peer connection selected - local ICE candidate IP transport type.

    +local ICE candidate IP transport type.

    @@ -14349,7 +9971,7 @@
    Properties

    The Peer connection selected - local ICE candidate type.

    +local ICE candidate type.

    @@ -14387,9 +10009,9 @@
    Properties

    The Peer connection possible - transport used when relaying local media to TURN server. - Types are "UDP" (UDP connections), "TCP" (TCP connections) and - "TCP/TLS" (TCP over TLS connections).

    +transport used when relaying local media to TURN server. +Types are "UDP" (UDP connections), "TCP" (TCP connections) and +"TCP/TLS" (TCP over TLS connections).

    @@ -14480,7 +10102,7 @@
    Properties

    The Peer connection selected - remote ICE candidate IP address.

    +remote ICE candidate IP address.

    @@ -14510,7 +10132,7 @@
    Properties

    The Peer connection selected - remote ICE candidate port number.

    +remote ICE candidate port number.

    @@ -14540,7 +10162,7 @@
    Properties

    The Peer connection selected - remote ICE candidate IP transport type.

    +remote ICE candidate IP transport type.

    @@ -14570,7 +10192,7 @@
    Properties

    The Peer connection selected - remote ICE candidate type.

    +remote ICE candidate type.

    @@ -14615,7 +10237,7 @@
    Properties

    The flag if Peer has gotten ACK to an ICE request. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14653,7 +10275,7 @@
    Properties

    The current STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14691,7 +10313,7 @@
    Properties

    The total STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14785,7 +10407,7 @@
    Properties

    The current ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14823,7 +10445,7 @@
    Properties

    The current ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14861,7 +10483,7 @@
    Properties

    The total ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14899,7 +10521,7 @@
    Properties

    The total ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15000,7 +10622,7 @@
    Properties

    The current ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15038,7 +10660,7 @@
    Properties

    The current ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15076,7 +10698,7 @@
    Properties

    The total ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15114,7 +10736,7 @@
    Properties

    The total ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15215,7 +10837,7 @@
    Properties

    The current ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15253,7 +10875,7 @@
    Properties

    The total ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15411,7 +11033,7 @@
    Properties

    The Peer connection local certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15449,8 +11071,8 @@
    Properties

    The Peer connection local - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

    +certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15488,8 +11110,8 @@
    Properties

    The Peer connection local - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

    +base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15590,7 +11212,7 @@
    Properties

    The Peer connection remote certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15628,8 +11250,8 @@
    Properties

    The Peer connection remote - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

    +certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15667,8 +11289,8 @@
    Properties

    The Peer connection remote - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

    +base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15713,7 +11335,7 @@
    Properties

    The certificates SRTP cipher. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15751,7 +11373,7 @@
    Properties

    The certificates DTLS cipher. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15789,7 +11411,7 @@
    Properties

    The certificates DTLS TLS Version agreed. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -16035,7 +11657,7 @@
    Properties

    The Peer connection local session description type. - Defined as null when local session description is not available.

    +Defined as null when local session description is not available.

    @@ -16065,7 +11687,7 @@
    Properties

    The Peer connection local session description SDP. - Defined as null when local session description is not available.

    +Defined as null when local session description is not available.

    @@ -16156,7 +11778,7 @@
    Properties

    The Peer connection remote session description type. - Defined as null when remote session description is not available.

    +Defined as null when remote session description is not available.

    @@ -16186,7 +11808,7 @@
    Properties

    The Peer connection remote session description sdp. - Defined as null when remote session description is not available.

    +Defined as null when remote session description is not available.

    @@ -16325,7 +11947,7 @@
    Properties

    The Peer connection list of local - "host" (local network) ICE candidates sent.

    +"host" (local network) ICE candidates sent.

    Properties
    @@ -16374,7 +11996,7 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate.

    +"host" (local network) ICE candidate.

    Properties
    @@ -16423,7 +12045,7 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate connection description.

    +"host" (local network) ICE candidate connection description.

    @@ -16453,7 +12075,7 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate identifier based on the local session description.

    +"host" (local network) ICE candidate identifier based on the local session description.

    @@ -16483,8 +12105,8 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate media description index (starting from 0) - based on the local session description.

    +"host" (local network) ICE candidate media description index (starting from 0) +based on the local session description.

    @@ -16528,7 +12150,7 @@
    Properties

    The Peer connection list of local - "srflx" (STUN) ICE candidates sent.

    +"srflx" (STUN) ICE candidates sent.

    Properties
    @@ -16577,7 +12199,7 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate.

    +"srflx" (STUN) ICE candidate.

    Properties
    @@ -16626,7 +12248,7 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate connection description.

    +"srflx" (STUN) ICE candidate connection description.

    @@ -16656,7 +12278,7 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate identifier based on the local session description.

    +"srflx" (STUN) ICE candidate identifier based on the local session description.

    @@ -16686,8 +12308,8 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the local session description.

    +"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the local session description.

    @@ -16731,7 +12353,7 @@
    Properties

    The Peer connection list of local - "relay" (TURN) candidates sent.

    +"relay" (TURN) candidates sent.

    Properties
    @@ -16780,7 +12402,7 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate.

    +"relay" (TURN) ICE candidate.

    Properties
    @@ -16829,7 +12451,7 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate connection description.

    +"relay" (TURN) ICE candidate connection description.

    @@ -16859,7 +12481,7 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate identifier based on the local session description.

    +"relay" (TURN) ICE candidate identifier based on the local session description.

    @@ -16889,8 +12511,8 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the local session description.

    +"relay" (TURN) ICE candidate media description index (starting from 0) +based on the local session description.

    @@ -16989,7 +12611,7 @@
    Properties

    The Peer connection list of remote - "host" (local network) ICE candidates received.

    +"host" (local network) ICE candidates received.

    Properties
    @@ -17038,7 +12660,7 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate.

    +"host" (local network) ICE candidate.

    Properties
    @@ -17087,7 +12709,7 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate connection description.

    +"host" (local network) ICE candidate connection description.

    @@ -17117,7 +12739,7 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate identifier based on the remote session description.

    +"host" (local network) ICE candidate identifier based on the remote session description.

    @@ -17147,8 +12769,8 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate media description index (starting from 0) - based on the remote session description.

    +"host" (local network) ICE candidate media description index (starting from 0) +based on the remote session description.

    @@ -17192,7 +12814,7 @@
    Properties

    The Peer connection list of remote - "srflx" (STUN) ICE candidates received.

    +"srflx" (STUN) ICE candidates received.

    Properties
    @@ -17241,7 +12863,7 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate.

    +"srflx" (STUN) ICE candidate.

    Properties
    @@ -17290,7 +12912,7 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate connection description.

    +"srflx" (STUN) ICE candidate connection description.

    @@ -17320,7 +12942,7 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate identifier based on the remote session description.

    +"srflx" (STUN) ICE candidate identifier based on the remote session description.

    @@ -17350,8 +12972,8 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the remote session description.

    +"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the remote session description.

    @@ -17395,7 +13017,7 @@
    Properties

    The Peer connection list of remote - "relay" (TURN) ICE candidates received.

    +"relay" (TURN) ICE candidates received.

    Properties
    @@ -17444,7 +13066,7 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate.

    +"relay" (TURN) ICE candidate.

    Properties
    @@ -17493,7 +13115,7 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate connection description.

    +"relay" (TURN) ICE candidate connection description.

    @@ -17523,7 +13145,7 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate identifier based on the remote session description.

    +"relay" (TURN) ICE candidate identifier based on the remote session description.

    @@ -17553,8 +13175,8 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the remote session description.

    +"relay" (TURN) ICE candidate media description index (starting from 0) +based on the remote session description.

    @@ -17743,7 +13365,7 @@
    Properties

    The Peer connection Datachannel connection readyState. - [Rel: Skylink.DATA_CHANNEL_STATE]

    +[Rel: Skylink.DATA_CHANNEL_STATE]

    @@ -17773,7 +13395,7 @@
    Properties

    The Peer connection Datachannel connection type. - [Rel: Skylink.DATA_CHANNEL_TYPE]

    +[Rel: Skylink.DATA_CHANNEL_TYPE]

    @@ -17803,8 +13425,8 @@
    Properties

    The Peer connection - Datachannel connection current progressing transfer session ID. - Defined as null when there is currently no transfer session progressing on the Datachannel connection.

    +Datachannel connection current progressing transfer session ID. +Defined as null when there is currently no transfer session progressing on the Datachannel connection.

    @@ -17834,8 +13456,8 @@
    Properties

    The Peer connection - Datachannel connection current data streaming session ID. - Defined as null when there is currently no data streaming session on the Datachannel connection.

    +Datachannel connection current data streaming session ID. +Defined as null when there is currently no data streaming session on the Datachannel connection.

    @@ -17993,7 +13615,7 @@
    Properties

    The error object received. - Defined only when state payload is RETRIEVE_ERROR.

    +Defined only when state payload is RETRIEVE_ERROR.

    @@ -18035,7 +13657,7 @@
    Properties
    @@ -18221,7 +13843,7 @@
    Properties:
    @@ -18673,7 +14295,7 @@
    Properties
    @@ -19129,7 +14751,7 @@
    Properties

    The Peer connection current sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -19165,7 +14787,7 @@
    Properties

    The Peer connection total sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -19271,7 +14893,7 @@
    Properties

    The Peer connection sending video streaming Round-trip delay time. - Defined as 0 if it's not present in original raw statistics before parsing.

    +Defined as 0 if it's not present in original raw statistics before parsing.

    @@ -19306,11 +14928,11 @@
    Properties
    -

    +
    This property has been deprecated and would be removed in future releases as it should not be in sending property.
    The Peer connection sending video streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

    + Defined as 0 if it's not present in original raw statistics before parsing. @@ -19348,7 +14970,7 @@
    Properties

    The Peer connection sending video streaming sum of the QP values of frames passed. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19386,7 +15008,7 @@
    Properties

    The Peer connection sending video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19424,7 +15046,7 @@
    Properties

    The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19462,7 +15084,7 @@
    Properties

    The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19501,7 +15123,7 @@
    Properties

    The Peer connection sending video streaming number of huge frames sent by this RTP stream. Huge frames, by definition, are frames that have an encoded size at least 2.5 times the average size of the frames. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19539,7 +15161,7 @@
    Properties

    The Peer connection sending video streaming fps. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19577,7 +15199,7 @@
    Properties

    The Peer connection sending video streaming frames encoded. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19615,7 +15237,7 @@
    Properties

    The Peer connection current sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19653,7 +15275,7 @@
    Properties

    The Peer connection total sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19691,7 +15313,7 @@
    Properties

    The Peer connection current sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19729,7 +15351,7 @@
    Properties

    The Peer connection total sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19767,7 +15389,7 @@
    Properties

    The Peer connection current sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19805,7 +15427,7 @@
    Properties

    The Peer connection total sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19843,7 +15465,7 @@
    Properties

    The Peer connection sending video streaming selected codec information. - Defined as null if local session description is not available before parsing.

    +Defined as null if local session description is not available before parsing.

    Properties
    @@ -19972,7 +15594,7 @@
    Properties

    The Peer connection sending video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20010,8 +15632,8 @@
    Properties

    The Peer connection sending video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

    @@ -20049,7 +15671,7 @@
    Properties

    The Peer connection sending video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20087,7 +15709,7 @@
    Properties

    The Peer connection sending video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20222,7 +15844,7 @@
    Properties

    The Peer connection current receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -20258,7 +15880,7 @@
    Properties

    The Peer connection total receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -20436,7 +16058,7 @@
    Properties

    The Peer connection receiving video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20474,7 +16096,7 @@
    Properties

    The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20512,7 +16134,7 @@
    Properties

    The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20550,7 +16172,7 @@
    Properties

    The Peer connection receiving video streaming frames decoded. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20588,7 +16210,7 @@
    Properties

    The Peer connection receiving video streaming frames dropped. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20626,7 +16248,7 @@
    Properties

    The Peer connection current receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20664,7 +16286,7 @@
    Properties

    The Peer connection total receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20702,7 +16324,7 @@
    Properties

    The Peer connection current receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20740,7 +16362,7 @@
    Properties

    The Peer connection total receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20778,7 +16400,7 @@
    Properties

    The Peer connection current receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20816,7 +16438,7 @@
    Properties

    The Peer connection total receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20854,9 +16476,9 @@
    Properties

    The Peer connection receiving video streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

    +Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

    Properties
    @@ -20985,7 +16607,7 @@
    Properties

    The Peer connection receiving video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -21023,8 +16645,8 @@
    Properties

    The Peer connection receiving video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

    @@ -21062,7 +16684,7 @@
    Properties

    The Peer connection receiving video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -21100,7 +16722,7 @@
    Properties

    The Peer connection receiving video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    diff --git a/docs/ice-connection_index.js.html b/docs/ice-connection_index.js.html index 1ce775538..d47537c96 100644 --- a/docs/ice-connection_index.js.html +++ b/docs/ice-connection_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -132,7 +132,7 @@

    * @param {String} candidateType - Type of the ICE Candidate * @param {RTCIceCandidate} nativeCandidate - An RTCIceCandidate Object | {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate} * @param {SkylinkState} roomState - Skylink State - * @fires candidateProcessingState + * @fires CANDIDATE_PROCESSING_STATE */ static addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState) { return helpers.addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState); @@ -143,7 +143,7 @@

    * @param targetMid - The mid of the target peer * @param {RTCPeerConnectionIceEvent} rtcIceConnectionEvent - {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnectionIceEvent} * @param {SkylinkRoom} room - Current room - * @fires candidateGenerationState + * @fires CANDIDATE_GENERATION_STATE * @return {null} */ static onIceCandidate(targetMid, rtcIceConnectionEvent, room) { diff --git a/docs/index.html b/docs/index.html index 13ba81723..2ebcb384f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -75,7 +75,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -93,11 +93,13 @@

    Classes

    @@ -2293,7 +2444,7 @@
    Parameters:
    @@ -2341,106 +2492,6 @@
    Example
    - - - - - - -

    - getScreenSources() → {Promise.<screenSources>} -

    -
    - - - - - -
    -

    Method that returns the screensharing sources.

    -
    - - - - - - - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 2.0.0 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - @@ -2593,7 +2644,7 @@
    Parameters:
    @@ -2748,7 +2799,7 @@
    Parameters:
    @@ -2769,7 +2820,7 @@
    Fires:
    @@ -2938,7 +2989,7 @@
    Parameters:
    @@ -3029,7 +3080,7 @@

    @@ -3228,7 +3279,7 @@

    Parameters:
    @@ -3396,7 +3447,7 @@
    Parameters:
    - JSON + getUserMediaOptions @@ -3426,1094 +3477,11 @@
    Parameters:

    The camera stream configuration options.

      -
    • When not provided, the value is set to { audio: true, video: true }. -To fallback to retrieve audio track only when retrieving of audio and video tracks failed, -enable the audioFallback flag in the initOptions.
    • +
    • When not provided, the value is set to { audio: true, video: true }.
    -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    useExactConstraints - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    - Note that by enabling this flag, exact values will be requested when retrieving camera stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source id) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support.
    - The flag if getUserMedia() should request for camera stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

    - -
    audio - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    - Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation.
    - The audio configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    stereo - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting.
    - The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

    - -
    usedtx - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation.
    - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

    - -
    useinbandfec - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only.
    - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

    - -
    maxplaybackrate - - - - Number - - - - - - - - - <optional>
    - - - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only.
    - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

    - -
    mute - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    The flag if audio tracks should be muted upon receiving them. - Providing the value as false sets peerInfo.mediaStatus.audioMuted to 1, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - 0 and mutes any existing - shareScreen() stream audio tracks as well.

    - -
    optional - - - - Array - - - - - - - - - <optional>
    - - - - - -
    - - -

    - This property has been deprecated. "optional" constraints has been moved from specs.
    - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the audio track, - use options.audio.deviceId instead.
    - The navigator.getUserMedia() API audio: { optional [..] } property.

    - -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - - - -
    - - -

    - Note this is currently not supported in Firefox browsers. -
    The audio track source id of the device to use. - The list of available audio source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

    - -
    echoCancellation - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - true - - -

    - For Chrome/Opera/IE/Safari/Bowser, the echo cancellation @description Methodality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones.
    The flag to enable echo cancellation for audio track.

    - -
    - - -
    video - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    - Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode.
    - The video configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    mute - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    The flag if video tracks should be muted upon receiving them. - Providing the value as false sets the peerInfo.mediaStatus.videoMuted value to - 1, but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - 0 and mutes any existing - shareScreen() stream video tracks as well.

    - -
    resolution - - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - -

    The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: VIDEO_RESOLUTION]

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    width - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    -

    The video resolution width.

    -
      -
    • When provided as a number, it is the video resolution width.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    - -
    height - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    -

    The video resolution height.

    -
      -
    • When provided as a number, it is the video resolution height.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    - -
    - - -
    frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - -

    The video https://en.wikipedia.org/wiki/Frame_rate per second (fps).

    -
      -
    • When provided as a number, it is the video framerate.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    - -
    optional - - - - Array - - - - - - - - - <optional>
    - - - - - -
    - - -

    - This property has been deprecated. "optional" constraints has been moved from specs.
    - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the video track, - use options.video.deviceId instead.
    - The navigator.getUserMedia() API video: { optional [..] } property.

    - -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - - - -
    - - -

    - Note this is currently not supported in Firefox browsers. -
    The video track source id of the device to use. - The list of available video source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

    - -
    facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - -

    The video camera facing mode. - The list of available video source id can be retrieved by the /en-US/docs/Web/API/MediaTrackConstraints/facingMode.

    - -
    - - -
    - - - - + + @@ -4563,7 +3531,7 @@
    Properties
    @@ -4584,19 +3552,19 @@
    Fires:
    • - If retrieval of fallback audio stream is successful:
      - mediaAccessSuccessEvent with parameter payload isScreensharing=false and isAudioFallback=false if initial retrieval is successful. + If retrieval of fallback audio stream is successful:
      - MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and isAudioFallback=false if initial retrieval is successful.
    • - If initial retrieval is unsuccessful:
      Fallback to retrieve audio only stream is triggered (configured in initOptions audioFallback)
        - mediaAccessFallbackEvent with parameter payload state=FALLBACKING, isScreensharing=false and isAudioFallback=true and options.video=true and options.audio=true.
      No fallback to retrieve audio only stream
      - mediaAccessErrorEvent with parameter payload isScreensharing=false and isAudioFallbackError=false. + If initial retrieval is unsuccessful:
      Fallback to retrieve audio only stream is triggered (configured in initOptions audioFallback)
        - MEDIA ACCESS SUCCESS eventMEDIA ACCESS FALLBACK event with parameter payload state=FALLBACKING, isScreensharing=false and isAudioFallback=true and options.video=true and options.audio=true.
      No fallback to retrieve audio only stream
      - MEDIA ACCESS ERROR event with parameter payload isScreensharing=false and isAudioFallbackError=false.
    • - If retrieval of fallback audio stream is successful:
      - mediaAccessSuccessEvent with parameter payload isScreensharing=false and isAudioFallback=true. + If retrieval of fallback audio stream is successful:
      - MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and isAudioFallback=true.
    • - If retrieval of fallback audio stream is unsuccessful:
      - mediaAccessFallbackEvent with parameter payload state=ERROR, isScreensharing=false and isAudioFallback=true.
      - mediaAccessErrorEvent with parameter payload isScreensharing=false and isAudioFallbackError=true. + If retrieval of fallback audio stream is unsuccessful:
      - MEDIA ACCESS SUCCESS eventMEDIA ACCESS FALLBACK event with parameter payload state=ERROR, isScreensharing=false and isAudioFallback=true.
      - MEDIA ACCESS ERROR event with parameter payload isScreensharing=false and isAudioFallbackError=true.
    @@ -5018,7 +3986,7 @@

    @@ -5173,7 +4141,7 @@

    Parameters:
    @@ -5194,7 +4162,7 @@
    Fires:
    • - peerLeft on the remote end of the connection. + PEER LEFT event on the remote end of the connection.
    @@ -5363,7 +4331,7 @@
    Parameters:
    @@ -5384,7 +4352,7 @@
    Fires:
    • - roomLockEvent with payload parameters isLocked=true when the room is successfully locked. + ROOM LOCK event with payload parameters isLocked=true when the room is successfully locked.
    @@ -5622,7 +4590,7 @@
    Properties

    The flag if all streams audio - tracks should be muted or not.

    +tracks should be muted or not.

    @@ -5668,7 +4636,7 @@
    Properties

    The flag if all streams video - tracks should be muted or not.

    +tracks should be muted or not.

    @@ -5768,7 +4736,7 @@
    Properties
    @@ -5789,11 +4757,11 @@
    Fires:
    • - On local peer: localMediaMutedEvent, streamMuted, peerUpdatedEvent with payload parameters isSelf=true and isAudio=true if a local audio stream is muted or isVideo if local video stream is muted. + On local peer: LOCAL MEDIA MUTED event, STREAM MUTED event, PEER UPDATED event with payload parameters isSelf=true and isAudio=true if a local audio stream is muted or isVideo if local video stream is muted.
    • - On remote peer: streamMuted, peerUpdatedEvent with with parameter payload isSelf=false and isAudio=true if a remote audio stream is muted or isVideo if remote video stream is muted. + On remote peer: STREAM MUTED event, PEER UPDATED event with with parameter payload isSelf=false and isAudio=true if a remote audio stream is muted or isVideo if remote video stream is muted.
    @@ -5870,9 +4838,9 @@

    For MCU enabled peer connections with options.mcuUseRenegoRestart set to false in the initOptions, the restart method may differ, you may learn more about how to workaround it in this article - here. + here. For restarts with peers connecting from Android, iOS or C++ SDKs, restarts might not work as written in this article - here. + here. Note that this functionality should be used when peer connection stream freezes during a connection. For a better user experience for only MCU enabled peer connections, the method is throttled when invoked many times in less than the milliseconds interval configured in initOptions. @@ -5995,17 +4963,13 @@

    Parameters:
    -

    +
    Note that this is ignored if MCU is enabled for the App Key provided in - initOptions. refreshConnection() will "refresh" - all peer connections.

    -
      -
    • The target peer id to refresh connection with.
        -
      • When provided as an Array, it will refresh all connections with all the peer ids provided.
      • -
      • When not provided, it will refresh all the currently connected peers in the room.
      • -
      -
    • -
    + initOptions. refreshConnection() will "refresh" + all peer connections.
    + - The target peer id to refresh connection with. +- When provided as an Array, it will refresh all connections with all the peer ids provided. +- When not provided, it will refresh all the currently connected peers in the room. @@ -6049,64 +5013,286 @@
    Parameters:
    - -

    - Note that this flag will not be honoured for MCU enabled peer connections where - options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU - "restart" case is to invoke Skylink#joinRoomagain, or that it is - not supported by the MCU.
    - The flag if ICE connections should restart when refreshing peer connections. - This is used when ICE connection state is FAILED or DISCONNECTED, which state - can be retrieved with the iceConnectionStateEvent

    - - - + +
    + Note that this flag will not be honoured for MCU enabled peer connections where + options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU + "restart" case is to invoke joinRoom again, or that it is + not supported by the MCU.
    + The flag if ICE connections should restart when refreshing peer connections. + This is used when ICE connection state is FAILED or DISCONNECTED, which + can be retrieved with the ICE CONNECTION STATE event. + + + + + + + + options + + + + + + + JSON + + + + + + + + + + + + <optional>
    + + + + + + + + + + + + + + + +
    + Note that for MCU connections, the bandwidth + settings will override for all peers or the current room connection session settings.
    + The custom peer configuration settings. + +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    bandwidth + + + + JSON + + + + + + + + + <optional>
    + + + + + +
    +

    The configuration to set the maximum streaming bandwidth to send to peers. +Object signature follows joinRoom +options.bandwidth settings.

    + +
    + + + + + + + + + + + + + +
    + + + + +
    Since:
    +
    +
      +
    • + 0.5.5 +
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    + + + + + +
    Examples
    + + +
    Example 1: Refreshing a peer connection
    +
    +skylink.refreshConnection(roomName, peerId)
    +.then((result) => {
    +  const failedRefreshIds = Object.keys(result.refreshErrors);
    +  failedRefreshIds.forEach((peerId) => {
    +    // handle error
    +  });
    +});
    + + +
    Example 2: Refreshing a list of peer connections
    +let selectedPeers = ["peerID_1", "peerID_2"];
    +
    +skylink.refreshConnection(roomName, selectedPeers)
    +.then((result) => {
    +  const failedRefreshIds = Object.keys(result.refreshErrors);
    +  failedRefreshIds.forEach((peerId) => {
    +    // handle error
    +  });
    +});
    + + +
    Example 3: Refreshing all peer connections
    +
    +skylink.refreshConnection(roomName)
    +.then((result) => {
    +  const failedRefreshIds = Object.keys(result.refreshErrors);
    +  failedRefreshIds.forEach((peerId) => {
    +   // handle error
    +  });
    +});
    + + +
    + + + + + + + + + + + + + + +

    + refreshDatachannel(roomName, peerId) → {null} +

    +
    + + - - - - options - - - - - - JSON - - +
    +

    Method that refreshes the main messaging data channel.

    +
    - - - - - - <optional>
    - - - - - - - - - - - -

    - Note that for MCU connections, the bandwidth or googleXBandwidth - settings will override for all peers or the current room connection session settings.
    - The custom peer configuration settings.

    - -
    Properties
    - +
    Parameters:
    + @@ -6118,8 +5304,6 @@
    Properties
    - - @@ -6131,14 +5315,14 @@
    Properties
    - + - - @@ -6172,14 +5344,14 @@
    Properties
    - + - - - - - - -
    TypeAttributes
    bandwidthroomName - JSON + String @@ -6148,23 +5332,11 @@
    Properties
    - - <optional>
    - - - - - -
    -

    The configuration to set the maximum streaming bandwidth to send to peers. - Object signature follows Skylink#joinRoom - options.bandwidth settings.

    +

    The room name.

    googleXBandwidthpeerId - JSON + String @@ -6189,32 +5361,11 @@
    Properties
    - - <optional>
    - - - - - -
    -

    The configuration to set the experimental google - video streaming bandwidth sent to peers. - Object signature follows Skylink#joinRoom - options.googleXBandwidth settings.

    - -
    - +

    The target peer id of the peer data channel to refresh.

    @@ -6236,7 +5387,7 @@
    Properties
    • - 0.5.5 + 0.6.30
    @@ -6267,7 +5418,7 @@
    Properties
    @@ -6293,46 +5444,17 @@
    Properties
    - + -
    Examples
    +
    Example
    -
    Example 1: Refreshing a peer connection
    -
    -skylink.refreshConnection(roomName, peerId)
    -.then((result) => {
    -  const failedRefreshIds = Object.keys(result.refreshErrors);
    -  failedRefreshIds.forEach((peerId) => {
    -    // handle error
    -  });
    -});
    - - -
    Example 2: Refreshing a list of peer connections
    -let selectedPeers = ["peerID_1", "peerID_2"];
    -
    -skylink.refreshConnection(roomName, selectedPeers)
    -.then((result) => {
    -  const failedRefreshIds = Object.keys(result.refreshErrors);
    -  failedRefreshIds.forEach((peerId) => {
    -    // handle error
    -  });
    -});
    - - -
    Example 3: Refreshing all peer connections
    +  
    Example 1: Initiate refresh data channel
     
    -skylink.refreshConnection(roomName)
    -.then((result) => {
    -  const failedRefreshIds = Object.keys(result.refreshErrors);
    -  failedRefreshIds.forEach((peerId) => {
    -   // handle error
    -  });
    -});
    +skylink.refreshDatachannel("Room_1", "peerID_1");
    @@ -6345,13 +5467,13 @@
    Examples
    - + -

    - refreshDatachannel(roomName, peerId) → {null} +

    + sendMessage(roomName, message, targetPeerIdopt)

    @@ -6360,7 +5482,8 @@

    -

    Method that refreshes the main messaging data channel.

    +

    Function that sends a message to peers via the Signaling socket connection.

    +

    sendMessage can also be used to trigger call actions on the remote. Refer to Example 3 for muting the remote peer.

    @@ -6382,6 +5505,8 @@

    Parameters:
    Type + Attributes + @@ -6410,11 +5535,19 @@
    Parameters:
    + + + + + + + + -

    The room name.

    +

    room name to send the message.

    @@ -6422,7 +5555,7 @@
    Parameters:
    - peerId + message @@ -6432,6 +5565,12 @@
    Parameters:
    String
    + | + + + JSON + + @@ -6439,11 +5578,68 @@
    Parameters:
    + + + + + + + + -

    The target peer id of the peer data channel to refresh.

    +

    The message.

    + + + + + + + + targetPeerId + + + + + + + String + + + | + + + Array + + + + + + + + + + + + <optional>
    + + + + + + + + + + + +

    The target peer id to send message to.

    +
      +
    • When provided as an Array, it will send the message to only peers which ids are in the list.
    • +
    • When not provided, it will broadcast the message to all connected peers in the room.
    • +
    @@ -6465,7 +5661,7 @@
    Parameters:
    • - 0.6.30 + 0.4.0
    @@ -6496,7 +5692,7 @@
    Parameters:
    @@ -6513,6 +5709,15 @@
    Parameters:
    +
    Fires:
    + + @@ -6522,17 +5727,46 @@
    Parameters:
    - + -
    Example
    +
    Examples
    -
    Example 1: Initiate refresh data channel
    +  
    Example 1: Broadcasting to all peers
     
    -skylink.refreshDatachannel("Room_1", "peerID_1");
    +let sendMessage = (roomName) => { + const message = "Hi!"; + const selectedPeers = this.state[location]['selectedPeers']; + skylink.sendMessage(roomName, message, selectedPeers); +}
    + + +
    Example 2: Broadcasting to selected peers
    +
    +let sendMessage = (roomName) => {
    +   const message = "Hi all!";
    +   const selectedPeers = ["PeerID_1", "PeerID_2"];
    +   skylink.sendMessage(roomName, message, selectedPeers);
    +}
    + + +
    Example 3: Muting the remote peer
    +
    +// The local peer - send custom message object
    +const msgObject = JSON.stringify({ data: "data-content", type: "muteStreams", audio: true, video: false });
    +this.skylink.sendP2PMessage(roomName, msgObject);
    +
    +// The remote peer - add an event listener for ON_INCOMING_MESSAGE and check for the custom message object
    +SkylinkEventManager.addEventListener(skylinkConstants.EVENTS.ON_INCOMING_MESSAGE, (evt) => {
    +   const {message, peerId, isSelf, room} = evt.detail;
    +   const msg = JSON.parse(message.content);
    +   if (msg.type === "muteStreams") {
    +      skylink.muteStreams(roomName, { audioMuted: msg.audio, videoMuted: msg.video });
    +     }
    +   });
    @@ -6545,13 +5779,13 @@
    Example
    - + - -

    - sendMessage(roomName, message, targetPeerIdopt) + +

    + sendP2PMessage(roomNameopt, message, targetPeerIdopt)

    @@ -6560,7 +5794,7 @@

    -

    Function that sends a message to peers via the Signaling socket connection.

    +

    Method that sends a message to peers via the data channel connection.

    @@ -6614,6 +5848,8 @@

    Parameters:
    + <optional>
    + @@ -6624,7 +5860,9 @@
    Parameters:
    -

    room name to send the message.

    +

    The name of the room the message is intended for. +When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). +Note when roomName is provided, targetPeerId should be provided as null.

    @@ -6712,11 +5950,9 @@
    Parameters:
    -

    The target peer id to send message to.

    -
      -
    • When provided as an Array, it will send the message to only peers which ids are in the list.
    • -
    • When not provided, it will broadcast the message to all connected peers in the room.
    • -
    +

    The target peer id to send message to. +When provided as an Array, it will send the message to only peers which ids are in the list. +When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

    @@ -6734,15 +5970,6 @@
    Parameters:
    -
    Since:
    -
    -
      -
    • - 0.4.0 -
    • -
    -
    - @@ -6769,7 +5996,7 @@
    Parameters:
    @@ -6790,7 +6017,7 @@
    Fires:
    @@ -6804,29 +6031,63 @@
    Fires:
    - + -
    Examples
    +
    Examples
    -
    Example 1: Broadcasting to all peers
    +  
    Example 1: Broadcasting to all peers in all rooms
     
    -let sendMessage = (roomName) => {
    -   const message = "Hi!";
    -   const selectedPeers = this.state[location]['selectedPeers'];
    -   this.skylink.sendMessage(roomName, message, selectedPeers);
    -}
    +const message = "Hello everyone!"; +skylink.sendP2PMessage(message);
    -
    Example 2: Broadcasting to selected peers
     
    -let sendMessage = (roomName) => {
    -   const message = "Hi all!";
    -   const selectedPeers = ["PeerID_1", "PeerID_2"];
    -   this.skylink.sendMessage(roomName, message, selectedPeers);
    +  
    Example 2: Broadcasting to all peers in a room
    +
    +const message = "Hello everyone!";
    +const roomName = "Room_1";
    +
    +skylink.sendP2PMessage(message, null, roomName);
    + + +
    Example 3: Sending message to a peer in all rooms
    +
    +const message = "Hello!";
    +const targetPeerId = "peerId";
    +
    +skylink.sendP2PMessage(message, targetPeerId);
    + + +
    Example 4: Sending message to a peer in a room
    +
    +const message = "Hello!";
    +const targetPeerId = "peerId";
    +const roomName = "Room_1";
    +
    +skylink.sendP2PMessage(message, targetPeerId, roomName);
    + + +
    Example 5: Sending message to selected Peers in a room
    +
    +const message = "Hello!";
    +const selectedPeers = ["peerId_1", "peerId_2"];
    +const roomName = "Room_1";
    +
    +skylink.sendP2PMessage(message, selectedPeers, roomName);
    + + +
    // Listen for onIncomingMessage event
    +skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
    +  const detail = evt.detail;
    +  if (detail.isSelf) {
    +    // handle message from self
    +  } else {
    +    // handle message from remote peer
    +  }
     }
    @@ -6840,13 +6101,13 @@
    Examples
    - + -

    - sendP2PMessage(roomNameopt, message, targetPeerIdopt) +

    + sendStream(roomName, options) → {Promise.<MediaStreams>}

    @@ -6855,8 +6116,9 @@

    -

    Method that sends a message to peers via the data channel connection. -Consider using sendURLData if you are sending large strings to peers.

    +

    Method that sends a new userMedia stream to all connected peers in a room.

    +

    Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is +MediaStream of kind video.

    @@ -6878,8 +6140,6 @@

    Parameters:
    Type - Attributes - @@ -6908,23 +6168,11 @@
    Parameters:
    - - - <optional>
    - - - - - - - -

    The name of the room the message is intended for. -When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). -Note when roomName is provided, targetPeerId should be provided as null.

    +

    The room name.

    @@ -6932,63 +6180,20 @@
    Parameters:
    - message + options - - String - - - | - JSON - - - - - - - - - - - - - - - - - - - -

    The message.

    - - - - - - - - targetPeerId - - - - - - - String - - | - Array + MediaStream @@ -6998,23 +6203,17 @@
    Parameters:
    - - - <optional>
    - - - - - - - -

    The target peer id to send message to. -When provided as an Array, it will send the message to only peers which ids are in the list. -When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

    +

    The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

    +
      +
    • When provided as a MediaStream object, this configures the options.audio and +options.video based on the tracks available in the MediaStream object. +Object signature matches the options parameter in the +getUserMedia method.
    • +
    @@ -7032,6 +6231,15 @@
    Parameters:
    +
    Since:
    +
    +
      +
    • + 0.5.6 +
    • +
    +
    + @@ -7058,7 +6266,7 @@
    Parameters:
    @@ -7079,7 +6287,18 @@
    Fires:
    • - onIncomingMessage + MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and +isAudioFallback=false if userMedia options is passed into +sendStream method.event: +
    • + +
    • + ON INCOMING STREAM event with parameter payload isSelf=true and +stream as userMedia stream.event: +
    • + +
    • + PEER UPDATED event with parameter payload isSelf=true.
    @@ -7093,63 +6312,51 @@
    Fires:
    - + -
    Examples
    +
    Example
    -
    Example 1: Broadcasting to all peers in all rooms
    -
    -const message = "Hello everyone!";
    -
    -skylink.sendP2PMessage(message);
    - - -
    Example 2: Broadcasting to all peers in a room
    -
    -const message = "Hello everyone!";
    -const roomName = "Room_1";
    -
    -skylink.sendP2PMessage(message, null, roomName);
    - - -
    Example 3: Sending message to a peer in all rooms
    -
    -const message = "Hello!";
    -const targetPeerId = "peerId";
    -
    -skylink.sendP2PMessage(message, targetPeerId);
    - - -
    Example 4: Sending message to a peer in a room
    -
    -const message = "Hello!";
    -const targetPeerId = "peerId";
    -const roomName = "Room_1";
    -
    -skylink.sendP2PMessage(message, targetPeerId, roomName);
    +
    Example 1: Send new MediaStream with audio and video
     
    +let sendStream = (roomName) => {
    +const options = { audio: true, video: true };
     
    -  
    Example 5: Sending message to selected Peers in a room
    +// Add listener to incomingStream event
    +SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
    +  const { detail } = evt;
    +  window.attachMediaStream(localVideoEl, detail.stream);
    +})
     
    -const message = "Hello!";
    -const selectedPeers = ["peerId_1", "peerId_2"];
    -const roomName = "Room_1";
    +skylink.sendStream(roomName, options)
    + // streams can also be obtained from resolved promise
    + .then((streams) => {
    +       if (streams[0]) {
    +         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
    +       }
    +       if (streams[1]) {
    +         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
    +       }
    +   })
    +  .catch((error) => { console.error(error) });
    +}
     
    -skylink.sendP2PMessage(message, selectedPeers, roomName);
    +Example 2: Use pre-fetched media streams +const prefetchedStreams = null; +skylink.getUserMedia(null, { + audio: { stereo: true }, + video: true, + }) + .then((streams) => { + prefetchedStream = streams +}); -
    // Listen for onIncomingMessage event
    -skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
    -  const detail = evt.detail;
    -  if (detail.isSelf) {
    -    // handle message from self
    -  } else {
    -    // handle message from remote peer
    -  }
    +skylink.sendStream(roomName, prefetchedStreams)
    +  .catch((error) => { console.error(error) });
     }
    @@ -7163,13 +6370,13 @@
    Examples
    - + -

    - sendStream(roomName, options) → {Promise.<MediaStreams>} +

    + setEncryptSecret(roomName, secret, secretId)

    @@ -7178,9 +6385,7 @@

    -

    Method that sends a new userMedia stream to all connected peers in a room.

    -

    Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is -MediaStream of kind video.

    +

    Method that stores a secret and secret id pair used for encrypting and decrypting messages.

    @@ -7242,20 +6447,43 @@

    Parameters:
    - options + secret - JSON + String - | + + + + + + + + + + +

    A secret to use for encrypting and decrypting messages.

    + + + + + + + + secretId + + + + + - MediaStream + String @@ -7269,13 +6497,7 @@
    Parameters:
    -

    The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

    -
      -
    • When provided as a MediaStream object, this configures the options.audio and -options.video based on the tracks available in the MediaStream object. -Object signature matches the options parameter in the -getUserMedia method.
    • -
    +

    The id of the secret.

    @@ -7297,7 +6519,7 @@
    Parameters:
    • - 0.5.6 + 2.0.0
    @@ -7328,7 +6550,7 @@
    Parameters:
    @@ -7345,84 +6567,13 @@
    Parameters:
    -
    Fires:
    - - - - - - - - - - -
    - - - - - -
    Example
    - - -
    Example 1: Send new MediaStream with audio and video
    -
    -let sendStream = (roomName) => {
    -const options = { audio: true, video: true };
     
    -// Add listener to incomingStream event
    -SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
    -  const { detail } = evt;
    -  window.attachMediaStream(localVideoEl, detail.stream);
    -})
     
    -skylink.sendStream(roomName, options)
    - // streams can also be obtained from resolved promise
    - .then((streams) => {
    -       if (streams[0]) {
    -         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
    -       }
    -       if (streams[1]) {
    -         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
    -       }
    -   })
    -  .catch((error) => { console.error(error) });
    -}
     
    -Example 2: Use pre-fetched media streams
     
    -const prefetchedStreams = null;
    -skylink.getUserMedia(null, {
    -   audio: { stereo: true },
    -   video: true,
    -   })
    -   .then((streams) => {
    -     prefetchedStream = streams
    -});
     
    -skylink.sendStream(roomName, prefetchedStreams)
    -  .catch((error) => { console.error(error) });
    -}
    -
    @@ -7432,13 +6583,13 @@
    Example
    - + -

    - setEncryptSecret(roomName, secret, secretId) +

    + setMessagePersistence(roomName, isPersistent)

    @@ -7447,7 +6598,12 @@

    -

    Method that stores a secret and secret id pair used for encrypting and decrypting messages.

    +

    Method that overrides the persistent message feature configured at the key level.

    +
    + Note that to set message persistence at the app level, the persistent message feature MUST be enabled at the key level in the Temasys + Developers Console. Messages will also only be persisted if the messages are encrypted, are public messages and, are sent via the signaling + server using the sendMessage method. +
    @@ -7509,43 +6665,14 @@

    Parameters:
    - secret - - - - - - - String - - - - - - - - - - - - - -

    A secret to use for encrypting and decrypting messages.

    - - - - - - - - secretId + isPersistent - String + Boolean @@ -7559,7 +6686,7 @@
    Parameters:
    -

    The id of the secret.

    +

    The flag if messages should be persisted.

    @@ -7612,7 +6739,7 @@
    Parameters:
    @@ -7796,7 +6923,7 @@
    Parameters:
    @@ -7977,7 +7104,7 @@
    Parameters:
    @@ -7998,7 +7125,7 @@
    Fires:
    @@ -8048,7 +7175,7 @@
    Example

    - shareScreen(roomName, replaceUserMediaStream, streamIdopt) → {MediaStream|null} + shareScreen(roomName) → {MediaStream|null}

    @@ -8079,8 +7206,6 @@
    Parameters:
    Type - Attributes - @@ -8109,14 +7234,6 @@
    Parameters:
    - - - - - - - - @@ -8127,83 +7244,6 @@
    Parameters:
    - - - replaceUserMediaStream - - - - - - - Boolean - - - - - - - - - - - - - - - - - - - - - -

    The flag if screenshare replaces the userMedia stream.

    - - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - <optional>
    - - - - - - - - - - - -

    The stream id of the userMedia stream to replace. streamId must be provided if there is more than -one userMedia stream on the peer connection and replaceUserMediaStream is true.

    - - - - - @@ -8251,7 +7291,7 @@
    Parameters:
    @@ -8325,7 +7365,7 @@

    Note that this feature requires MCU and recording to be enabled for the App Key provided in initOptions. If recording feature is not available to - be enabled in the Temasys Developer Console, please contact us on our support portal here. + be enabled in the Temasys Developer Console, please contact us on our support portal here.

    @@ -8433,7 +7473,7 @@
    Parameters:
    @@ -8454,11 +7494,12 @@
    Fires:
    • - recordingStateEvent with payload state=START if recording has started successfully. + RECORDING STATE event with payload state=START if recording has started +successfully.event:
    • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
    @@ -8685,7 +7726,7 @@
    Parameters:
    @@ -8706,7 +7747,7 @@
    Fires:
    @@ -8769,8 +7810,8 @@

    • Note that this feature requires MCU and recording to be enabled for the App Key provided in the - initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, - please contact us on our support portal here. + initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, + please contact us on our support portal here.
    • It is mandatory for the recording session to have elapsed for more than 4 minutes before calling stopRecording method. @@ -8883,7 +7924,7 @@
      Parameters:
      @@ -8904,11 +7945,12 @@
      Fires:
      • - recordingStateEvent with payload state=STOP if recording has stopped successfully. + RECORDING STATE event with payload state=STOP if recording has stopped +successfully.event:
      • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
      @@ -9105,7 +8147,7 @@
      Parameters:
      @@ -9126,7 +8168,7 @@
      Fires:
      @@ -9291,7 +8333,7 @@
      Parameters:
      @@ -9312,19 +8354,19 @@
      Fires:
      • - mediaAccessStoppedEvent with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream + MEDIA ACCESS STOPPED event with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream
      • - streamEndedEvent with parameter payload isSelf value as true and isScreensharing value as true if user is in the room + STREAM ENDED event with parameter payload isSelf value as true and isScreensharing value as true if user is in the room
      • - peerUpdatedEvent with parameter payload isSelf value as true + PEER UPDATED event with parameter payload isSelf value as true
      • - onIncomingStreamEvent with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream + ON INCOMING STREAM event with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream
      @@ -9512,7 +8554,7 @@
      Parameters:
      @@ -9533,15 +8575,15 @@
      Fires:
      • - mediaAccessStoppedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream. + MEDIA ACCESS STOPPED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream.
      • - streamEndedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room. + STREAM ENDED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room.
      • - peerUpdatedEvent with parameter payload isSelf=true. + PEER UPDATED event with parameter payload isSelf=true.
      @@ -9699,7 +8741,7 @@
      Parameters:
      @@ -9720,7 +8762,7 @@
      Fires:
      • - roomLockEvent with payload parameters isLocked=false when the room is successfully locked. + ROOM LOCK event with payload parameters isLocked=false when the room is successfully locked.
      diff --git a/publish/2.1.2/docs/SkylinkConstants.html b/publish/2.1.3/docs/SkylinkConstants.html similarity index 62% rename from publish/2.1.2/docs/SkylinkConstants.html rename to publish/2.1.3/docs/SkylinkConstants.html index ae20e5d76..9011e2257 100644 --- a/publish/2.1.2/docs/SkylinkConstants.html +++ b/publish/2.1.3/docs/SkylinkConstants.html @@ -76,7 +76,7 @@

      -

      Classes

      Namespaces

      +

      Classes

      Namespaces

      @@ -106,7 +106,42 @@

      @@ -177,21 +212,19 @@

      Members

      -

      - (static, constant) AUDIO_CODEC :Object +

      + (static, constant) BUNDLE_POLICY :Object

      -

      - Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. +
      + Learn more about how ICE works in this + article here.
      -The list of available audio codecs to set as the preferred audio codec to use to encode -sending audio data when available encoded audio codec for Peer connections -configured in Skylink initOptions.

      +The list of available Peer connection bundle policies.
      @@ -223,7 +256,7 @@
      Properties:
      - AUTO + MAX_COMPAT @@ -244,9 +277,9 @@
      Properties:
      -

      Value "auto" - The value of the option to not prefer any audio codec but rather use the created - local "offer" / "answer" session description audio codec preference.

      +

      Value "max-compat" +The value of the bundle policy to generate ICE candidates for each media type +so each media type flows through different transports.

      @@ -254,7 +287,7 @@
      Properties:
      - OPUS + MAX_BUNDLE @@ -275,8 +308,9 @@
      Properties:
      -

      Value "opus" - The value of the option to prefer the OPUS audio codec.

      +

      Value "max-bundle" +The value of the bundle policy to generate ICE candidates for one media type +so all media type flows through a single transport.

      @@ -284,7 +318,7 @@
      Properties:
      - ISAC + BALANCED @@ -305,8 +339,9 @@
      Properties:
      -

      Value "ISAC" - The value of the option to prefer the ISAC audio codec.

      +

      Value "balanced" +The value of the bundle policy to use MAX_BUNDLE if Peer supports it, +else fallback to MAX_COMPAT.

      @@ -314,7 +349,7 @@
      Properties:
      - ILBC + NONE @@ -335,46 +370,126 @@
      Properties:
      -

      Value "ILBC" - The value of the option to prefer the iLBC audio codec.

      +

      Value "none" +The value of the bundle policy to not use any media bundle. +This removes the a=group:BUNDLE line from session descriptions.

      + + - - - G722 - - - - - - String - - + +
      + + + + +
      Since:
      +
      +
        +
      • + 0.6.18 +
      • +
      +
      + + + + + + + + + + + + + + + + + + + + + + + +
      Source:
      +
      + +
      + + + + + + + +
      - - - + + + + - -

      Value "G722" - The value of the option to prefer the G722 audio codec.

      - - +

      + (static, constant) CANDIDATE_GENERATION_STATE :Object +

      + + + + +
      +
      + Learn more about how ICE works in this + article here. +
      +The list of Peer connection ICE gathering states. +
      + + + + +
      Properties:
      + + + + + + + + + + + + + + + + + + + + - + @@ -404,7 +524,7 @@
      Properties:
      - + @@ -446,7 +566,7 @@
      Properties:
      • - 0.5.10 + 0.4.1
      @@ -477,7 +597,7 @@
      Properties:
      @@ -499,19 +619,19 @@
      Properties:
      -

      - (static, constant) BUNDLE_POLICY :Object +

      + (static, constant) CANDIDATE_PROCESSING_STATE :Object

      -

      - Learn more about how ICE works in this - article here. +
      + Learn more about how ICE works in this + article here.
      -The list of available Peer connection bundle policies.

      +The list of Peer connection remote ICE candidate processing states for trickle ICE connections.
      @@ -543,7 +663,7 @@
      Properties:
      - + @@ -574,7 +693,7 @@
      Properties:
      - + @@ -605,7 +723,7 @@
      Properties:
      - + @@ -636,7 +753,7 @@
      Properties:
      - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -679,7 +857,7 @@
      Properties:
      • - 0.6.18 + 0.6.16
      @@ -710,7 +888,7 @@
      Properties:
      @@ -732,19 +910,15 @@
      Properties:
      -

      - (static, constant) CANDIDATE_GENERATION_STATE :Object +

      + (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object

      -

      - Learn more about how ICE works in this - article here. -
      -The list of Peer connection ICE gathering states.

      +

      The list of Datachannel sending message error types.

      @@ -776,7 +950,7 @@
      Properties:
      - + @@ -811,7 +981,7 @@
      Properties:
      - + @@ -853,7 +1025,7 @@
      Properties:
      • - 0.4.1 + 0.6.16
      @@ -884,7 +1056,7 @@
      Properties:
      @@ -906,19 +1078,15 @@
      Properties:
      -

      - (static, constant) CANDIDATE_PROCESSING_STATE :Object +

      + (static, constant) DATA_CHANNEL_STATE :object

      -

      - Learn more about how ICE works in this - article here. -
      -The list of Peer connection remote ICE candidate processing states for trickle ICE connections.

      +

      The list of Datachannel connection states.

      @@ -950,7 +1118,7 @@
      Properties:
      - + @@ -980,7 +1148,7 @@
      Properties:
      - + @@ -1010,7 +1178,7 @@
      Properties:
      - + @@ -1040,7 +1208,7 @@
      Properties:
      - + @@ -1070,7 +1238,7 @@
      Properties:
      - + @@ -1102,7 +1268,7 @@
      Properties:
      - + - -
      NameTypeDescription
      PCMAGATHERING @@ -395,8 +510,13 @@
      Properties:
      -

      Value "PCMA" - The value of the option to prefer the G711u audio codec.

      +

      Value "gathering" +The value of the state when Peer connection is gathering ICE candidates. +These ICE candidates are sent to Peer for its connection to check for a suitable matching +pair of ICE candidates to establish an ICE connection for stream audio, video and data. +See ICE_CONNECTION_STATE for ICE connection status. +This state cannot happen until Peer connection remote "offer" / "answer" +session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

      PCMUCOMPLETED @@ -425,8 +545,8 @@
      Properties:
      -

      Value "PCMU" - The value of the option to prefer the G711a audio codec.

      +

      Value "completed" +The value of the state when Peer connection gathering of ICE candidates has completed.

      MAX_COMPATRECEIVED @@ -564,9 +684,8 @@
      Properties:
      -

      Value "max-compat" - The value of the bundle policy to generate ICE candidates for each media type - so each media type flows through different transports.

      +

      Value "received" +The value of the state when the remote ICE candidate was received.

      MAX_BUNDLEDROPPED @@ -595,9 +714,8 @@
      Properties:
      -

      Value "max-bundle" - The value of the bundle policy to generate ICE candidates for one media type - so all media type flows through a single transport.

      +

      Value "received" +The value of the state when the remote ICE candidate is dropped.

      BALANCEDBUFFERED @@ -626,9 +744,8 @@
      Properties:
      -

      Value "balanced" - The value of the bundle policy to use MAX_BUNDLE if Peer supports it, - else fallback to MAX_COMPAT.

      +

      Value "buffered" +The value of the state when the remote ICE candidate is buffered.

      NONEPROCESSING @@ -657,9 +774,70 @@
      Properties:
      -

      Value "none" - The value of the bundle policy to not use any media bundle. - This removes the a=group:BUNDLE line from session descriptions.

      +

      Value "processing" +The value of the state when the remote ICE candidate is being processed.

      +
      PROCESS_SUCCESS + + + + String + + + + + + + +

      Value "processSuccess" +The value of the state when the remote ICE candidate has been processed successfully. +The ICE candidate that is processed will be used to check against the list of +locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

      +
      PROCESS_ERROR + + + + String + + + + + + + +

      Value "processError" +The value of the state when the remote ICE candidate has failed to be processed.

      GATHERINGMESSAGE @@ -797,13 +971,9 @@
      Properties:
      -

      Value "gathering" - The value of the state when Peer connection is gathering ICE candidates. - These ICE candidates are sent to Peer for its connection to check for a suitable matching - pair of ICE candidates to establish an ICE connection for stream audio, video and data. - See ICE_CONNECTION_STATE for ICE connection status. - This state cannot happen until Peer connection remote "offer" / "answer" - session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

      +

      Value "message" +The value of the Datachannel sending message error type when encountered during +sending P2P message from sendP2PMessage.

      COMPLETEDTRANSFER @@ -832,8 +1002,10 @@
      Properties:
      -

      Value "completed" - The value of the state when Peer connection gathering of ICE candidates has completed.

      +

      Value "transfer" +The value of the Datachannel sending message error type when encountered during +data transfers from sendURLData or +sendBlobData.

      RECEIVEDCONNECTING @@ -971,8 +1139,8 @@
      Properties:
      -

      Value "received" - The value of the state when the remote ICE candidate was received.

      +

      Value "connecting" +The value of the state when Datachannel is attempting to establish a connection.

      DROPPEDOPEN @@ -1001,8 +1169,8 @@
      Properties:
      -

      Value "received" - The value of the state when the remote ICE candidate is dropped.

      +

      Value "open" +The value of the state when Datachannel has established a connection.

      BUFFEREDCLOSING @@ -1031,8 +1199,8 @@
      Properties:
      -

      Value "buffered" - The value of the state when the remote ICE candidate is buffered.

      +

      Value "closing" +The value of the state when Datachannel connection is closing.

      PROCESSINGCLOSED @@ -1061,8 +1229,8 @@
      Properties:
      -

      Value "processing" - The value of the state when the remote ICE candidate is being processed.

      +

      Value "closed" +The value of the state when Datachannel connection has closed.

      PROCESS_SUCCESSERROR @@ -1091,10 +1259,8 @@
      Properties:
      -

      Value "processSuccess" - The value of the state when the remote ICE candidate has been processed successfully. - The ICE candidate that is processed will be used to check against the list of - locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

      +

      Value "error" +The value of the state when Datachannel has encountered an exception during connection.

      PROCESS_ERRORCREATE_ERROR @@ -1123,121 +1289,16 @@
      Properties:
      -

      Value "processError" - The value of the state when the remote ICE candidate has failed to be processed.

      +

      Value "createError" +The value of the state when Datachannel has failed to establish a connection.

      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.6.16 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - -

      - (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object -

      - - - - -
      -

      The list of Datachannel sending message error types.

      -
      - - - - -
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - + @@ -1268,7 +1331,7 @@
      Properties:
      - + @@ -1312,7 +1375,7 @@
      Properties:
      • - 0.6.16 + 0.1.0
      @@ -1343,7 +1406,7 @@
      Properties:
      @@ -1365,15 +1428,15 @@
      Properties:
      -

      - (static, constant) DATA_CHANNEL_STATE :object +

      + (static, constant) DATA_CHANNEL_TYPE :object

      -

      The list of Datachannel connection states.

      +

      The list of Datachannel types.

      @@ -1394,1672 +1457,18 @@
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      MESSAGEBUFFERED_AMOUNT_LOW @@ -1258,9 +1319,11 @@
      Properties:
      -

      Value "message" - The value of the Datachannel sending message error type when encountered during - sending P2P message from Skylink#sendP2PMessage.

      +

      Value "bufferedAmountLow" +The value of the state when Datachannel when the amount of data buffered to be sent +falls below the Datachannel threshold. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

      TRANSFERSEND_MESSAGE_ERROR @@ -1289,10 +1352,10 @@
      Properties:
      -

      Value "transfer" - The value of the Datachannel sending message error type when encountered during - data transfers from Skylink#sendURLData or - Skylink#sendBlobData.

      +

      Value "sendMessageError" +The value of the state when Datachannel when data transfer packets or P2P message fails to send. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

      Description
      CONNECTING - - - - String - - - - - - - -

      Value "connecting" - The value of the state when Datachannel is attempting to establish a connection.

      -
      OPEN - - - - String - - - - - - - -

      Value "open" - The value of the state when Datachannel has established a connection.

      -
      CLOSING - - - - String - - - - - - - -

      Value "closing" - The value of the state when Datachannel connection is closing.

      -
      CLOSED - - - - String - - - - - - - -

      Value "closed" - The value of the state when Datachannel connection has closed.

      -
      ERROR - - - - String - - - - - - - -

      Value "error" - The value of the state when Datachannel has encountered an exception during connection.

      -
      CREATE_ERROR - - - - String - - - - - - - -

      Value "createError" - The value of the state when Datachannel has failed to establish a connection.

      -
      BUFFERED_AMOUNT_LOW - - - - String - - - - - - - -

      Value "bufferedAmountLow" - The value of the state when Datachannel when the amount of data buffered to be sent - falls below the Datachannel threshold. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

      -
      SEND_MESSAGE_ERROR - - - - String - - - - - - - -

      Value "sendMessageError" - The value of the state when Datachannel when data transfer packets or P2P message fails to send. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

      -
      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.1.0 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - -

      - (static, constant) DATA_CHANNEL_TYPE :object -

      - - - - -
      -

      The list of Datachannel types.

      -
      - - - - -
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      MESSAGING - - - - String - - - - - - - -

      Value "messaging" - The value of the Datachannel type that is used only for messaging in - Skylink#sendP2PMessage. - However for Peers that do not support simultaneous data transfers, this Datachannel - type will be used to do data transfers (1 at a time). - Each Peer connections will only have one of this Datachannel type and the - connection will only close when the Peer connection is closed (happens when peerConnectionStateEvent triggers parameter payload state as - CLOSED for Peer).

      -
      DATA - - - - String - - - - - - - -

      Value "data" - The value of the Datachannel type that is used only for a data transfer in - Skylink#sendURLData and - Skylink#sendBlobData. - The connection will close after the data transfer has been completed or terminated (happens when - SkylinkEvents.event:dataTransferStatedataTransferStateEvent triggers parameter payload - state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, - REJECTED, CANCEL or ERROR for Peer).

      -
      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.6.1 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - -

      - (static, constant) EVENTS :object -

      - - - - - - - -
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - + + - + @@ -3088,7 +1504,7 @@
      Properties:
      - + @@ -3129,7 +1552,7 @@
      Properties:
      • - 2.0 + 0.6.1
      @@ -3160,7 +1583,7 @@
      Properties:
      @@ -3244,7 +1667,7 @@
      Properties:
      @@ -3274,7 +1697,7 @@
      Properties:
      @@ -3304,7 +1727,7 @@
      Properties:
      @@ -3355,7 +1778,7 @@
      Properties:
      @@ -3385,15 +1808,15 @@

      -

      - Note that this feature requires "isPrivileged" flag to be enabled for the App Key +
      + Note that this feature requires "isPrivileged" flag to be enabled for the App Key provided in Skylink initOptions, as only Users connecting using the App Key with this flag enabled (which we call privileged Users / Peers) can retrieve the list of Peer IDs from Rooms within the same App space. Read more about privileged App Key feature here.
      -The list of getPeers() method retrieval states.

      +The list of getPeers method retrieval states.
      @@ -3447,8 +1870,8 @@

      Properties:
      @@ -3478,8 +1901,8 @@
      Properties:
      @@ -3530,7 +1953,7 @@
      Properties:
      @@ -3614,9 +2037,9 @@
      Properties:
      @@ -3646,9 +2069,9 @@
      Properties:
      @@ -3678,8 +2101,8 @@
      Properties:
      @@ -3709,8 +2132,8 @@
      Properties:
      @@ -3740,8 +2163,8 @@
      Properties:
      @@ -3771,9 +2194,9 @@
      Properties:
      @@ -3824,7 +2247,7 @@
      Properties:
      @@ -3854,11 +2277,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of Peer connection ICE connection states.

      +The list of Peer connection ICE connection states.
      @@ -3912,9 +2335,9 @@

      Properties:
      @@ -3944,11 +2367,11 @@
      Properties:
      @@ -3978,10 +2401,10 @@
      Properties:
      @@ -4011,7 +2434,7 @@
      Properties:
      @@ -4041,9 +2464,9 @@
      Properties:
      @@ -4073,38 +2496,8 @@
      Properties:
      - - - - - - - - - - - - - - - - @@ -4155,7 +2548,7 @@
      Properties:
      @@ -4239,8 +2632,8 @@
      Properties:
      @@ -4270,8 +2663,8 @@
      Properties:
      @@ -4301,8 +2694,8 @@
      Properties:
      @@ -4332,8 +2725,8 @@
      Properties:
      @@ -4363,7 +2756,7 @@
      Properties:
      @@ -4393,7 +2786,7 @@
      Properties:
      @@ -4444,7 +2837,7 @@
      Properties:
      @@ -4474,8 +2867,8 @@

      -

      The list of Skylink#getUserMedia or -Skylink#shareScreen Stream fallback states.

      +

      The list of getUserMedia or +shareScreen Stream fallback states.

      @@ -4529,10 +2922,10 @@

      Properties:
      @@ -4562,8 +2955,8 @@
      Properties:
      @@ -4593,8 +2986,8 @@
      Properties:
      @@ -4645,7 +3038,7 @@
      Properties:
      @@ -4676,7 +3069,7 @@

      The list of available screensharing media sources configured in the -Skylink#shareScreen.

      +shareScreen.

      @@ -4730,7 +3123,7 @@

      Properties:
      @@ -4760,7 +3153,7 @@
      Properties:
      @@ -4790,8 +3183,8 @@
      Properties:
      @@ -4821,9 +3214,9 @@
      Properties:
      @@ -4853,8 +3246,8 @@
      Properties:
      @@ -4884,9 +3277,9 @@
      Properties:
      @@ -4916,8 +3309,8 @@
      Properties:
      @@ -4968,7 +3361,7 @@
      Properties:
      @@ -5189,7 +3582,7 @@
      Properties:
      @@ -5384,7 +3777,7 @@
      Properties:
      @@ -5663,7 +4056,7 @@
      Properties:
      @@ -5693,11 +4086,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of available Peer connection certificates cryptographic algorithm to use.

      +The list of available Peer connection certificates cryptographic algorithm to use.
      @@ -5751,7 +4144,7 @@

      Properties:
      @@ -5781,7 +4174,7 @@
      Properties:
      @@ -5811,7 +4204,7 @@
      Properties:
      @@ -5862,7 +4255,7 @@
      Properties:
      @@ -5892,11 +4285,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of Peer connection session description exchanging states.

      +The list of Peer connection session description exchanging states.
      @@ -5950,7 +4343,7 @@

      Properties:
      @@ -5980,11 +4373,11 @@
      Properties:
      @@ -6014,11 +4407,11 @@
      Properties:
      @@ -6048,7 +4441,7 @@
      Properties:
      @@ -6099,7 +4492,7 @@
      Properties:
      @@ -6183,7 +4576,7 @@
      Properties:
      @@ -6213,8 +4606,8 @@
      Properties:
      @@ -6244,10 +4637,10 @@
      Properties:
      @@ -6277,7 +4670,7 @@
      Properties:
      @@ -6328,7 +4721,7 @@
      Properties:
      @@ -6412,9 +4805,9 @@
      Properties:
      @@ -6444,9 +4837,9 @@
      Properties:
      @@ -6476,9 +4869,9 @@
      Properties:
      @@ -6508,10 +4901,10 @@
      Properties:
      @@ -6541,12 +4934,12 @@
      Properties:
      @@ -6576,9 +4969,9 @@
      Properties:
      @@ -6608,9 +5001,9 @@
      Properties:
      @@ -6641,10 +5034,10 @@
      Properties:
      @@ -6674,8 +5067,8 @@
      Properties:
      @@ -6705,9 +5098,9 @@
      Properties:
      @@ -6737,7 +5130,7 @@
      Properties:
      @@ -6767,7 +5160,7 @@
      Properties:
      @@ -6797,9 +5190,9 @@
      Properties:
      @@ -6829,10 +5222,10 @@
      Properties:
      @@ -6862,13 +5255,13 @@
      Properties:
      @@ -6898,7 +5291,7 @@
      Properties:
      @@ -6928,10 +5321,10 @@
      Properties:
      @@ -6961,7 +5354,7 @@
      Properties:
      @@ -7012,7 +5405,7 @@
      Properties:
      @@ -7096,7 +5489,7 @@
      Properties:
      @@ -7126,8 +5519,8 @@
      Properties:
      @@ -7157,7 +5550,7 @@
      Properties:
      @@ -7187,9 +5580,9 @@
      Properties:
      @@ -7240,7 +5633,7 @@
      Properties:
      @@ -7270,11 +5663,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of available Peer connection RTCP mux policies.

      +The list of available Peer connection RTCP mux policies.
      @@ -7328,7 +5721,7 @@

      Properties:
      @@ -7358,7 +5751,7 @@
      Properties:
      @@ -7409,7 +5802,7 @@
      Properties:
      @@ -7493,7 +5886,7 @@
      Properties:
      @@ -7523,8 +5916,8 @@
      Properties:
      @@ -7554,7 +5947,7 @@
      Properties:
      @@ -7605,7 +5998,7 @@
      Properties:
      @@ -7768,7 +6161,7 @@
      Properties:
      @@ -7798,11 +6191,11 @@

      -

      +
      As there are more features getting implemented, there will be eventually more different types of server Peers.
      -The list of available types of server Peer connections.

      +The list of available types of server Peer connections.
      @@ -7856,7 +6249,7 @@

      Properties:
      @@ -7907,7 +6300,7 @@
      Properties:
      @@ -7937,11 +6330,11 @@

      -

      +
      Note that this is used only for SDK developer purposes.
      - Current version: 0.1.4 + Current version: 2.1.0
      -The value of the current version of the Signaling socket message protocol.

      +The value of the current version of the Signaling socket message protocol.
      @@ -7987,7 +6380,7 @@

      @@ -8017,7 +6410,7 @@

      -

      The list of Skylink#joinRoom socket connection failure states.

      +

      The list of joinRoom socket connection failure states.

      @@ -8071,8 +6464,8 @@

      Properties:
      @@ -8102,8 +6495,8 @@
      Properties:
      @@ -8133,9 +6526,9 @@
      Properties:
      @@ -8165,9 +6558,9 @@
      Properties:
      @@ -8197,9 +6590,9 @@
      Properties:
      @@ -8250,7 +6643,7 @@
      Properties:
      @@ -8280,7 +6673,7 @@

      -

      The list of Skylink#joinRoom socket connection reconnection states.

      +

      The list of joinRoom socket connection reconnection states.

      @@ -8334,8 +6727,8 @@

      Properties:
      @@ -8365,8 +6758,8 @@
      Properties:
      @@ -8396,8 +6789,8 @@
      Properties:
      @@ -8427,8 +6820,8 @@
      Properties:
      @@ -8458,8 +6851,8 @@
      Properties:
      @@ -8510,7 +6903,7 @@
      Properties:
      @@ -8540,7 +6933,7 @@

      -

      The list of Signaling server reaction states during Skylink#joinRoom.

      +

      The list of Signaling server reaction states during joinRoom.

      @@ -8594,7 +6987,7 @@

      Properties:
      @@ -8624,7 +7017,7 @@
      Properties:
      @@ -8654,7 +7047,7 @@
      Properties:
      @@ -8705,7 +7098,7 @@
      Properties:
      @@ -8736,7 +7129,7 @@

      The list of Signaling server reaction states reason of action code during -Skylink#joinRoom.

      +joinRoom.

      @@ -8790,9 +7183,9 @@

      Properties:
      @@ -8822,8 +7215,8 @@
      Properties:
      @@ -8853,9 +7246,9 @@
      Properties:
      @@ -8885,9 +7278,9 @@
      Properties:
      @@ -8917,9 +7310,9 @@
      Properties:
      @@ -8949,9 +7342,9 @@
      Properties:
      @@ -8981,16 +7374,12 @@
      Properties:
      @@ -9020,10 +7409,10 @@
      Properties:
      @@ -9053,9 +7442,9 @@
      Properties:
      @@ -9085,9 +7474,9 @@
      Properties:
      @@ -9117,10 +7506,10 @@
      Properties:
      @@ -9171,7 +7560,7 @@
      Properties:
      @@ -9201,16 +7590,16 @@

      -

      +
      Note that configuring the protocol may not necessarily result in the desired network transports protocol used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing + This simply configures the TURN ICE server urls query option when constructing the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols.
      The list of TURN network transport protocols options when constructing Peer connections configured in Skylink initOptions. -Example .urls inital input: ["turn:server.com?transport=tcp", -"turn:server1.com:3478", "turn:server.com?transport=udp"]

      +Example .urls inital input: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]
      @@ -9264,9 +7653,9 @@

      Properties:
      @@ -9296,9 +7685,9 @@
      Properties:
      @@ -9328,9 +7717,9 @@
      Properties:
      @@ -9360,11 +7749,11 @@
      Properties:
      @@ -9394,10 +7783,10 @@
      Properties:
      @@ -9448,239 +7837,7 @@
      Properties:
      -
      - - - - - - - - - - - - - - - - - - -

      - (static, constant) VIDEO_CODEC :Object -

      - - - - -
      -

      - Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. -
      -The list of available video codecs to set as the preferred video codec to use to encode -sending video data when available encoded video codec for Peer connections -configured in Skylink initOptions.

      -
      - - - - -
      Properties:
      - - - -
      NameTypeDescription
      ON_INCOMING_STREAM - - - - String - - - - - - - -

      'onIncomingStream'

      -
      ON_INCOMING_SCREEN_STREAM - - - - String - - - - - - - -

      'onIncomingScreenStream'

      -
      STREAM_ENDED - - - - String - - - - - - - -

      'streamEnded'

      -
      PEER_UPDATED - - - - String - - - - - - - -

      'peerUpdated'

      -
      PEER_JOINED - - - - String - - - - - - - -

      'peerJoined'

      -
      PEER_LEFT - - - - String - - - - - - - -

      'peerLeft'

      -
      PEER_CONNECTION_STATE - - - - String - - - - - - - -

      'peerConnectionState'

      -
      DATA_CHANNEL_STATE - - - - String - - - - - - - -

      'dataChannelState'

      -
      ON_INCOMING_MESSAGE - - - - String - - - - - - - -

      'onIncomingMessage'

      -
      HANDSHAKE_PROGRESS - - - - String - - - - - - - -

      'handshakeProgress'

      -
      SERVER_PEER_JOINED - - - - String - - - - - - - -

      'serverPeerJoined'

      -
      SERVER_PEER_LEFT - - - - String - - - - - - - -

      'serverPeerLeft'

      -
      CANDIDATE_PROCESSING_STATE - - - - String - - - - - - - -

      'candidateProcessingState'

      -
      CANDIDATE_GENERATION_STATE - - - - String - - - - - - - -

      'candidateGenerationState'

      -
      CANDIDATES_GATHERED - - - - String - - - - - - - -

      'candidatesGathered'

      -
      ON_INCOMING_DATA - - - - String - - - - - - - -

      'onIncomingData'

      -
      GET_PEERS_STATE_CHANGE - - - - String - - - - - - - -

      'getPeersStateChange'

      -
      SESSION_DISCONNECT - - - - String - - - - - - - -

      'sessionDisconnect'

      -
      STREAM_MUTED - - - - String - - - - - - - -

      'streamMuted'

      -
      CHANNEL_OPEN - - - - String - - - - - - - -

      'channelOpen'

      -
      CHANNEL_CLOSE - - - - String - - - - - - - -

      'channelClose'

      -
      CHANNEL_MESSAGE - - - - String - - - - - - - -

      'channelMessage'

      -
      CHANNEL_ERROR - - - - String - - - - - - - -

      'channelError'

      -
      CHANNEL_RETRY - - - - String - - - - - - - -

      'channelRetry'

      -
      SOCKET_ERROR - - - - String - - - - - - - -

      'socketError'

      -
      SYSTEM_ACTION - - - - String - - - - - - - -

      'systemAction'

      -
      MEDIA_ACCESS_FALLBACK - - - - String - - - - - - - -

      'mediaAccessFallback'

      -
      MEDIA_ACCESS_REQUIRED - - - - String - - - - - - - -

      'mediaAccessRequired'

      -
      MEDIA_ACCESS_STOPPED - - - - String - - - - - - - -

      'mediaAccessStopped'

      -
      MEDIA_ACCESS_SUCCESS - - - - String - - - - - - - -

      'mediaAccessSuccess'

      -
      RECORDING_STATE - - - - String - - - - - - - -

      'recordingState'

      -
      LOCAL_MEDIA_MUTED - - - - String - - - - - - - -

      'localMediaMuted'

      -
      MEDIA_ACCESS_ERROR - - - - String - - - - - - - -

      'mediaAccessError'

      -
      GET_CONNECTION_STATUS_STATE_CHANGE - - - - String - - - - - - - -

      'getConnectionStatusStateChange'

      -
      READY_STATE_CHANGE - - - - String - - - - - - - -

      'readyStateChange'

      -
      ROOM_LOCK - - - - String - - - - - - - -

      'roomLock'

      -
      ICE_CONNECTION_STATE - - - - String - - - - - - - -

      'iceConnectionState'

      -
      BYE - - - - String - - - - - - - -

      'bye'

      -
      RTMP_STATE - - - - String - - - - - - - -

      'rtmpState'

      -
      Description
      STORED_MESSAGESMESSAGING @@ -3080,7 +1489,14 @@
      Properties:
      -

      'storedMessages'

      +

      Value "messaging" +The value of the Datachannel type that is used only for messaging in +sendP2PMessage. +However for Peers that do not support simultaneous data transfers, this Datachannel +type will be used to do data transfers (1 at a time). +Each Peer connections will only have one of this Datachannel type and the +connection will only close when the Peer connection is closed (happens when PEER CONNECTION STATE event triggers parameter payload state as +CLOSED for Peer).

      ENCRYPT_SECRETS_UPDATEDDATA @@ -3109,7 +1525,14 @@
      Properties:
      -

      'encryptSecretsUpdated'

      +

      [UNAVAILABLE] Value "data" +The value of the Datachannel type that is used only for a data transfer in +sendURLData and +sendBlobData. +The connection will close after the data transfer has been completed or terminated (happens when +DATA TRANSFER STATE triggers parameter payload +state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, +REJECTED, CANCEL or ERROR for Peer).

      Value 0 - The value of the state when Skylink#getConnectionStatus is retrieving the Peer connection stats.

      +The value of the state when getConnectionStatus is retrieving the Peer connection stats.

      Value 1 - The value of the state when Skylink#getConnectionStatus has retrieved the Peer connection stats successfully.

      +The value of the state when getConnectionStatus has retrieved the Peer connection stats successfully.

      Value -1 - The value of the state when Skylink#getConnectionStatus has failed retrieving the Peer connection stats.

      +The value of the state when getConnectionStatus has failed retrieving the Peer connection stats.

      Value "enquired" - The value of the state when getPeers() is retrieving the list of Peer IDs - from Rooms within the same App space from the Signaling server.

      +The value of the state when getPeers is retrieving the list of Peer IDs +from Rooms within the same App space from the Signaling server.

      Value "received" - The value of the state when getPeers() has retrieved the list of Peer IDs - from Rooms within the same App space from the Signaling server successfully.

      +The value of the state when getPeers has retrieved the list of Peer IDs +from Rooms within the same App space from the Signaling server successfully.

      Value "enter" - The value of the connection state when Peer has just entered the Room. - At this stage, PEER_JOINED - is triggered.

      +The value of the connection state when Peer has just entered the Room. +At this stage, PEER_JOINED +is triggered.

      Value "welcome" - The value of the connection state when Peer is aware that User has entered the Room. - At this stage, PEER_JOINED - is triggered and Peer connection may commence.

      +The value of the connection state when Peer is aware that User has entered the Room. +At this stage, PEER_JOINED +is triggered and Peer connection may commence.

      Value "offer" - The value of the connection state when Peer connection has set the local / remote "offer" - session description to start streaming connection.

      +The value of the connection state when Peer connection has set the local / remote "offer" +session description to start streaming connection.

      Value "answer" - The value of the connection state when Peer connection has set the local / remote "answer" - session description to establish streaming connection.

      +The value of the connection state when Peer connection has set the local / remote "answer" +session description to establish streaming connection.

      Value "answerAck" - The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is - complete.

      +The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is +complete.

      Value "error" - The value of the connection state when Peer connection has failed to establish streaming connection. - This happens when there are errors that occurs in creating local "offer" / - "answer", or when setting remote / local "offer" / "answer".

      +The value of the connection state when Peer connection has failed to establish streaming connection. +This happens when there are errors that occurs in creating local "offer" / +"answer", or when setting remote / local "offer" / "answer".

      Value "checking" - The value of the state when Peer connection is checking for a suitable matching pair of - ICE candidates to establish ICE connection. - Exchanging of ICE candidates happens during candidateGenerationStateEvent.

      +The value of the state when Peer connection is checking for a suitable matching pair of +ICE candidates to establish ICE connection. +Exchanging of ICE candidates happens during CANDIDATE GENERATION STATE event.

      Value "connected" - The value of the state when Peer connection has found a suitable matching pair of - ICE candidates to establish ICE connection but is still checking for a better - suitable matching pair of ICE candidates for the best ICE connectivity. - At this state, ICE connection is already established and audio, video and - data streaming has already started.

      +The value of the state when Peer connection has found a suitable matching pair of +ICE candidates to establish ICE connection but is still checking for a better +suitable matching pair of ICE candidates for the best ICE connectivity. +At this state, ICE connection is already established and audio, video and +data streaming has already started.

      Value "completed" - The value of the state when Peer connection has found the best suitable matching pair - of ICE candidates to establish ICE connection and checking has stopped. - At this state, ICE connection is already established and audio, video and - data streaming has already started. This may happpen after CONNECTED.

      +The value of the state when Peer connection has found the best suitable matching pair +of ICE candidates to establish ICE connection and checking has stopped. +At this state, ICE connection is already established and audio, video and +data streaming has already started. This may happen after CONNECTED.

      Value "failed" - The value of the state when Peer connection ICE connection has failed.

      +The value of the state when Peer connection ICE connection has failed.

      Value "disconnected" - The value of the state when Peer connection ICE connection is disconnected. - At this state, the Peer connection may attempt to revive the ICE connection. - This may happen due to flaky network conditions.

      +The value of the state when Peer connection ICE connection is disconnected. +At this state, the Peer connection may attempt to revive the ICE connection. +This may happen due to flaky network conditions.

      Value "closed" - The value of the state when Peer connection ICE connection has closed. - This happens when Peer connection is closed and no streaming can occur at this stage.

      -
      TRICKLE_FAILED - - - - String - - - - - - - -

      Value "trickleFailed" - The value of the state when Peer connection ICE connection has failed during trickle ICE.

      +The value of the state when Peer connection ICE connection has closed. +This happens when Peer connection is closed and no streaming can occur at this stage.

      Value 4 - The value of the log level that displays console debug, - log, info, warn and error logs.

      +The value of the log level that displays console debug, +log, info, warn and error logs.

      Value 3 - The value of the log level that displays only console log, - info, warn and error logs.

      +The value of the log level that displays only console log, +info, warn and error logs.

      Value 2 - The value of the log level that displays only console info, - warn and error logs.

      +The value of the log level that displays only console info, +warn and error logs.

      Value 1 - The value of the log level that displays only console warn - and error logs.

      +The value of the log level that displays only console warn +and error logs.

      Value 0 - The value of the log level that displays only console error logs.

      +The value of the log level that displays only console error logs.

      Value -1 - The value of the log level that displays no logs.

      +The value of the log level that displays no logs.

      Value 0 - The value of the state when getUserMedia() will retrieve audio track only - when retrieving audio and video tracks failed. - This can be configured by Skylink initOptions - audioFallback option.

      +The value of the state when getUserMedia method will retrieve audio track only +when retrieving audio and video tracks failed. +This can be configured by Skylink initOptions +audioFallback option.

      Value 1 - The value of the state when getUserMedia() or shareScreen() - retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

      +The value of the state when getUserMedia or shareScreen +method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

      Value -1 - The value of the state when getUserMedia() failed to retrieve audio track only - after retrieving audio and video tracks failed.

      +The value of the state when getUserMedia method failed to retrieve audio track only +after retrieving audio and video tracks failed.

      Value "screen" - The value of the option to share entire screen.

      +The value of the option to share entire screen.

      Value "window" - The value of the option to share application windows.

      +The value of the option to share application windows.

      Value "tab" - The value of the option to share browser tab. - Note that this is only supported by from Chrome 52+ and Opera 39+.

      +The value of the option to share browser tab. +Note that this is only supported by from Chrome 52+ and Opera 39+.

      Value "audio" - The value of the option to share browser tab audio. - Note that this is only supported by Chrome 52+ and Opera 39+. - options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

      +The value of the option to share browser tab audio. +Note that this is only supported by Chrome 52+ and Opera 39+. +options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

      Value "application" - The value of the option to share applications. - Note that this is only supported by Firefox currently.

      +The value of the option to share applications. +Note that this is only supported by Firefox currently.

      Value "browser" - The value of the option to share browser. - Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled - in about:config.

      +The value of the option to share browser. +Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled +in about:config.

      Value "camera" - The value of the option to share camera. - Note that this is only supported by Firefox currently.

      +The value of the option to share camera. +Note that this is only supported by Firefox currently.

      Value "RSA" - The value of the Peer connection certificate algorithm to use RSA-1024.

      +The value of the Peer connection certificate algorithm to use RSA-1024.

      Value "ECDSA" - The value of the Peer connection certificate algorithm to use ECDSA.

      +The value of the Peer connection certificate algorithm to use ECDSA.

      Value "AUTO" - The value of the Peer connection to use the default certificate generated.

      +The value of the Peer connection to use the default certificate generated.

      Value "stable" - The value of the state when there is no session description being exchanged between Peer connection.

      +The value of the state when there is no session description being exchanged between Peer connection.

      Value "have-local-offer" - The value of the state when local "offer" session description is set. - This should transition to STABLE state after remote "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

      +The value of the state when local "offer" session description is set. +This should transition to STABLE state after remote "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

      Value "have-remote-offer" - The value of the state when remote "offer" session description is set. - This should transition to STABLE state after local "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

      +The value of the state when remote "offer" session description is set. +This should transition to STABLE state after local "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

      Value "closed" - The value of the state when Peer connection is closed and no session description can be exchanged and set.

      +The value of the state when Peer connection is closed and no session description can be exchanged and set.

      Value 0 - The value of the state when init() has just started.

      +The value of the state when init() has just started.

      Value 1 - The value of the state when init() is authenticating App Key provided - (and with credentials if provided as well) with the Auth server.

      +The value of the state when init() is authenticating App Key provided +(and with credentials if provided as well) with the Auth server.

      Value 2 - The value of the state when init() has successfully authenticated with the Auth server. - Room session token is generated for joining the <codRoom provided in init(). - Room session token has to be generated each time User switches to a different Room - in Skylink#joinRoom.

      +The value of the state when init() has successfully authenticated with the Auth server. +Room session token is generated for joining the <codRoom provided in init(). +Room session token has to be generated each time User switches to a different Room +in joinRoom method.

      Value -1 - The value of the state when init() has failed authenticating with the Auth server.

      +The value of the state when init() has failed authenticating with the Auth server.

      Value 4001 - The value of the failure code when provided App Key in init() does not exists. - To resolve this, check that the provided App Key exists in - the Temasys Console.

      +The value of the failure code when provided App Key in init() does not exists. +To resolve this, check that the provided App Key exists in +the Temasys Console.

      Value 4002 - The value of the failure code when "domainName" property in the App Key does not - match the accessing server IP address. - To resolve this, contact our support portal.

      +The value of the failure code when "domainName" property in the App Key does not +match the accessing server IP address. +To resolve this, contact our support portal.

      Value 4003 - The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. - To resolve this, configure the App Key CORS in - the Temasys Console.

      +The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. +To resolve this, configure the App Key CORS in +the Temasys Console.

      Value 4004 - The value of the failure code when there is no CORS - present in the HTTP headers during the request to the Auth server present nor - options.credentials.credentials configuration provided in the init(). - To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

      +The value of the failure code when there is no CORS +present in the HTTP headers during the request to the Auth server present nor +options.credentials.credentials configuration provided in the init(). +To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

      Value 4005 - The value of the failure code when the options.credentials.credentials configuration provided in the - init() does not match up with the options.credentials.startDateTime, - options.credentials.duration or that the "secret" used to generate - options.credentials.credentials does not match the App Key's "secret property provided. - To resolve this, check that the options.credentials.credentials is generated correctly and - that the "secret" used to generate it is from the App Key provided in the init().

      +The value of the failure code when the options.credentials.credentials configuration provided in the +init() does not match up with the options.credentials.startDateTime, +options.credentials.duration or that the "secret" used to generate +options.credentials.credentials does not match the App Key's "secret property provided. +To resolve this, check that the options.credentials.credentials is generated correctly and +that the "secret" used to generate it is from the App Key provided in the init().

      Value 4006 - The value of the failure code when the App Key provided does not belong to any existing App. - To resolve this, check that the provided App Key exists in - the Developer Console.

      +The value of the failure code when the App Key provided does not belong to any existing App. +To resolve this, check that the provided App Key exists in +the Developer Console.

      Value 4010 - The value of the failure code when provided options.credentials - does not match any scheduled meetings available for the "Persistent Room" enabled App Key provided. - See the Persistent Room article to learn more.

      Value 4020 - The value of the failure code when App Key has reached its current concurrent users limit. - To resolve this, use another App Key. To create App Keys dynamically, see the - Application REST API - docs for more information.

      +The value of the failure code when App Key has reached its current concurrent users limit. +To resolve this, use another App Key. To create App Keys dynamically, see the +Application REST API +docs for more information.

      Value 4021 - The value of the failure code when App Key retrieval of authentication token fails. - If this happens frequently, contact our support portal.

      +The value of the failure code when App Key retrieval of authentication token fails. +If this happens frequently, contact our support portal.

      Value 5005 - The value of the failure code when App Key makes request to the incorrect Auth server. - To resolve this, ensure that the roomServer is not configured. If this persists even without - roomServer configuration, contact our support portal.

      +The value of the failure code when App Key makes request to the incorrect Auth server. +To resolve this, ensure that the roomServer is not configured. If this persists even without +roomServer configuration, contact our support portal.

      Value -1 - The value of the failure code when requesting to Auth server has timed out.

      +The value of the failure code when requesting to Auth server has timed out.

      Value -2 - The value of the failure code when response from Auth server is empty or timed out.

      +The value of the failure code when response from Auth server is empty or timed out.

      Value 1 - The value of the failure code when dependency Socket.IO client is not loaded. - To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. - You may use the provided Socket.IO client CDN here.

      +The value of the failure code when dependency Socket.IO client is not loaded. +To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. +You may use the provided Socket.IO client CDN here.

      Value 2 - The value of the failure code when - XMLHttpRequest API required to make request to Auth server is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here.

      +The value of the failure code when +XMLHttpRequest API required to make request to Auth server is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here.

      Value 3 - The value of the failure code when - RTCPeerConnection API required for Peer connections is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here. - For plugin supported browsers, if the clients - does not have the plugin installed, there will be an installation toolbar that will prompt for installation - to support the RTCPeerConnection API.

      +The value of the failure code when +RTCPeerConnection API required for Peer connections is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here. +For plugin supported browsers, if the clients +does not have the plugin installed, there will be an installation toolbar that will prompt for installation +to support the RTCPeerConnection API.

      Value 4 - The value of the failure code when provided init() configuration has errors.

      +The value of the failure code when provided init() configuration has errors.

      Value 7 - The value of the failure code when dependency AdapterJS - is not loaded. - To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. - You may use the provided AdapterJS CDN here.

      +The value of the failure code when dependency AdapterJS +is not loaded. +To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. +You may use the provided AdapterJS CDN here.

      Value 8 - The value of the failure code when codecs support cannot be parsed and retrieved.

      +The value of the failure code when codecs support cannot be parsed and retrieved.

      Value 0 - The value of the state when recording session has started.

      +The value of the state when recording session has started.

      Value 1 - The value of the state when recording session has stopped.
      - At this stage, the recorded videos will go through the mixin server to compile the videos.

      +The value of the state when recording session has stopped.
      +At this stage, the recorded videos will go through the mixin server to compile the videos.

      Value 2 - The value of the state when recording session mixin request has been completed.

      +The value of the state when recording session mixin request has been completed.

      Value -1 - The value of the state state when recording session has errors. - This can happen during recording session or during mixin of recording videos, - and at this stage, any current recording session or mixin is aborted.

      +The value of the state state when recording session has errors. +This can happen during recording session or during mixin of recording videos, +and at this stage, any current recording session or mixin is aborted.

      Value "require" - The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

      +The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

      Value "negotiate" - The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

      +The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

      Value 0 - The value of the state when live streaming session has started.

      +The value of the state when live streaming session has started.

      Value 1 - The value of the state when live streaming session has stopped.
      - At this stage, the recorded videos will go through the mixin server to compile the videos.

      +The value of the state when live streaming session has stopped.
      +At this stage, the recorded videos will go through the mixin server to compile the videos.

      Value -1 - The value of the state state when live streaming session has errors.

      +The value of the state state when live streaming session has errors.

      Value "mcu" - The value of the server Peer type that is used for MCU connection.

      +The value of the server Peer type that is used for MCU connection.

      Value 0 - The value of the failure state when joinRoom() socket connection failed to establish with - the Signaling server at the first attempt.

      +The value of the failure state when joinRoom socket connection failed to establish with +the Signaling server at the first attempt.

      Value -1 - The value of the failure state when joinRoom() socket connection failed to establish - the Signaling server after the first attempt.

      +The value of the failure state when joinRoom socket connection failed to establish +the Signaling server after the first attempt.

      Value -2 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of the first attempt in CONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

      +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of the first attempt in CONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

      Value -3 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of several attempts in RECONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

      +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of several attempts in RECONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

      Value -4 - The value of the failure state when joinRoom() socket connection is attempting - to reconnect with a new port or transport after the failure of attempts in - CONNECTION_FAILED or RECONNECTED_FAILED.

      +The value of the failure state when joinRoom socket connection is attempting +to reconnect with a new port or transport after the failure of attempts in +CONNECTION_FAILED or RECONNECTED_FAILED.

      Value "nonfallback" - The value of the reconnection state when joinRoom() socket connection is at its initial state - without transitioning to any new socket port or transports yet.

      +The value of the reconnection state when joinRoom socket connection is at its initial state +without transitioning to any new socket port or transports yet.

      Value "fallbackPortNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

      Value "fallbackPortSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

      Value "fallbackLongPollingNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

      Value "fallbackLongPollingSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

      Value "warning" - The value of the state when Room session is about to end.

      +The value of the state when Room session is about to end.

      Value "reject" - The value of the state when Room session has failed to start or has ended.

      +The value of the state when Room session has failed to start or has ended.

      Value "locked" - The value of the state when Room sis locked.

      +The value of the state when Room sis locked.

      Value "oldTimeStamp" - The value of the reason code when Room session token has expired. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session token has expired. +Happens during joinRoom request. +Results with: REJECT

      Value "credentialError" - The value of the reason code when Room session token provided is invalid. - Happens during Skylink#joinRoom request.

      +The value of the reason code when Room session token provided is invalid. +Happens during joinRoom request.

      Value "duplicatedLogin" - The value of the reason code when Room session token has been used already. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session token has been used already. +Happens during joinRoom request. +Results with: REJECT

      Value "notStart" - The value of the reason code when Room session has not started. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session has not started. +Happens during joinRoom request. +Results with: REJECT

      Value "expired" - The value of the reason code when Room session has ended already. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session has ended already. +Happens during joinRoom request. +Results with: REJECT

      Value "locked" - The value of the reason code when Room is locked. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room is locked. +Happens during joinRoom request. +Results with: REJECT

      Value "fastmsg" - The value of the reason code when User is flooding socket messages to the Signaling server - that is sent too quickly within less than a second interval. - Happens after Room session has started. This can be caused by various methods like - Skylink#sendMessage, - Skylink#muteStreams, - Skylink#enableAudio, - Skylink#enableVideo, - Skylink#disableAudio, - Skylink#disableVideo, - Results with: WARNING

      +The value of the reason code when User is flooding socket messages to the Signaling server +that is sent too quickly within less than a second interval. +Happens after Room session has started. This can be caused by various methods like +sendMessage, +muteStreams +Results with: WARNING

      Value "toClose" - The value of the reason code when Room session is ending. - Happens after Room session has started. This serves as a prerequisite warning before - ROOM_CLOSED occurs. - Results with: WARNING

      +The value of the reason code when Room session is ending. +Happens after Room session has started. This serves as a prerequisite warning before +ROOM_CLOSED occurs. +Results with: WARNING

      Value "roomclose" - The value of the reason code when Room session has just ended. - Happens after Room session has started. - Results with: REJECT

      +The value of the reason code when Room session has just ended. +Happens after Room session has started. +Results with: REJECT

      Value "serverError" - The value of the reason code when Room session fails to start due to some technical errors. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session fails to start due to some technical errors. +Happens during joinRoom request. +Results with: REJECT

      Value "keyFailed" - The value of the reason code when Room session fails to start due to some technical error pertaining to - App Key initialization. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session fails to start due to some technical error pertaining to +App Key initialization. +Happens during joinRoom request. +Results with: REJECT

      Value "tcp" - The value of the option to configure using only TCP network transport protocol. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478?transport=tcp"]

      +The value of the option to configure using only TCP network transport protocol. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478?transport=tcp"]

      Value "udp" - The value of the option to configure using only UDP network transport protocol. - Example .urls output: ["turn:server.com?transport=udp", - "turn:server1.com:3478?transport=udp"]

      +The value of the option to configure using only UDP network transport protocol. +Example .urls output: ["turn:server.com?transport=udp", +"turn:server1.com:3478?transport=udp"]

      Value "any" - The value of the option to configure using any network transport protocols configured from the Signaling server. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478", "turn:server.com?transport=udp"]

      +The value of the option to configure using any network transport protocols configured from the Signaling server. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]

      Value "none" - The value of the option to not configure using any network transport protocols. - Example .urls output: ["turn:server.com", "turn:server1.com:3478"] - Configuring this does not mean that no protocols will be used, but - rather removing ?transport=(protocol) query option in - the TURN ICE server .urls when constructing the Peer connection.

      +The value of the option to not configure using any network transport protocols. +Example .urls output: ["turn:server.com", "turn:server1.com:3478"] +Configuring this does not mean that no protocols will be used, but +rather removing ?transport=(protocol) query option in +the TURN ICE server .urls when constructing the Peer connection.

      Value "all" - The value of the option to configure using both TCP and UDP network transport protocols. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", - "turn:server1.com:3478?transport=udp"]

      +The value of the option to configure using both TCP and UDP network transport protocols. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", +"turn:server1.com:3478?transport=udp"]

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      AUTO - - - - String - - - - - - - -

      Value "auto" - The value of the option to not prefer any video codec but rather use the created - local "offer" / "answer" session description video codec preference.

      -
      VP8 - - - - String - - - - - - - -

      Value "VP8" - The value of the option to prefer the VP8 video codec.

      -
      VP9 - - - - String - - - - - - - -

      Value "VP9" - The value of the option to prefer the VP9 video codec.

      -
      H264 - - - - String - - - - - - - -

      Value "H264" - The value of the option to prefer the H264 video codec.

      -
      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.5.10 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      -
      @@ -9764,7 +7921,7 @@
      Properties:

      Value { video: 3200, audio: 80 } - The value of option to prefer high definition video and audio bitrates.

      +The value of option to prefer high definition video and audio bitrates.

      @@ -9794,7 +7951,7 @@
      Properties:

      Value { video: 1200, audio: 50 } - The value of option to prefer high quality video and audio bitrates.

      +The value of option to prefer high quality video and audio bitrates.

      @@ -9824,7 +7981,7 @@
      Properties:

      Value { video: 800, audio: 30 } - The value of option to prefer standard quality video and audio bitrates.

      +The value of option to prefer standard quality video and audio bitrates.

      @@ -9854,7 +8011,7 @@
      Properties:

      Value { video: 500, audio: 20 } - The value of option to prefer low quality video and audio bitrates.

      +The value of option to prefer low quality video and audio bitrates.

      @@ -9905,7 +8062,7 @@
      Properties:
      @@ -9935,12 +8092,12 @@

      -

      - Note that currently Skylink#getUserMedia only configures +
      + Note that currently getUserMedia method only configures the maximum resolution of the Stream due to browser interopability and support.
      The list of -video resolutions sets configured in the Skylink#getUserMedia.

      +video resolutions sets configured in the getUserMedia method.
      @@ -9994,9 +8151,9 @@

      Properties:

      Value { width: 160, height: 120 } - The value of the option to configure QQVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure QQVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10026,9 +8183,9 @@
      Properties:

      Value { width: 240, height: 160 } - The value of the option to configure HQVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure HQVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10058,8 +8215,8 @@
      Properties:

      Value { width: 320, height: 240 } - The value of the option to configure QVGA resolution. - Aspect ratio: 4:3

      +The value of the option to configure QVGA resolution. +Aspect ratio: 4:3

      @@ -10089,9 +8246,9 @@
      Properties:

      Value { width: 384, height: 240 } - The value of the option to configure WQVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure WQVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10121,9 +8278,9 @@
      Properties:

      Value { width: 480, height: 320 } - The value of the option to configure HVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure HVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10153,8 +8310,8 @@
      Properties:

      Value { width: 640, height: 480 } - The value of the option to configure VGA resolution. - Aspect ratio: 4:3

      +The value of the option to configure VGA resolution. +Aspect ratio: 4:3

      @@ -10184,9 +8341,9 @@
      Properties:

      Value { width: 768, height: 480 } - The value of the option to configure WVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure WVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10216,9 +8373,9 @@
      Properties:

      Value { width: 854, height: 480 } - The value of the option to configure FWVGA resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure FWVGA resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10248,9 +8405,9 @@
      Properties:

      Value { width: 800, height: 600 } - The value of the option to configure SVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure SVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10280,9 +8437,9 @@
      Properties:

      Value { width: 960, height: 640 } - The value of the option to configure DVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure DVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10312,8 +8469,8 @@
      Properties:

      Value { width: 1024, height: 576 } - The value of the option to configure WSVGA resolution. - Aspect ratio: 16:9

      +The value of the option to configure WSVGA resolution. +Aspect ratio: 16:9

      @@ -10343,9 +8500,9 @@
      Properties:

      Value { width: 1280, height: 720 } - The value of the option to configure HD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

      +The value of the option to configure HD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

      @@ -10375,9 +8532,9 @@
      Properties:

      Value { width: 1600, height: 900 } - The value of the option to configure HDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure HDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10407,9 +8564,9 @@
      Properties:

      Value { width: 1920, height: 1080 } - The value of the option to configure FHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

      +The value of the option to configure FHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

      @@ -10439,9 +8596,9 @@
      Properties:

      Value { width: 2560, height: 1440 } - The value of the option to configure QHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure QHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10471,9 +8628,9 @@
      Properties:

      Value { width: 3200, height: 1800 } - The value of the option to configure WQXGAPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure WQXGAPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10503,9 +8660,9 @@
      Properties:

      Value { width: 3840, height: 2160 } - The value of the option to configure UHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure UHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10535,9 +8692,9 @@
      Properties:

      Value { width: 5120, height: 2880 } - The value of the option to configure UHDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure UHDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10567,9 +8724,9 @@
      Properties:

      Value { width: 7680, height: 4320 } - The value of the option to configure FUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure FUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10599,9 +8756,9 @@
      Properties:

      Value { width: 15360, height: 8640 } - The value of the option to configure QUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure QUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10652,7 +8809,7 @@
      Properties:
      diff --git a/publish/2.1.2/docs/SkylinkEvents.html b/publish/2.1.3/docs/SkylinkEvents.html similarity index 84% rename from publish/2.1.2/docs/SkylinkEvents.html rename to publish/2.1.3/docs/SkylinkEvents.html index e0dde170a..af089d97a 100644 --- a/publish/2.1.2/docs/SkylinkEvents.html +++ b/publish/2.1.3/docs/SkylinkEvents.html @@ -76,7 +76,7 @@

      -

      Classes

      Namespaces

      +

      Classes

      Namespaces

      @@ -106,7 +106,78 @@

      @@ -117,6 +188,15 @@

      +
      Since:
      +
      +
        +
      • + 2.0 +
      • +
      +
      + @@ -206,13 +286,13 @@

      Events

      - + -

      - candidateGenerationState +

      + CANDIDATE_GENERATION_STATE

      @@ -308,7 +388,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -465,13 +545,13 @@
      Properties
      - + -

      - candidateProcessingState +

      + CANDIDATE_PROCESSING_STATE

      @@ -567,7 +647,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -953,13 +1033,13 @@
      Properties
      - + -

      - candidatesGathered +

      + CANDIDATES_GATHERED

      @@ -1055,7 +1135,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -1325,13 +1405,13 @@
      Properties
      - + -

      - channelClose +

      + CHANNEL_CLOSE

      @@ -1526,13 +1606,13 @@
      Properties
      - + -

      - channelError +

      + CHANNEL_ERROR

      @@ -1764,13 +1844,13 @@
      Properties
      - + -

      - channelMessage +

      + CHANNEL_MESSAGE

      @@ -1995,13 +2075,13 @@
      Properties
      - + -

      - channelOpen +

      + CHANNEL_OPEN

      @@ -2196,13 +2276,13 @@
      Properties
      - + -

      - channelReopen +

      + CHANNEL_REOPEN

      @@ -2390,12 +2470,12 @@
      Properties
      - + -
      Example
      +
      Example
      Example 1: Listen on channelReopen to handle successful socket reconnection if socket was disconnected
      @@ -2420,13 +2500,13 @@ 
      Example
      - + -

      - channelRetry +

      + CHANNEL_RETRY

      @@ -2679,13 +2759,13 @@
      Properties
      - + -

      - encryptSecretsUpdated +

      + DATA_CHANNEL_STATE

      @@ -2694,7 +2774,7 @@

      -

      Event triggered when encrypt secret data is updated.

      +

      Event triggered when a Datachannel connection state has changed.

      @@ -2781,7 +2861,7 @@

      Properties
      - SkylinkRoom + roomInfo @@ -2803,14 +2883,14 @@
      Properties
      - encryptSecrets + peerId - Object + String @@ -2824,7 +2904,7 @@
      Properties
      -

      The secretId and secret pair.

      +

      The peer's id

      @@ -2832,14 +2912,14 @@
      Properties
      - selectedSecretId + state - String + SkylinkConstants.DATA_CHANNEL_STATE @@ -2853,8 +2933,7 @@
      Properties
      -

      The id of the secret that is used for encryption and decryption of messages. If value is an -empty string, message will not be encrypted.

      +

      The current Datachannel connection state.

      @@ -2862,7 +2941,36 @@
      Properties
      - peerId + error + + + + + + + Error + + + + + + + + + + + + + +

      The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

      + + + + + + + + channelName @@ -2883,7 +2991,7 @@
      Properties
      -

      The Peer ID.

      +

      The Datachannel ID.

      @@ -2891,14 +2999,14 @@
      Properties
      - peerInfo + channelType - peerInfo + SkylinkConstants.DATA_CHANNEL_TYPE @@ -2912,9 +3020,150 @@
      Properties
      -

      The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

      +

      The Datachannel type.

      + + + + + + + + messageType + + + + + + + SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR + + + + + + + + + + + + + +

      The Datachannel sending Datachannel message error type. +Defined only when state payload is SEND_MESSAGE_ERROR.

      + + + + + + + + bufferAmount + + + + + + + Object + + + + + + + + + + + + + +

      The Datachannel - buffered amount information.

      + +
      Properties
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameTypeDescription
      bufferedAmount + + + + number + + + + + + + +

      The size of currently queued data to send on the Datachannel connection.

      + +
      bufferedAmountLowThreshold + + + + number + + + + + + + +

      Threshold The current buffered amount low threshold configured.

      + +
      + @@ -2966,7 +3215,7 @@
      Properties
      @@ -2999,13 +3248,13 @@
      Properties
      - + -

      - getConnectionStatusStateChange +

      + ENCRYPT_SECRETS_UPDATED

      @@ -3014,8 +3263,7 @@

      -

      Event triggered when PeerConnection.getConnectionStatus method -retrieval state changes.

      +

      Event triggered when encrypt secret data is updated.

      @@ -3069,7 +3317,7 @@

      Parameters:
      -

      Event's payload/

      +

      Event's payload.

      Properties
      @@ -3084,8 +3332,6 @@
      Properties
      Type - Attributes - @@ -3097,14 +3343,14 @@
      Properties
      - state + room - SkylinkConstants.GET_CONNECTION_STATUS_STATE + roomInfo @@ -3114,19 +3360,11 @@
      Properties
      - - - - - - - - -

      The current getConnectionStatus() retrieval state.

      +

      The current room

      @@ -3134,14 +3372,14 @@
      Properties
      - peerId + encryptSecrets - String + Object @@ -3151,19 +3389,11 @@
      Properties
      - - - - - - - - -

      The Peer ID.

      +

      The secretId and secret pair.

      @@ -3171,14 +3401,14 @@
      Properties
      - stats + selectedSecretId - statistics + String @@ -3188,21 +3418,12 @@
      Properties
      - - - <optional>
      - - - - - - - -

      The Peer connection current stats.

      +

      The id of the secret that is used for encryption and decryption of messages. If value is an +empty string, message will not be encrypted.

      @@ -3210,14 +3431,14 @@
      Properties
      - error + peerId - Error + String @@ -3227,19 +3448,42 @@
      Properties
      - - - + + + +

      The Peer ID.

      + + + + + + + + peerInfo + + + - + + peerInfo + + + + + + + + -

      The error object. Defined only when state payload is RETRIEVE_ERROR.

      +

      The Peer session information. +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

      @@ -3291,7 +3535,7 @@
      Properties
      @@ -3324,13 +3568,13 @@
      Properties
      - + -

      - getPeersStateChange +

      + GET_CONNECTION_STATUS_STATE_CHANGE

      @@ -3339,7 +3583,8 @@

      -

      Event triggered when getPeers() method retrieval state changes.

      +

      Event triggered when getConnectionStatus method +retrieval state changes.

      @@ -3393,7 +3638,7 @@

      Parameters:
      -

      Event's payload

      +

      Event's payload/

      Properties
      @@ -3408,6 +3653,8 @@
      Properties
      Type + Attributes + @@ -3426,7 +3673,7 @@
      Properties
      - SkylinkConstants.GET_PEERS_STATE + SkylinkConstants.GET_CONNECTION_STATUS_STATE @@ -3436,11 +3683,19 @@
      Properties
      + + + + + + + + -

      The current getPeers() retrieval state.

      +

      The current retrieval state from getConnectionStatus method.

      @@ -3448,14 +3703,14 @@
      Properties
      - privilegePeerId + peerId - SkylinkUser.sid + String @@ -3465,11 +3720,19 @@
      Properties
      + + + + + + + + -

      The Users privileged Peer Id.

      +

      The Peer ID.

      @@ -3477,14 +3740,14 @@
      Properties
      - peerList + stats - Object + statistics @@ -3494,44 +3757,36 @@
      Properties
      - - - - -

      The list of Peer IDs Rooms within the same App space.

      - -
      Properties
      + + + <optional>
      - - - - - - - - + - + + + - + - - - + + - - + + - + + + - - -
      NameTypeDescription
      +

      The Peer connection current stats.

      + +
      #roomerror - Array + Error @@ -3541,19 +3796,19 @@
      Properties
      + - + - -

      The list of Peer IDs associated with the Room defined in #room property.

      - -
      + + +

      The error object. Defined only when state payload is RETRIEVE_ERROR.

      @@ -3605,7 +3860,7 @@
      Properties
      @@ -3638,13 +3893,13 @@
      Properties
      - + -

      - handshakeProgress +

      + GET_PEERS_STATE_CHANGE

      @@ -3653,7 +3908,7 @@

      -

      Event triggered when a Peer connection establishment state has changed.

      +

      Event triggered when getPeers method retrieval state changes.

      @@ -3707,7 +3962,7 @@

      Parameters:
      -

      Event's payload.

      +

      Event's payload

      Properties
      @@ -3722,8 +3977,6 @@
      Properties
      Type - Attributes - @@ -3742,7 +3995,7 @@
      Properties
      - SkylinkConstants.HANDSHAKE_PROGRESS + SkylinkConstants.GET_PEERS_STATE @@ -3752,19 +4005,11 @@
      Properties
      - - - - - - - - -

      The current Peer connection establishment state.

      +

      The current getPeers retrieval state.

      @@ -3772,14 +4017,14 @@
      Properties
      - peerId + privilegePeerId - String + SkylinkUser.sid @@ -3789,19 +4034,11 @@
      Properties
      - - - - - - - - -

      The Peer ID.

      +

      The Users privileged Peer Id.

      @@ -3809,14 +4046,14 @@
      Properties
      - room + peerList - SkylinkRoom + Object @@ -3826,40 +4063,44 @@
      Properties
      - - - - - - - - -

      The room.

      +

      The list of Peer IDs Rooms within the same App space.

      - - +
      Properties
      + + + + + + + + + + + + + + + + + + + - + - - + + + + +
      NameTypeDescription
      error#room - Error - - - | - - - String + Array @@ -3869,22 +4110,19 @@
      Properties
      - - <optional>
      - - - - - -
      -

      The error object. - Defined only when state is ERROR.

      +

      The list of Peer IDs associated with the Room defined in #room property.

      + +
      + @@ -3936,7 +4174,7 @@
      Properties
      @@ -3969,13 +4207,13 @@
      Properties
      - + -

      - iceConnectionState +

      + HANDSHAKE_PROGRESS

      @@ -3984,9 +4222,7 @@

      -

      Learn more about how ICE works in this - article here. -Event triggered when a Peer connection ICE connection state has changed.

      +

      Event triggered when a Peer connection establishment state has changed.

      @@ -4019,14 +4255,14 @@

      Parameters:
      - state + detail - SkylinkEvents.ICE_CONNECTION_STATE + Object @@ -4040,22 +4276,42 @@
      Parameters:
      -

      The current Peer connection ICE connection state.

      +

      Event's payload.

      - - +
      Properties
      + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + @@ -4075,6 +4376,97 @@
      Parameters:
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameTypeAttributesDescription
      peerIdstate - String + SkylinkConstants.HANDSHAKE_PROGRESS @@ -4065,6 +4321,51 @@
      Parameters:
      + + + + + + +

      The current Peer connection establishment state.

      + +
      peerId + + + + String + + + + + + + + + + + + +
      room + + + + roomInfo + + + + + + + + + + + + + +

      The room.

      + +
      error + + + + Error + + + | + + + String + + + + + + + + + <optional>
      + + + + + +
      +

      The error object. +Defined only when state is ERROR.

      + +
      + + + + + + @@ -4113,7 +4505,7 @@
      Parameters:
      @@ -4146,13 +4538,13 @@
      Parameters:
      - + -

      - localMediaMuted +

      + ICE_CONNECTION_STATE

      @@ -4161,7 +4553,9 @@

      -

      Event triggered when muteStreams() method changes User Streams audio and video tracks muted status.

      +

      Learn more about how ICE works in this +article here. +Event triggered when a Peer connection ICE connection state has changed.

      @@ -4241,14 +4635,14 @@

      Properties
      - streamId + state - String + SkylinkConstants.ICE_CONNECTION_STATE @@ -4262,7 +4656,7 @@
      Properties
      -

      The muted Stream Id.

      +

      The current Peer connection ICE connection state.

      @@ -4270,14 +4664,14 @@
      Properties
      - isScreensharing + state - Boolean + String @@ -4291,39 +4685,119 @@
      Properties
      -

      The flag if the media muted was screensharing.

      +

      The Peer ID.

      - - - mediaStatus - + + - - - - JSON - + + + + - - - + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Source:
      +
      + +
      + + + + + + + +
      + + + + + + + + + + + + + + + - -

      The Peer streaming media status. This indicates the media status for both getUserMedia() Stream and shareScreen() Stream.

      - -
      Properties
      - + + + + + + + + + +

      + LOCAL_MEDIA_MUTED +

      +
      + + + + + +
      +

      Event triggered when muteStreams method changes User Streams audio and video tracks +muted +status.

      +
      + + + + + + + +
      Parameters:
      + @@ -4346,14 +4820,14 @@
      Properties
      - + - +
      Properties
      + + +
      audioMuteddetail - Boolean + Object @@ -4367,23 +4841,40 @@
      Properties
      -

      The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present - in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

      +

      Event's payload.

      -
      + + + + + + + + + + + + + + + + - + - -
      NameTypeDescription
      videoMutedstreamId - Boolean + String @@ -4397,156 +4888,51 @@
      Properties
      -

      The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present - in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

      +

      The muted Stream Id.

      + + + isScreensharing + + - - + + + Boolean + - - + - - - - - - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - -
      - - - - - - - - - - - - - - - + - - - - - - - - -

      - loggedOnConsole -

      -
      - - - - - -
      -

      Event triggered when Skylink logs to browser's console.

      -
      - - - - - - - -
      Parameters:
      - - - - - - - - - - - - - - - - - - + + - - + - + @@ -4615,14 +5002,14 @@
      Properties
      - + - - - - - - - - - - + +
      NameTypeDescription
      +

      The flag if the media muted was screensharing.

      + +
      detailmediaStatus - Object + JSON @@ -4560,7 +4946,7 @@
      Parameters:
      -

      Event's payload.

      +

      The Peer streaming media status. This indicates the media status for both getUserMedia Stream and shareScreen Stream.

      Properties
      @@ -4586,14 +4972,14 @@
      Properties
      levelaudioMuted - JSON + Boolean @@ -4607,7 +4993,8 @@
      Properties
      -

      The log level.

      +

      The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present +in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

      messagevideoMuted - String + Boolean @@ -4636,36 +5023,16 @@
      Properties
      -

      The log message.

      +

      The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present +in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

      debugObject - - - - JSON - - - - - - -
      - -

      A JavaScript object to be logged to help with analysis.

      @@ -4717,7 +5084,7 @@
      Properties
      @@ -4750,13 +5117,13 @@
      Properties
      - + -

      - mediaAccessError +

      + MEDIA_ACCESS_ERROR

      @@ -4901,7 +5268,7 @@
      Properties
      -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      +

      The flag if event occurred during shareScreen method and not getUserMedia method.

      @@ -4930,7 +5297,7 @@
      Properties
      -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      +

      The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

      @@ -4982,7 +5349,7 @@
      Properties
      @@ -5015,13 +5382,13 @@
      Properties
      - + -

      - mediaAccessFallback +

      + MEDIA_ACCESS_FALLBACK

      @@ -5351,323 +5718,8 @@
      Properties

      The expected and received audio tracks.

      -
      Properties
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      expected - - - - Number - - - - - - - -

      The expected audio tracks.

      - -
      received - - - - Number - - - - - - - -

      The received audio tracks.

      - -
      - - - - - - - - - - - - - - - - - state - - - - - - - SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE - - - - - - - - - - - - - -

      The fallback state.

      - - - - - - - - isScreensharing - - - - - - - boolean - - - - - - - - - - - - - -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      - - - - - - - - isAudioFallback - - - - - - - boolean - - - - - - - - - - - - - -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      - - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - - -

      The Stream ID. Defined only when state payload is FALLBACKED.

      - - - - - - - - - - - - - - - - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -

      - mediaAccessRequired -

      -
      - - - - - -
      -

      Event triggered when retrieval of Stream is required to complete joinRoom() method request.

      -
      - - - - - - - -
      Parameters:
      - +
      Properties
      + @@ -5690,14 +5742,14 @@
      Parameters:
      - + - -
      detailexpected - Object + Number @@ -5711,139 +5763,96 @@
      Parameters:
      -

      Event's payload.

      +

      The expected audio tracks.

      - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - - - - - - + + + received + + + + + Number + - + - - - - - - -

      - mediaAccessStopped -

      -
      - + + + + -
      -

      Event triggered when Stream has stopped streaming.

      -
      + +

      The received audio tracks.

      + + + + + + + + + + + + + + + + + + + state + + + + + + SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE + -
      Parameters:
      - + - - - - - - - + + - + - + - - - + + - - + @@ -5865,7 +5875,7 @@
      Parameters:
      - + @@ -5894,7 +5904,7 @@
      Parameters:
      - + + + + + +
      NameTypeDescription
      +

      The fallback state.

      + +
      detail.isScreensharingisScreensharing - Object + boolean @@ -5857,7 +5866,8 @@
      Parameters:
      -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      +

      The flag if event occurred during shareScreen method +and not getUserMedia method.

      detail.isAudioFallbackisAudioFallback @@ -5886,7 +5896,7 @@
      Parameters:
      -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      +

      The flag if event occurred during retrieval of audio tracks only when getUserMedia method failed to retrieve both audio and video tracks.

      detail.streamIdstreamId @@ -5915,7 +5925,15 @@
      Parameters:
      -

      The Stream ID.

      +

      The Stream ID. Defined only when state payload is FALLBACKED.

      + +
      + @@ -5959,7 +5977,7 @@
      Parameters:
      @@ -5992,13 +6010,13 @@
      Parameters:
      - + -

      - mediaAccessSuccess +

      + MEDIA_ACCESS_REQUIRED

      @@ -6007,7 +6025,7 @@

      -

      Event triggered when retrieval of Stream is successful.

      +

      Event triggered when retrieval of Stream is required to complete joinRoom method request.

      @@ -6061,127 +6079,139 @@

      Parameters:
      +

      Event's payload.

      - -
      Properties
      - + + + + + + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Source:
      +
      + +
      + + + + + + + +
      + + + - - - - - - - - - - - - - - - - - - - + - - - + - - - - - + + + + + + +

      + MEDIA_ACCESS_STOPPED +

      +
      - +
      +

      Event triggered when Stream has stopped streaming.

      +
      - - - - - - - - - - +
      NameTypeDescription
      stream - - - - MediaStream - - - - -

      The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

      - -
      isScreensharing - - - - Boolean - + - - - -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      - -
      isAudioFallback - - - - Boolean - - +
      Parameters:
      + - -
      + + + + + - + - + - - + + + + + + - + @@ -6203,7 +6233,7 @@
      Properties
      - + @@ -6232,14 +6262,14 @@
      Properties
      - + - - - - -
      NameType -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      - -
      Description
      streamIddetail.isScreensharing - String + Object @@ -6195,7 +6225,7 @@
      Properties
      -

      The Stream ID.

      +

      The flag if event occurred during shareScreen method and not jgetUserMedia method.

      isVideodetail.isAudioFallback @@ -6224,7 +6254,7 @@
      Properties
      -

      The flag if the incoming stream has a video track.

      +

      The flag if event occurred during retrieval of audio tracks only when jgetUserMedia method had failed to retrieve both audio and video tracks.

      isAudiodetail.streamId - boolean + String @@ -6253,15 +6283,7 @@
      Properties
      -

      The flag if the incoming stream has an audio track.

      - -
      - +

      The Stream ID.

      @@ -6305,7 +6327,7 @@
      Properties
      @@ -6338,13 +6360,13 @@
      Properties
      - + -

      - onDataChannelStateChanged +

      + MEDIA_ACCESS_SUCCESS

      @@ -6353,7 +6375,7 @@

      -

      Event triggered when a Datachannel connection state has changed.

      +

      Event triggered when retrieval of Stream is successful.

      @@ -6407,7 +6429,7 @@

      Parameters:
      -

      Event's payload.

      +
      Properties
      @@ -6433,43 +6455,14 @@
      Properties
      - room - - - - - - - SkylinkRoom - - - - - - - - - - - - - -

      The current room

      - - - - - - - - peerId + stream - String + MediaStream @@ -6483,7 +6476,7 @@
      Properties
      -

      The peer's id

      +

      The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

      @@ -6491,14 +6484,14 @@
      Properties
      - state + isScreensharing - SkylinkConstants.DATA_CHANNEL_STATE + Boolean @@ -6512,7 +6505,7 @@
      Properties
      -

      The current Datachannel connection state.

      +

      The flag if event occurred during shareScreen method and not getUserMedia method.

      @@ -6520,14 +6513,14 @@
      Properties
      - error + isAudioFallback - Error + Boolean @@ -6541,7 +6534,7 @@
      Properties
      -

      The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

      +

      The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

      @@ -6549,7 +6542,7 @@
      Properties
      - channelName + streamId @@ -6565,133 +6558,27 @@
      Properties
      - - - - - -

      The Datachannel ID.

      - - - - - - - - channelType - - - - - - - SkylinkConstants.DATA_CHANNEL_TYPE - - - - - - - - - - - - - -

      The Datachannel type.

      - - - - - - - - messageType - - - - - - - SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR - - - - - - - - - - - - - -

      The Datachannel sending Datachannel message error type. - Defined only when state payload is SEND_MESSAGE_ERROR.

      - - - - - - - - bufferAmount - - - - - - - Object - - - - - - - - - - - - - -

      The Datachannel - buffered amount information.

      - -
      Properties
      - - - - - - - - - - - - + - + - - - + + - - + @@ -6713,14 +6600,14 @@
      Properties
      - + - - - - -
      NameTypeDescription
      +

      The Stream ID.

      + +
      bufferedAmountisVideo - number + boolean @@ -6705,7 +6592,7 @@
      Properties
      -

      The size of currently queued data to send on the Datachannel connection.

      +

      The flag if the incoming stream has a video track.

      bufferedAmountLowThresholdisAudio - number + boolean @@ -6734,15 +6621,7 @@
      Properties
      -

      Threshold The current buffered amount low threshold configured.

      - -
      - +

      The flag if the incoming stream has an audio track.

      @@ -6794,7 +6673,7 @@
      Properties
      @@ -6827,13 +6706,13 @@
      Properties
      - + -

      - onIncomingMessage +

      + ON_INCOMING_MESSAGE

      @@ -6929,7 +6808,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -7118,10 +6997,10 @@
      Properties

      The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

      +defined in Skylink#sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

      @@ -7161,7 +7040,7 @@
      Properties

      The list of Peers that the message has been sent to. - Defined only when isSelf payload value is true.

      +Defined only when isSelf payload value is true.

      @@ -7199,9 +7078,9 @@
      Properties

      The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in - Skylink#sendP2PMessage or - Skylink#sendMessage.

      +off the targetPeerId parameter being defined in +sendP2PMessage or +sendMessage.

      @@ -7239,7 +7118,7 @@
      Properties

      The flag if message is sent from - Skylink#sendP2PMessage.

      +sendP2PMessage.

      @@ -7343,8 +7222,8 @@
      Properties

      The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

      +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

      @@ -7458,13 +7337,13 @@
      Properties
      - + -

      - onIncomingScreenStream +

      + ON_INCOMING_SCREEN_STREAM

      @@ -7473,7 +7352,7 @@

      -

      Event triggered when receving Peer Screenshare Stream.

      +

      Event triggered when receiving Peer Screenshare Stream.

      @@ -7560,7 +7439,7 @@

      Properties
      - SkylinkRoom + roomInfo @@ -7748,7 +7627,8 @@
      Properties
      -

      The flag if the incoming screenshare stream results from shareScreen() called with replaceUserMediaStream = true.

      +

      The flag if the incoming screenshare stream results from shareScreen called +with replaceUserMediaStream=true.

      @@ -7858,7 +7738,7 @@
      Properties
      @@ -7891,13 +7771,13 @@
      Properties
      - + -

      - onIncomingStream +

      + ON_INCOMING_STREAM

      @@ -7993,7 +7873,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -8353,13 +8233,13 @@
      Properties
      - + -

      - peerConnectionState +

      + PEER_CONNECTION_STATE

      @@ -8368,11 +8248,11 @@

      -

      Event triggered when a Peer connection session description exchanging state has changed. +

      Event triggered when a Peer connection session description exchanging state has changed.

      Learn more about how ICE works in this article here. -

      +

    @@ -8554,7 +8434,7 @@
    Properties
    @@ -8587,13 +8467,13 @@
    Properties
    - + -

    - peerJoined +

    + PEER_JOINED

    @@ -8603,6 +8483,11 @@

    Event triggered when a Peer joins the room.

    +
    PEER_JOINED event with isSelf=true indicates that the local peer has successfully joined the +room. All call actions should be done after the PEER_JOINED event is registered. +If MCU feature is enabled on the appKey, SERVER PEER JOINED is the +corresponding event. +
    @@ -8689,7 +8574,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -8875,13 +8760,13 @@
    Properties
    - + -

    - peerLeft +

    + PEER_LEFT

    @@ -9101,7 +8986,7 @@
    Properties
    @@ -9134,13 +9019,13 @@
    Properties
    - + -

    - peerUpdated +

    + PEER_UPDATED

    @@ -9236,7 +9121,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -9337,7 +9222,7 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -9422,13 +9307,13 @@
    Properties
    - + -

    - persistentMessageState +

    + PERSISTENT_MESSAGE_STATE

    @@ -9524,7 +9409,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -9626,8 +9511,8 @@
    Properties

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -9712,13 +9597,13 @@
    Properties
    - + -

    - readyStateChange +

    + READY_STATE_CHANGE

    @@ -9828,7 +9713,7 @@
    Properties
    -

    The current init() ready state.

    +

    The current ready state when instantiating new Skylink().

    @@ -10084,13 +9969,13 @@
    Properties
    - + -

    - recordingState +

    + RECORDING_STATE

    @@ -10349,13 +10234,13 @@
    Properties
    - + -

    - roomLock +

    + ROOM_LOCK

    @@ -10523,7 +10408,7 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -10604,7 +10489,238 @@
    Properties
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + ROOM_REJOIN +

    +
    + + + + + +
    +

    Event triggered when joinRoom can be re-initiated. This event is preceded by leaveRoom initiated by the +SDK in response to peer connection changing to FAILED state.

    +
    + + + + + + + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    detail + + + + Object + + + + + + + +

    Event's payload

    + +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    room + + + + roomInfo + + + + + + + +

    The previous room

    + +
    peerId + + + + String + + + + + + + +

    The previous peer id

    + +
    + + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    +
    @@ -10637,13 +10753,13 @@
    Properties
    - + -

    - rtmpState +

    + RTMP_STATE

    @@ -10902,13 +11018,13 @@
    Properties
    - + -

    - serverPeerJoined +

    + SERVER_PEER_JOINED

    @@ -10918,6 +11034,15 @@

    Event triggered when a server Peer joins the room.

    +
      +
    • +
      SERVER_PEER_JOINED event indicates that the MCU has successfully joined the +
    • +
    +

    room. All call actions should be done after the SERVER_PEER_JOINED event is registered. +For P2P key, PEER JOINED is the +corresponding event.

    +
    @@ -11004,7 +11129,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -11128,7 +11253,7 @@
    Properties
    @@ -11161,13 +11286,13 @@
    Properties
    - + -

    - serverPeerLeft +

    + SERVER_PEER_LEFT

    @@ -11292,7 +11417,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -11387,7 +11512,7 @@
    Properties
    @@ -11420,13 +11545,13 @@
    Properties
    - + -

    - sessionDisconnect +

    + SESSION_DISCONNECT

    @@ -11565,7 +11690,7 @@
    Properties
    -

    The User's Room session information. Object signature matches the peerInfo parameter payload received in thepeerJoined event.

    +

    The User's Room session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -11617,7 +11742,7 @@
    Properties
    @@ -11650,13 +11775,13 @@
    Properties
    - + -

    - socketError +

    + SOCKET_ERROR

    @@ -11950,13 +12075,13 @@
    Properties
    - + -

    - storedMessages +

    + STORED_MESSAGES

    @@ -12052,7 +12177,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -12143,10 +12268,10 @@
    Properties

    The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

    +defined in sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

    @@ -12281,8 +12406,8 @@
    Properties

    The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in Skylink#sendP2PMessage or Skylink#sendMessage. Value will always - be false for stored messages.

    +off the targetPeerId parameter being defined in sendP2PMessage or sendMessage. Value will always +be false for stored messages.

    @@ -12311,7 +12436,7 @@
    Properties
    -

    The flag if message is sent from Skylink#sendP2PMessage. Value will always be +

    The flag if message is sent from sendP2PMessage. Value will always be true for stored messages.

    @@ -12379,8 +12504,8 @@
    Properties

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -12494,13 +12619,13 @@
    Properties
    - + -

    - streamEnded +

    + STREAM_ENDED

    @@ -12625,7 +12750,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -12668,7 +12793,8 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received +in the PEER JOINED event.

    @@ -12898,13 +13024,13 @@
    Properties
    - + -

    - streamMuted +

    + STREAM_MUTED

    @@ -13043,7 +13169,7 @@
    Properties
    -

    The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

    +

    The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

    @@ -13211,7 +13337,7 @@
    Properties
    @@ -13244,13 +13370,13 @@
    Properties
    - + -

    - systemAction +

    + SYSTEM_ACTION

    @@ -13360,8 +13486,7 @@
    Properties
    -

    The current Signaling server reaction state. - [Rel: Skylink.SYSTEM_ACTION]

    +

    The current Signaling server reaction state.

    diff --git a/publish/2.1.2/docs/SkylinkLogger.html b/publish/2.1.3/docs/SkylinkLogger.html similarity index 72% rename from publish/2.1.2/docs/SkylinkLogger.html rename to publish/2.1.3/docs/SkylinkLogger.html index 19010df6d..7a5ef8ec8 100644 --- a/publish/2.1.2/docs/SkylinkLogger.html +++ b/publish/2.1.3/docs/SkylinkLogger.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -170,7 +170,7 @@

    @@ -479,7 +479,7 @@

    Properties:
    @@ -546,7 +546,7 @@

    @@ -613,7 +613,7 @@

    @@ -703,7 +703,7 @@

    @@ -794,7 +794,7 @@

    @@ -969,7 +969,7 @@

    Parameters:
    diff --git a/publish/2.1.2/docs/compatibility_ice-connection.js.html b/publish/2.1.3/docs/compatibility_ice-connection.js.html similarity index 50% rename from publish/2.1.2/docs/compatibility_ice-connection.js.html rename to publish/2.1.3/docs/compatibility_ice-connection.js.html index 00a78e1af..15779152f 100644 --- a/publish/2.1.2/docs/compatibility_ice-connection.js.html +++ b/publish/2.1.3/docs/compatibility_ice-connection.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -93,7 +93,10 @@

    -
    /**
    +    
    import { isAgent } from '../utils/helpers';
    +import { BROWSER_AGENT } from '../constants';
    +
    +/**
      * @description Gets TCP and UDP ports based on the browser
      * @param {Object} params
      * @param {boolean} params.forceTURNSSL
    @@ -103,8 +106,7 @@ 

    * @return {{tcp: Array, udp: Array, both: Array, iceServerProtocol: string}} */ const getConnectionPortsAndProtocolByBrowser = (params) => { - const { forceTURNSSL, CONSTANTS, serverConfig } = params; - const { AdapterJS } = window; + const { forceTURNSSL, serverConfig } = params; const connectionConfig = { tcp: serverConfig.iceServerPorts.tcp, udp: serverConfig.iceServerPorts.udp, @@ -113,24 +115,11 @@

    iceServerPorts: serverConfig.iceServerPorts, }; - if (AdapterJS.webrtcDetectedBrowser === 'edge') { - connectionConfig.tcp = []; - connectionConfig.udp = [3478]; - connectionConfig.iceServerPorts.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else if (forceTURNSSL) { - if (AdapterJS.webrtcDetectedBrowser === 'firefox' && AdapterJS.webrtcDetectedVersion < 53) { - connectionConfig.udp = []; - connectionConfig.tcp = [443]; - connectionConfig.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else { - connectionConfig.iceServerPorts.udp = []; - connectionConfig.iceServerProtocol = 'turns'; - } - } else if (AdapterJS.webrtcDetectedBrowser === 'firefox') { + if (forceTURNSSL) { + connectionConfig.iceServerPorts.udp = []; + connectionConfig.iceServerProtocol = 'turns'; + } else if (isAgent(BROWSER_AGENT.FIREFOX)) { // default configs are specific to Chrome connectionConfig.udp = [3478]; - connectionConfig.tcp = [443, 80]; connectionConfig.both = []; } diff --git a/publish/2.1.2/docs/compatibility_peer-connection.js.html b/publish/2.1.3/docs/compatibility_peer-connection.js.html similarity index 100% rename from publish/2.1.2/docs/compatibility_peer-connection.js.html rename to publish/2.1.3/docs/compatibility_peer-connection.js.html diff --git a/publish/2.1.2/docs/constants.js.html b/publish/2.1.3/docs/constants.js.html similarity index 84% rename from publish/2.1.2/docs/constants.js.html rename to publish/2.1.3/docs/constants.js.html index c362e9873..f7531acd6 100644 --- a/publish/2.1.2/docs/constants.js.html +++ b/publish/2.1.3/docs/constants.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -97,7 +97,80 @@

    /** * @namespace SkylinkConstants - * @description Constants used by SkylinkJS are described here. + * @description + * <ul> + * <li>{@link SkylinkConstants.BUNDLE_POLICY|BUNDLE_POLICY} </li> + * <li>{@link SkylinkConstants.CANDIDATE_GENERATION_STATE|CANDIDATE_GENERATION_STATE} </li> + * <li>{@link SkylinkConstants.CANDIDATE_PROCESSING_STATE|CANDIDATE_PROCESSING_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_STATE|DATA_CHANNEL_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_TYPE|DATA_CHANNEL_TYPE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR|DATA_CHANNEL_MESSAGE_ERROR} </li> + * <li>{@link SkylinkEvents|EVENTS} </li> + * <li>{@link SkylinkConstants.GET_CONNECTION_STATUS_STATE|GET_CONNECTION_STATUS_STATE} </li> + * <li>{@link SkylinkConstants.GET_PEERS_STATE|GET_PEERS_STATE} </li> + * <li>{@link SkylinkConstants.HANDSHAKE_PROGRESS|HANDSHAKE_PROGRESS} </li> + * <li>{@link SkylinkConstants.ICE_CONNECTION_STATE|ICE_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.LOG_LEVEL|LOG_LEVEL} </li> + * <li>{@link SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE|MEDIA_ACCESS_FALLBACK_STATE} </li> + * <li>{@link SkylinkConstants.MEDIA_SOURCE|MEDIA_SOURCE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATUS|MEDIA_STATUS} </li> + * <li>{@link SkylinkConstants.MEDIA_TYPE|MEDIA_TYPE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATE|MEDIA_STATE} </li> + * <li>{@link SkylinkConstants.PEER_CERTIFICATE|PEER_CERTIFICATE} </li> + * <li>{@link SkylinkConstants.PEER_CONNECTION_STATE|PEER_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE_ERROR|READY_STATE_CHANGE_ERROR} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE|READY_STATE_CHANGE} </li> + * <li>{@link SkylinkConstants.RTCP_MUX_POLICY|RTCP_MUX_POLICY} </li> + * <li>{@link SkylinkConstants.RTMP_STATE|RTMP_STATE} </li> + * <li>{@link SkylinkConstants.RECORDING_STATE|RECORDING_STATE} </li> + * <li>{@link SkylinkConstants.SDP_SEMANTICS|SDP_SEMANTICS} </li> + * <li>{@link SkylinkConstants.SERVER_PEER_TYPE|SERVER_PEER_TYPE} </li> + * <li>{@link SkylinkConstants.SOCKET_ERROR|SOCKET_ERROR} </li> + * <li>{@link SkylinkConstants.SOCKET_FALLBACK|SOCKET_FALLBACK} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION|SYSTEM_ACTION} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION_REASON|SYSTEM_ACTION_REASON} </li> + * <li>{@link SkylinkConstants.SM_PROTOCOL_VERSION|SM_PROTOCOL_VERSION} </li> + * <li>{@link SkylinkConstants.TURN_TRANSPORT|TURN_TRANSPORT} </li> + * <li>{@link SkylinkConstants.VIDEO_RESOLUTION|VIDEO_RESOLUTION} </li> + * <li>{@link SkylinkConstants.VIDEO_QUALITY|VIDEO_QUALITY} </li> + * </ul> + */ + +/** + * // Not implemented yet + * {@link SkylinkConstants.DATA_TRANSFER_DATA_TYPE|DATA_TRANSFER_DATA_TYPE} </br> + * {@link SkylinkConstants.DT_PROTOCOL_VERSION|DT_PROTOCOL_VERSION} </br> + * {@link SkylinkConstants.DATA_TRANSFER_TYPE|DATA_TRANSFER_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_SESSION_TYPE|DATA_TRANSFER_SESSION_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_STATE|DATA_TRANSFER_STATE} </br> + * {@link SkylinkConstants.DATA_STREAM_STATE|DATA_STREAM_STATE} </br> + * {@link SkylinkConstants.INTRODUCE_STATE|INTRODUCE_STATE} </br> + * {@link SkylinkConstants.REGIONAL_SERVER|REGIONAL_SERVER} </br> + * {@link SkylinkConstants.PRIORITY_WEIGHT_SCHEME|PRIORITY_WEIGHT_SCHEME} </br> + * {@link SkylinkConstants.CHUNK_FILE_SIZE|CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_CHUNK_FILE_SIZE|MOZ_CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.BINARY_FILE_SIZE|BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_BINARY_FILE_SIZE|MOZ_BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.CHUNK_DATAURL_SIZE|CHUNK_DATAURL_SIZE} </br> + * {@link SkylinkConstants.DC_PROTOCOL_TYPE|DC_PROTOCOL_TYPE} </br> + * // Private + * {@link SkylinkConstants.SIG_MESSAGE_TYPE|SIG_MESSAGE_TYPE} </br> + * {@link SkylinkConstants.AUTH_STATE|AUTH_STATE} </br> + * {@link SkylinkConstants.STREAM_STATUS|STREAM_STATUS} </br> + * {@link SkylinkConstants.GROUP_MESSAGE_LIST|GROUP_MESSAGE_LIST} </br> + * {@link SkylinkConstants.TAGS|TAGS} </br> + * {@link SkylinkConstants.TRACK_READY_STATE|TRACK_READY_STATE} </br> + * {@link SkylinkConstants.TRACK_KIND|TRACK_KIND} </br> + * {@link SkylinkConstants.MEDIA_INFO|MEDIA_INFO} </br> + * {@link SkylinkConstants.SDK_VERSION|SDK_VERSION} </br> + * {@link SkylinkConstants.SDK_NAME|SDK_NAME} </br> + * {@link SkylinkConstants.API_VERSION|API_VERSION} </br> + * {@link SkylinkConstants.SIGNALING_VERSION|SIGNALING_VERSION} </br> + * {@link SkylinkConstants.BROWSER_AGENT|BROWSER_AGENT} </br> + * {@link SkylinkConstants.PEER_TYPE|PEER_TYPE} </br> + * {@link SkylinkConstants.SOCKET_EVENTS|SOCKET_EVENTS} </br> + * {@link SkylinkConstants.SOCKET_TYPE|SOCKET_TYPE} </br> + * {@link SkylinkConstants.STATES|STATES} </br> */ /** @@ -118,12 +191,12 @@

    * @property {String} BUFFERED_AMOUNT_LOW Value <code>"bufferedAmountLow"</code> * The value of the state when Datachannel when the amount of data buffered to be sent * falls below the Datachannel threshold. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} SEND_MESSAGE_ERROR Value <code>"sendMessageError"</code> * The value of the state when Datachannel when data transfer packets or P2P message fails to send. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @constant * @type object * @readOnly @@ -146,18 +219,19 @@

    * @typedef DATA_CHANNEL_TYPE * @property {String} MESSAGING Value <code>"messaging"</code> * The value of the Datachannel type that is used only for messaging in - * {@link Skylink#sendP2PMessage}. + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * However for Peers that do not support simultaneous data transfers, this Datachannel * type will be used to do data transfers (1 at a time). * Each Peer connections will only have one of this Datachannel type and the - * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:peerConnectionState|peerConnectionStateEvent} triggers parameter payload <code>state</code> as + * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:PEER_CONNECTION_STATE|PEER CONNECTION + * STATE} event triggers parameter payload <code>state</code> as * <code>CLOSED</code> for Peer). - * @property {String} DATA Value <code>"data"</code> + * @property {String} DATA [UNAVAILABLE] Value <code>"data"</code> * The value of the Datachannel type that is used only for a data transfer in - * {@link Skylink#sendURLData} and - * {@link Skylink#sendBlobData}. + * {@link Skylink#sendURLData|sendURLData} and + * {@link Skylink#sendBlobData|sendBlobData}. * The connection will close after the data transfer has been completed or terminated (happens when - * {@link SkylinkEvents.event:dataTransferStatedataTransferStateEvent} triggers parameter payload + * {@link SkylinkEvents.event:DATA_TRANSFER_STATE|DATA TRANSFER STATE} triggers parameter payload * <code>state</code> as <code>DOWNLOAD_COMPLETED</code>, <code>UPLOAD_COMPLETED</code>, * <code>REJECTED</code>, <code>CANCEL</code> or <code>ERROR</code> for Peer). * @constant @@ -176,11 +250,11 @@

    * @typedef DATA_CHANNEL_MESSAGE_ERROR * @property {String} MESSAGE Value <code>"message"</code> * The value of the Datachannel sending message error type when encountered during - * sending P2P message from {@link Skylink#sendP2PMessage}. + * sending P2P message from {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} TRANSFER Value <code>"transfer"</code> * The value of the Datachannel sending message error type when encountered during - * data transfers from {@link Skylink#sendURLData} or - * {@link Skylink#sendBlobData}. + * data transfers from {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendBlobData|sendBlobData}. * @constant * @type object * @readOnly @@ -198,22 +272,22 @@

    * @property {String} BINARY_STRING Value <code>"binaryString"</code> * The value of data transfer data type when Blob binary data chunks encoded to Base64 encoded string are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>false</code>. * @property {String} ARRAY_BUFFER Value <code>"arrayBuffer"</code> * The value of data transfer data type when ArrayBuffer binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} BLOB Value <code>"blob"</code> * The value of data transfer data type when Blob binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} STRING Value <code>"string"</code> * The value of data transfer data type when only string data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendURLData}. + * Used only in {@link Skylink#sendURLData|sendURLData}. * @constant * @type Object * @readOnly @@ -267,10 +341,10 @@

    * @typedef DATA_TRANSFER_SESSION_TYPE * @property {String} BLOB Value <code>"blob"</code> * The value of the session type for - * {@link Skylink#sendURLData} data transfer. + * {@link Skylink#sendURLData|sendURLData} data transfer. * @property {String} DATA_URL Value <code>"dataURL"</code> * The value of the session type for - * {@link Skylink#sendBlobData} data transfer. + * {@link Skylink#sendBlobData|sendBlobData} data transfer. * @constant * @type Object * @readOnly @@ -343,6 +417,28 @@

    START_ERROR: 'startError', }; +/** + * The list of auth states. + * @typedef AUTH_STATE + * @property {String} REQUEST Value <code>"request"</code> + * The value of the state when the SDK authenticates with API. + * @property {String} SUCCESS Value <code>"success"</code> + * The value of the state when the auth request is successful. + * @property {String} ERROR Value <code>"error"</code> + * The value of the state when the auth request fails. + * @constant + * @type Object + * @readOnly + * @memberOf SkylinkConstants + * @since 2.0.0 + * @ignore + */ +export const AUTH_STATE = { + REQUEST: 'request', + SUCCESS: 'success', + ERROR: 'error', +}; + /** * The list of data streaming states. * @typedef DATA_STREAM_STATE @@ -456,7 +552,7 @@

    * @property {String} CHECKING Value <code>"checking"</code> * The value of the state when Peer connection is checking for a suitable matching pair of * ICE candidates to establish ICE connection. - * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|candidateGenerationStateEvent}. + * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|{@link SkylinkEvents.event:CANDIDATE_GENERATION_STATE|CANDIDATE GENERATION STATE} event}. * @property {String} CONNECTED Value <code>"connected"</code> * The value of the state when Peer connection has found a suitable matching pair of * ICE candidates to establish ICE connection but is still checking for a better @@ -467,7 +563,7 @@

    * The value of the state when Peer connection has found the best suitable matching pair * of ICE candidates to establish ICE connection and checking has stopped. * At this state, ICE connection is already established and audio, video and - * data streaming has already started. This may happpen after <code>CONNECTED</code>. + * data streaming has already started. This may happen after <code>CONNECTED</code>. * @property {String} FAILED Value <code>"failed"</code> * The value of the state when Peer connection ICE connection has failed. * @property {String} DISCONNECTED Value <code>"disconnected"</code> @@ -477,8 +573,6 @@

    * @property {String} CLOSED Value <code>"closed"</code> * The value of the state when Peer connection ICE connection has closed. * This happens when Peer connection is closed and no streaming can occur at this stage. - * @property {String} TRICKLE_FAILED Value <code>"trickleFailed"</code> - * The value of the state when Peer connection ICE connection has failed during trickle ICE. * @constant * @type Object * @readOnly @@ -492,7 +586,6 @@

    COMPLETED: 'completed', CLOSED: 'closed', FAILED: 'failed', - TRICKLE_FAILED: 'trickleFailed', DISCONNECTED: 'disconnected', }; @@ -575,21 +668,27 @@

    * @since 0.5.0 */ export const PEER_CONNECTION_STATE = { + // onsignalingstatechange STABLE: 'stable', HAVE_LOCAL_OFFER: 'have-local-offer', HAVE_REMOTE_OFFER: 'have-remote-offer', CLOSED: 'closed', + // onconnectionstatechange + CONNECTING: 'connecting', + FAILED: 'failed', + DISCONNECTED: 'disconnected', + CONNECTED: 'connected', }; /** * The list of {@link Skylink#getConnectionStatus} retrieval states. * @typedef GET_CONNECTION_STATUS_STATE * @property {number} RETRIEVING Value <code>0</code> - * The value of the state when {@link Skylink#getConnectionStatus} is retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} is retrieving the Peer connection stats. * @property {number} RETRIEVE_SUCCESS Value <code>1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has retrieved the Peer connection stats successfully. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has retrieved the Peer connection stats successfully. * @property {number} RETRIEVE_ERROR Value <code>-1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has failed retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has failed retrieving the Peer connection stats. * @constant * @type Object * @readOnly @@ -619,7 +718,6 @@

    */ export const SERVER_PEER_TYPE = { MCU: 'mcu', - // SIP: 'sip' }; /** @@ -749,13 +847,13 @@

    * <a href="http://support.temasys.io/support/solutions/articles/12000012342-what-is-a-privileged-key-"> * Read more about privileged App Key feature here</a>. * </blockquote> - * The list of <a href="#method_getPeers"><code>getPeers()</code> method</a> retrieval states. + * The list of <code>{@link Skylink#getPeers|getPeers}</code> method retrieval states. * @typedef GET_PEERS_STATE * @property {String} ENQUIRED Value <code>"enquired"</code> - * The value of the state when <code>getPeers()</code> is retrieving the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> is retrieving the list of Peer IDs * from Rooms within the same App space from the Signaling server. * @property {String} RECEIVED Value <code>"received"</code> - * The value of the state when <code>getPeers()</code> has retrieved the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> has retrieved the list of Peer IDs * from Rooms within the same App space from the Signaling server successfully. * @readOnly * @type Object @@ -799,7 +897,7 @@

    }; /** - * The list of Signaling server reaction states during {@link Skylink#joinRoom}. + * The list of Signaling server reaction states during {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION * @property {String} WARNING Value <code>"warning"</code> * The value of the state when Room session is about to end. @@ -821,41 +919,37 @@

    /** * The list of Signaling server reaction states reason of action code during - * {@link Skylink#joinRoom}. + * {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION_REASON * @property {String} CREDENTIALS_EXPIRED Value <code>"oldTimeStamp"</code> * The value of the reason code when Room session token has expired. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} CREDENTIALS_ERROR Value <code>"credentialError"</code> * The value of the reason code when Room session token provided is invalid. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * @property {String} DUPLICATED_LOGIN Value <code>"duplicatedLogin"</code> * The value of the reason code when Room session token has been used already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_NOT_STARTED Value <code>"notStart"</code> * The value of the reason code when Room session has not started. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} EXPIRED Value <code>"expired"</code> * The value of the reason code when Room session has ended already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_LOCKED Value <code>"locked"</code> * The value of the reason code when Room is locked. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} FAST_MESSAGE Value <code>"fastmsg"</code> * The value of the reason code when User is flooding socket messages to the Signaling server * that is sent too quickly within less than a second interval. * Happens after Room session has started. This can be caused by various methods like - * {@link Skylink#sendMessage}, - * {@link Skylink#muteStreams}, - * {@link Skylink#enableAudio}, - * {@link Skylink#enableVideo}, - * {@link Skylink#disableAudio}, - * {@link Skylink#disableVideo}, + * {@link Skylink#sendMessage|sendMessage}, + * {@link Skylink#muteStreams|muteStreams} * Results with: <code>WARNING</code> * @property {String} ROOM_CLOSING Value <code>"toClose"</code> * The value of the reason code when Room session is ending. @@ -868,12 +962,12 @@

    * Results with: <code>REJECT</code> * @property {String} SERVER_ERROR Value <code>"serverError"</code> * The value of the reason code when Room session fails to start due to some technical errors. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} KEY_ERROR Value <code>"keyFailed"</code> * The value of the reason code when Room session fails to start due to some technical error pertaining to * App Key initialization. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @constant * @type Object @@ -907,7 +1001,7 @@

    * The value of the state when <code>init()</code> has successfully authenticated with the Auth server. * Room session token is generated for joining the <codRoom</code> provided in <code>init()</code>. * Room session token has to be generated each time User switches to a different Room - * in {@link Skylink#joinRoom}. + * in {@link Skylink#joinRoom|joinRoom} method. * @property {number} ERROR Value <code>-1</code> * The value of the state when <code>init()</code> has failed authenticating with the Auth server. * @constant @@ -1045,7 +1139,7 @@

    }; /** - * The list of User's priority weight schemes for {@link Skylink#joinRoom} connections. + * The list of User's priority weight schemes for {@link Skylink#joinRoom|joinRoom} connections. * @typedef PRIORITY_WEIGHT_SCHEME * @property {String} ENFORCE_OFFERER Value <code>"enforceOfferer"</code> * The value of the priority weight scheme to enforce User as the offerer. @@ -1102,24 +1196,24 @@

    }; /** - * The list of {@link Skylink#joinRoom} socket connection failure states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection failure states. * @typedef SOCKET_ERROR * @property {number} CONNECTION_FAILED Value <code>0</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish with + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish with * the Signaling server at the first attempt. * @property {number} RECONNECTION_FAILED Value <code>-1</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish * the Signaling server after the first attempt. * @property {number} CONNECTION_ABORTED Value <code>-2</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of the first attempt in <code>CONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ABORTED Value <code>-3</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of several attempts in <code>RECONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ATTEMPT Value <code>-4</code> - * The value of the failure state when <code>joinRoom()</code> socket connection is attempting + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is attempting * to reconnect with a new port or transport after the failure of attempts in * <code>CONNECTION_FAILED</code> or <code>RECONNECTED_FAILED</code>. * @constant @@ -1137,22 +1231,22 @@

    }; /** - * The list of {@link Skylink#joinRoom} socket connection reconnection states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection reconnection states. * @typedef SOCKET_FALLBACK * @property {String} NON_FALLBACK Value <code>"nonfallback"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is at its initial state + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is at its initial state * without transitioning to any new socket port or transports yet. * @property {String} FALLBACK_PORT Value <code>"fallbackPortNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} FALLBACK_PORT_SSL Value <code>"fallbackPortSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING Value <code>"fallbackLongPollingNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using Polling transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING_SSL Value <code>"fallbackLongPollingSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using Polling transports to attempt to establish connection with Signaling server. * @constant * @type Object @@ -1171,7 +1265,7 @@

    /** * <blockquote class="info"> * Note that this is used only for SDK developer purposes.<br> - * Current version: <code>0.1.4</code> + * Current version: <code>2.1.0</code> * </blockquote> * The value of the current version of the Signaling socket message protocol. * @typedef SM_PROTOCOL_VERSION @@ -1205,13 +1299,13 @@

    * @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const VIDEO_CODEC = { AUTO: 'auto', VP8: 'VP8', H264: 'H264', VP9: 'VP9', - // H264UC: 'H264UC' }; /** @@ -1243,6 +1337,7 @@

    * @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const AUDIO_CODEC = { AUTO: 'auto', @@ -1252,12 +1347,11 @@

    G722: 'G722', PCMU: 'PCMU', PCMA: 'PCMA', - // SILK: 'SILK' }; /** * The list of available screensharing media sources configured in the - * {@link Skylink#shareScreen}. + * {@link Skylink#shareScreen|shareScreen}. * @typedef MEDIA_SOURCE * @property {String} SCREEN Value <code>"screen"</code> * The value of the option to share entire screen. @@ -1298,11 +1392,11 @@

    /** * <blockquote class="info"> - * Note that currently {@link Skylink#getUserMedia} only configures + * Note that currently {@link Skylink#getUserMedia|getUserMedia} method only configures * the maximum resolution of the Stream due to browser interopability and support. * </blockquote> * The list of <a href="https://en.wikipedia.org/wiki/Graphics_display_resolution#Video_Graphics_Array"> - * video resolutions</a> sets configured in the {@link Skylink#getUserMedia}. + * video resolutions</a> sets configured in the {@link Skylink#getUserMedia|getUserMedia} method. * @typedef VIDEO_RESOLUTION * @property {Object} QQVGA Value <code>{ width: 160, height: 120 }</code> * The value of the option to configure QQVGA resolution. @@ -1411,19 +1505,19 @@

    }; /** - * The list of {@link Skylink#getUserMedia} or - * {@link Skylink#shareScreen} Stream fallback states. + * The list of {@link Skylink#getUserMedia|getUserMedia} or + * {@link Skylink#shareScreen|shareScreen} Stream fallback states. * @typedef MEDIA_ACCESS_FALLBACK_STATE * @property {Object} FALLBACKING Value <code>0</code> - * The value of the state when <code>getUserMedia()</code> will retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method will retrieve audio track only * when retrieving audio and video tracks failed. * This can be configured by Skylink {@link initOptions} * <code>audioFallback</code> option. * @property {Object} FALLBACKED Value <code>1</code> - * The value of the state when <code>getUserMedia()</code> or <code>shareScreen()</code> - * retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> or <code>{@link Skylink#shareScreen|shareScreen}</code> + * method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. * @property {Object} ERROR Value <code>-1</code> - * The value of the state when <code>getUserMedia()</code> failed to retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method failed to retrieve audio track only * after retrieving audio and video tracks failed. * @readOnly * @constant @@ -1657,6 +1751,7 @@

    MESSAGE: 'message', GET_STORED_MESSAGES: 'getStoredMessages', STORED_MESSAGES: 'storedMessages', + RESTART: 'restart', }; export const STREAM_STATUS = { @@ -1803,6 +1898,7 @@

    MESSAGING: 'MESSAGING', ASYNC_MESSAGING: 'ASYNC MESSAGING', ENCRYPTED_MESSAGING: 'ENCRYPTED MESSAGING', + STATS: 'STATS', }; /** @@ -1908,7 +2004,7 @@

    * @memberOf SkylinkConstants * @since 2.0 */ -export const SDK_VERSION = '2.0.0'; +export const SDK_VERSION = '2.x.x'; /** * The SDK type. @@ -2034,55 +2130,6 @@

    SIGNALING: SOCKET_EVENTS, }; -/** - * @namespace SkylinkConstants.EVENTS - * @type {object} - * @property {String} ON_INCOMING_STREAM - 'onIncomingStream' - * @property {String} ON_INCOMING_SCREEN_STREAM - 'onIncomingScreenStream' - * @property {String} STREAM_ENDED - 'streamEnded' - * @property {String} PEER_UPDATED - 'peerUpdated' - * @property {String} PEER_JOINED - 'peerJoined' - * @property {String} PEER_LEFT - 'peerLeft' - * @property {String} PEER_CONNECTION_STATE - 'peerConnectionState' - * @property {String} DATA_CHANNEL_STATE - 'dataChannelState' - * @property {String} ON_INCOMING_MESSAGE - 'onIncomingMessage' - * @property {String} HANDSHAKE_PROGRESS - 'handshakeProgress' - * @property {String} SERVER_PEER_JOINED - 'serverPeerJoined' - * @property {String} SERVER_PEER_LEFT - 'serverPeerLeft' - * @property {String} CANDIDATE_PROCESSING_STATE - 'candidateProcessingState' - * @property {String} CANDIDATE_GENERATION_STATE - 'candidateGenerationState' - * @property {String} CANDIDATES_GATHERED - 'candidatesGathered' - * @property {String} ON_INCOMING_DATA - 'onIncomingData' - * @property {String} GET_PEERS_STATE_CHANGE - 'getPeersStateChange' - * @property {String} SESSION_DISCONNECT - 'sessionDisconnect' - * @property {String} STREAM_MUTED - 'streamMuted' - * @property {String} CHANNEL_OPEN - 'channelOpen' - * @property {String} CHANNEL_CLOSE - 'channelClose' - * @property {String} CHANNEL_MESSAGE - 'channelMessage' - * @property {String} CHANNEL_ERROR - 'channelError' - * @property {String} CHANNEL_RETRY - 'channelRetry' - * @property {String} SOCKET_ERROR - 'socketError' - * @property {String} SYSTEM_ACTION - 'systemAction' - * @property {String} MEDIA_ACCESS_FALLBACK - 'mediaAccessFallback' - * @property {String} MEDIA_ACCESS_REQUIRED - 'mediaAccessRequired' - * @property {String} MEDIA_ACCESS_STOPPED - 'mediaAccessStopped' - * @property {String} MEDIA_ACCESS_SUCCESS - 'mediaAccessSuccess' - * @property {String} RECORDING_STATE - 'recordingState' - * @property {String} LOCAL_MEDIA_MUTED - 'localMediaMuted' - * @property {String} MEDIA_ACCESS_ERROR - 'mediaAccessError' - * @property {String} GET_CONNECTION_STATUS_STATE_CHANGE - 'getConnectionStatusStateChange' - * @property {String} READY_STATE_CHANGE - 'readyStateChange' - * @property {String} ROOM_LOCK - 'roomLock' - * @property {String} ICE_CONNECTION_STATE - 'iceConnectionState' - * @property {String} BYE - 'bye' - * @property {String} RTMP_STATE - 'rtmpState' - * @property {String} STORED_MESSAGES - 'storedMessages' - * @property {String} ENCRYPT_SECRETS_UPDATED - 'encryptSecretsUpdated' - * @memberOf SkylinkConstants - * @constant - * @readonly - * @since 2.0 - */ export const EVENTS = SkylinkEventsConstants;

    diff --git a/publish/2.1.2/docs/features_messaging_encrypted-messaging_index.js.html b/publish/2.1.3/docs/features_messaging_encrypted-messaging_index.js.html similarity index 65% rename from publish/2.1.2/docs/features_messaging_encrypted-messaging_index.js.html rename to publish/2.1.3/docs/features_messaging_encrypted-messaging_index.js.html index 9c6394b47..c5e87f69a 100644 --- a/publish/2.1.2/docs/features_messaging_encrypted-messaging_index.js.html +++ b/publish/2.1.3/docs/features_messaging_encrypted-messaging_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -103,6 +103,7 @@

    import SkylinkError from '../../../utils/skylinkError'; import logger from '../../../logger'; import { TAGS } from '../../../constants'; +import Room from '../../../room'; const instance = {}; /** @@ -175,7 +176,7 @@

    dispatchEncryptSecretEvent() { dispatchEvent(encryptionSecretsUpdated({ - room: this.room, + room: Room.getRoomInfo(this.room.id), encryptSecrets: this.encryptSecrets, selectedSecretId: this.selectedSecretId, peerInfo: getUserInfo(this.room), diff --git a/publish/2.1.2/docs/features_rtmp_index.js.html b/publish/2.1.3/docs/features_rtmp_index.js.html similarity index 57% rename from publish/2.1.2/docs/features_rtmp_index.js.html rename to publish/2.1.3/docs/features_rtmp_index.js.html index 4a26423d2..b073fb8ad 100644 --- a/publish/2.1.2/docs/features_rtmp_index.js.html +++ b/publish/2.1.3/docs/features_rtmp_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    diff --git a/publish/2.1.2/docs/features_screen-sharing_index.js.html b/publish/2.1.3/docs/features_screen-sharing_index.js.html similarity index 68% rename from publish/2.1.2/docs/features_screen-sharing_index.js.html rename to publish/2.1.3/docs/features_screen-sharing_index.js.html index fe139382a..3aeb65d0a 100644 --- a/publish/2.1.2/docs/features_screen-sharing_index.js.html +++ b/publish/2.1.3/docs/features_screen-sharing_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -99,6 +99,7 @@

    import logger from '../../logger'; import MESSAGES from '../../messages'; import { isEmptyObj, isAString, updateReplacedStreamInState } from '../../utils/helpers'; +import { DEFAULTS } from '../../defaults'; import screenshareHelpers from './helpers/index'; import { TAGS } from '../../constants'; @@ -212,7 +213,7 @@

    startScreenCapture() { const { navigator } = window; if (navigator.mediaDevices.getDisplayMedia) { - return navigator.mediaDevices.getDisplayMedia({ video: true }) + return navigator.mediaDevices.getDisplayMedia(DEFAULTS.MEDIA_OPTIONS.SCREENSHARE) .then(stream => stream) .catch((error) => { if (error.name === 'NotAllowedError') { diff --git a/publish/2.1.2/docs/fonts/OpenSans-Bold-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-Bold-webfont.eot similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Bold-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-Bold-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-Bold-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-Bold-webfont.svg similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Bold-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-Bold-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-Bold-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-Bold-webfont.woff similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Bold-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-Bold-webfont.woff diff --git a/publish/2.1.2/docs/fonts/OpenSans-BoldItalic-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-BoldItalic-webfont.eot similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-BoldItalic-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-BoldItalic-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-BoldItalic-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-BoldItalic-webfont.svg similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-BoldItalic-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-BoldItalic-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-BoldItalic-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-BoldItalic-webfont.woff similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-BoldItalic-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-BoldItalic-webfont.woff diff --git a/publish/2.1.2/docs/fonts/OpenSans-Italic-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-Italic-webfont.eot similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Italic-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-Italic-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-Italic-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-Italic-webfont.svg similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Italic-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-Italic-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-Italic-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-Italic-webfont.woff similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Italic-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-Italic-webfont.woff diff --git a/publish/2.1.2/docs/fonts/OpenSans-Light-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-Light-webfont.eot similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Light-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-Light-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-Light-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-Light-webfont.svg similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Light-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-Light-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-Light-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-Light-webfont.woff similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Light-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-Light-webfont.woff diff --git a/publish/2.1.2/docs/fonts/OpenSans-LightItalic-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-LightItalic-webfont.eot similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-LightItalic-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-LightItalic-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-LightItalic-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-LightItalic-webfont.svg similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-LightItalic-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-LightItalic-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-LightItalic-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-LightItalic-webfont.woff similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-LightItalic-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-LightItalic-webfont.woff diff --git a/publish/2.1.2/docs/fonts/OpenSans-Regular-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-Regular-webfont.eot similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Regular-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-Regular-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-Regular-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-Regular-webfont.svg similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Regular-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-Regular-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-Regular-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-Regular-webfont.woff similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Regular-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-Regular-webfont.woff diff --git a/publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.eot old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.svg old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.ttf b/publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.ttf old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.ttf rename to publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.ttf diff --git a/publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.woff old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-Semibold-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-Semibold-webfont.woff diff --git a/publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.eot b/publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.eot old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.eot rename to publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.eot diff --git a/publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.svg b/publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.svg old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.svg rename to publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.svg diff --git a/publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf b/publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf rename to publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf diff --git a/publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.woff b/publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.woff old mode 100644 new mode 100755 similarity index 100% rename from publish/2.1.2/docs/fonts/OpenSans-SemiboldItalic-webfont.woff rename to publish/2.1.3/docs/fonts/OpenSans-SemiboldItalic-webfont.woff diff --git a/publish/2.1.2/docs/global.html b/publish/2.1.3/docs/global.html similarity index 65% rename from publish/2.1.2/docs/global.html rename to publish/2.1.3/docs/global.html index 9bb0c11a0..fc0d6f4cd 100644 --- a/publish/2.1.2/docs/global.html +++ b/publish/2.1.3/docs/global.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -209,7 +209,7 @@

    @@ -287,7 +287,7 @@

    @@ -463,7 +463,7 @@

    Properties

    The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -499,7 +499,7 @@
    Properties

    The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -710,7 +710,7 @@
    Properties

    The total number of bytes that were retransmitted for this SSRC, only including - payload bytes. This is a subset of bytesSent.

    +payload bytes. This is a subset of bytesSent.

    @@ -783,7 +783,7 @@
    Properties

    The Peer connection sending audio streaming selected codec information. - Defined as null if local session description is not available before parsing.

    +Defined as null if local session description is not available before parsing.

    Properties
    @@ -912,7 +912,7 @@
    Properties

    The Peer connection sending audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -950,8 +950,8 @@
    Properties

    The Peer connection sending audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

    @@ -989,7 +989,7 @@
    Properties

    The Peer connection sending audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1027,7 +1027,7 @@
    Properties

    The Peer connection sending audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1072,7 +1072,7 @@
    Properties

    The Peer connection audio level of the media source. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1110,7 +1110,7 @@
    Properties

    The Peer connection sending audio total duration in seconds. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1148,7 +1148,7 @@
    Properties

    The Peer connection sending audio streaming echo return loss in db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1186,8 +1186,8 @@
    Properties

    The Peer connection sending audio streaming - echo return loss enhancement db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

    +echo return loss enhancement db (decibels). +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1280,7 +1280,7 @@
    Properties

    The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -1316,7 +1316,7 @@
    Properties

    The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -1562,7 +1562,7 @@
    Properties

    The Peer connection receiving audio streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

    +Defined as 0 if it's not present in original raw statistics before parsing.

    @@ -1636,7 +1636,7 @@
    Properties

    The Peer connection receiving audio total duration in seconds. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -1674,9 +1674,9 @@
    Properties

    The Peer connection receiving audio streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

    +Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

    Properties
    @@ -1805,7 +1805,7 @@
    Properties

    The Peer connection receiving audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1843,8 +1843,8 @@
    Properties

    The Peer connection receiving audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

    @@ -1882,7 +1882,7 @@
    Properties

    The Peer connection receiving audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1920,7 +1920,7 @@
    Properties

    The Peer connection receiving audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -1965,7 +1965,7 @@
    Properties

    The Peer connection receiving audio streaming audio level. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -2047,13 +2047,13 @@
    Properties
    - + -

    - codecParams :Object +

    + customSettings :Object

    @@ -2062,9 +2062,7 @@

    -
    - Note that some of these parameters are mainly used for experimental or debugging purposes. Toggling any of - these feature may result in disruptions in connectivity.
    +

    The peer stream and data settings.

    @@ -2104,12 +2102,18 @@

    Properties:
    - video + data + + Boolean + + + | + JSON @@ -2123,8 +2127,6 @@
    Properties:
    - <optional>
    - @@ -2133,43 +2135,69 @@
    Properties:
    -

    The video codecs parameters to configure.

    - -
    Properties
    - +

    The flag if peer has any data channel connections enabled. +If isSelf value is true, this determines if user allows +data channel connections, else if value is false, this determines if peer has any active +data channel connections (where onDataChannelStateChangedEvent +triggers state as OPEN and channelType as +MESSAGING for peer) with peer.

    + + + + - - - + - + - + | - + + JSON + - + + + + + + + + + + + + + - - - + - + @@ -2191,36 +2217,51 @@
    Properties
    + + + -
    NameaudioType + + + + Boolean + - - AttributesDescription + + + + +

    The peer stream audio settings keyed by stream id. +When defined as false, it means there is no audio being sent from peer.

    +
    h264audio[streamId].stereo - JSON + Boolean @@ -2181,8 +2209,6 @@
    Properties
    - <optional>
    -
    -

    The H264 video codec parameters to configure.

    - -
    Properties
    - +

    The flag if stereo band is configured +when encoding audio codec is OPUS for receiving audio data.

    +
    - - + - + - + - - + + + + + + + + + + - - - + - + @@ -2260,14 +2298,14 @@
    Properties
    - + @@ -2289,13 +2325,8 @@
    Properties
    @@ -2303,14 +2334,20 @@
    Properties
    - + @@ -2332,20 +2367,8 @@
    Properties
    - - - - -
    Nameaudio[streamId].echoCancellationType + + + + Boolean + - - AttributesDescription + + + + +

    The flag if echo cancellation is enabled for audio tracks.

    +
    profileLevelIdaudio[streamId].deviceId @@ -2249,10 +2290,7 @@
    Properties
    -

    - Note that this parameter should only be used for debugging purposes only.
    - The H264 video codec base16 encoded string which indicates the H264 baseline, main, or the extended profiles. - When not provided, the default browser configuration is used.

    +

    The peer stream audio track source id of the device used.

    levelAsymmetryAllowedaudio[streamId].exactConstraints - boolean + Boolean @@ -2279,8 +2317,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this is an experimental parameter which may result in connectivity issues when toggled.
    - The flag if streaming H264 sending video data should be encoded at a different level - from receiving video data from Peer encoding to User when Peer is the offerer. - If Peer is the offerer instead of the User, the Peer's peerInfo.config.priorityWeight will be - higher than User's peerInfo.config.priorityWeight. - When not provided, the default browser configuration is used.

    +

    The flag if peer stream audio track is sending exact +requested values of audio.deviceId when provided.

    packetizationModevideo - number + Boolean + + + | + + + JSON @@ -2322,8 +2359,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this is an experimental parameter which may result in connectivity issues when enabled. It is - advisable to turn off this feature off when receiving H264 decoders do not support the packetization mode, - which may result in a blank receiving video stream.
    - The flag to enable H264 video codec packetization mode, which splits video frames that are larger - for a RTP packet into RTP packet chunks. - When not provided, the default browser configuration is used.

    -
    - +

    The peer stream video settings keyed by stream id. +When defined as false, it means there is no video being sent from peer.

    @@ -2353,7 +2376,7 @@
    Properties
    - vp8 + video[streamId].resolution @@ -2382,7 +2405,8 @@
    Properties
    -

    The VP8 video codec parameters to configure.

    +

    The peer stream video resolution. +[Rel: VIDEO_RESOLUTION]

    Properties
    @@ -2397,8 +2421,6 @@
    Properties
    Type - Attributes - @@ -2411,14 +2433,20 @@
    Properties
    - maxFr + width - number + Number + + + | + + + JSON @@ -2428,23 +2456,14 @@
    Properties
    - - - <optional>
    - - - - - -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of fps (frames per second) that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

    +

    The peer stream video resolution width or +video resolution width settings. +When defined as a JSON Object, it is the user set resolution width settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    @@ -2452,14 +2471,20 @@
    Properties
    - maxFs + height - number + Number + + + | + + + JSON @@ -2469,27 +2494,14 @@
    Properties
    - - - <optional>
    - - - - - -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of frame size macroblocks that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

    +

    The peer stream video resolution height or +video resolution height settings. +When defined as a JSON Object, it is the user set resolution height settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    @@ -2504,12 +2516,18 @@
    Properties
    - vp9 + video[streamId].frameRate + + Number + + + | + JSON @@ -2533,43 +2551,25 @@
    Properties
    -

    The VP9 video codec parameters to configure.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The peer stream video +frameRate per second (fps) or video frameRate settings. +When defined as a JSON Object, it is the user set frameRate settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    + - - - + - + @@ -2591,11 +2589,7 @@
    Properties
    @@ -2603,14 +2597,14 @@
    Properties
    - + - -
    NameTypeAttributesDescription
    maxFrvideo[streamId].screenshare - number + Boolean @@ -2581,8 +2581,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of fps (frames per second) that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

    +

    The flag if peer stream is a screensharing stream.

    maxFsvideo[streamId].deviceId - number + String @@ -2632,29 +2626,45 @@
    Properties
    -

    - Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
    - The maximum number of frame size macroblocks that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

    +

    The peer stream video track source id of the device used.

    + + + video[streamId].exactConstraints + + + + + + + Boolean + + + + + + + + + + + + + - + - - - + + +

    The flag if peer stream video track is sending exact +requested values of video.resolution, +video.frameRate and video.deviceId +when provided.

    @@ -2662,12 +2672,18 @@
    Properties
    - audio + video[streamId].facingMode + + String + + + | + JSON @@ -2691,43 +2707,24 @@
    Properties
    -

    The audio codecs parameters to configure.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The peer stream video camera facing mode. +When defined as a JSON Object, it is the user set facingMode settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

    + - - - + - + @@ -2749,9 +2744,7 @@
    Properties
    - + @@ -2818,14 +2810,14 @@
    Properties
    - + @@ -2856,14 +2847,14 @@
    Properties
    - + + + + + +
    NameTypeAttributesDescription
    opusmaxBandwidth - JSON + Object @@ -2739,8 +2736,6 @@
    Properties
    - <optional>
    -
    -

    - Note that this is only applicable to OPUS audio codecs with a sampling rate of 48000 Hz (hertz). -
    The OPUS audio codec parameters to configure.

    +

    The maximum streaming bandwidth sent from peer.

    Properties
    @@ -2780,14 +2773,14 @@
    Properties
    stereoaudio - boolean + Number @@ -2809,8 +2802,7 @@
    Properties
    -

    The flag if OPUS audio codec is able to decode or receive stereo packets. - When not provided, the default browser configuration is used.

    +

    The maximum audio streaming bandwidth sent from peer.

    sprop-stereovideo - boolean + Number @@ -2847,8 +2839,7 @@
    Properties
    -

    The flag if OPUS audio codec is sending stereo packets. - When not provided, the default browser configuration is used.

    +

    The maximum video streaming bandwidth sent from peer.

    usedtxdata - boolean + Number @@ -2885,13 +2876,14 @@
    Properties
    -

    - Note that this feature might not work depending on the browser support and implementation.
    - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

    +

    The maximum data streaming bandwidth sent from peer.

    +
    + @@ -2899,14 +2891,14 @@
    Properties
    - useinbandfec + mediaStatus - boolean + Object @@ -2918,8 +2910,6 @@
    Properties
    - <optional>
    - @@ -2928,27 +2918,41 @@
    Properties
    -

    - Note that this parameter should only be used for debugging purposes only.
    - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

    - +

    The peer streaming media status.

    + +
    Properties
    + + + + + + + + + + + + + + + + + - + + - + - - - - - - -
    NameTypeDescription
    maxplaybackrateaudioMuted - number + Boolean @@ -2958,39 +2962,14 @@
    Properties
    - - <optional>
    - - - -
    -

    - Note that this parameter should only be used for debugging purposes only.
    - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

    -
    - - - - - - - - +

    The value of the audio status. +If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present +in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. +

    @@ -2998,14 +2977,14 @@
    Properties
    - minptime + videoMuted - number + Boolean @@ -3015,24 +2994,21 @@
    Properties
    - - - <optional>
    - - - - - -

    - Note that this parameter should only be used for debugging purposes only.
    - The OPUS audio codec receiving audio data decoder minimum length of time in milleseconds should be - encapsulated in a single received encoded audio data packet. - This value must be between 3 to 120 - When not provided, the default browser configuration is used.

    +

    The value of the video status. +If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present +in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. +

    + + + + + + + @@ -3074,7 +3050,7 @@
    Properties
    @@ -3107,13 +3083,13 @@
    Properties
    - + -

    - customSettings :Object +

    + dataChannelInfo :Object

    @@ -3156,14 +3132,14 @@
    Properties:
    - settings + channelName - Object + String @@ -3177,47 +3153,22 @@
    Properties:
    -

    The peer stream and data settings.

    - -
    Properties
    - - - - - - - - - - - - - - - - +

    The data channel id.

    + - - - + - + @@ -3244,20 +3190,14 @@
    Properties
    - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    datachannelProp - Boolean - - - | - - - JSON + String @@ -3231,12 +3182,7 @@
    Properties
    -

    The flag if peer has any data channel connections enabled. - If isSelf value is true, this determines if user allows - data channel connections, else if value is false, this determines if peer has any active - data channel connections (where onDataChannelStateChangedEvent - triggers state as OPEN and channelType as - MESSAGING for peer) with peer.

    +

    The data channel property.

    audiochannelType - Boolean - - - | - - - JSON + String @@ -3271,47 +3211,22 @@
    Properties
    -

    The peer stream audio settings. - When defined as false, it means there is no audio being sent from peer. - When defined as true, the settings.audio.stereo value is - considered as false and the settings.audio.exactConstraints - value is considered as false.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The data channel type.

    + - - - + - + - - @@ -3340,14 +3250,14 @@
    Properties
    - + - - @@ -3381,14 +3281,14 @@
    Properties
    - + - - @@ -3422,14 +3310,14 @@
    Properties
    - + - - @@ -3463,14 +3339,14 @@
    Properties
    - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    stereocurrentTransferId - Boolean + String @@ -3321,18 +3236,13 @@
    Properties
    - - - - -

    The flag if stereo band is configured - when encoding audio codec is OPUS for receiving audio data.

    +

    The data channel connection +current progressing transfer session. Defined as null when there is +currently no transfer session progressing on the data channel connection

    usedtxcurrentStreamId - Boolean + String @@ -3357,23 +3267,13 @@
    Properties
    - - <optional>
    - - - -
    -

    Note that this feature might not work depending on the browser support and implementation. - The flag if DTX (Discontinuous Transmission) is configured when encoding audio codec - is OPUS for sending audio data. - This might help to reduce bandwidth it reduces the bitrate during silence or background noise. - When not defined, the default browser configuration is used.

    +

    The data channel connection +current data streaming session id. Defined as null when there is currently +no data streaming session on the data channel connection.

    useinbandfecreadyState - Boolean + String @@ -3398,23 +3298,11 @@
    Properties
    - - <optional>
    - - - -
    -

    Note that this feature might not work depending on the browser support and implementation. - The flag if capability to take advantage of in-band FEC (Forward Error Correction) is - configured when encoding audio codec is OPUS for sending audio data. - This might help to reduce the harm of packet loss by encoding information about the previous packet. - When not defined, the default browser configuration is used.

    +

    The data channel connection readyState.

    maxplaybackratebufferedAmountLow - Number + String @@ -3439,23 +3327,11 @@
    Properties
    - - <optional>
    - - - -
    -

    Note that this feature might not work depending on the browser support and implementation. - The maximum output sampling rate rendered in Hertz (Hz) when encoding audio codec is - OPUS for sending audio data. - This value must be between 8000 to 48000. - When not defined, the default browser configuration is used.

    +

    The data channel buffered amount.

    echoCancellationbufferedAmountLowThreshold - Boolean + String @@ -3480,4119 +3356,116 @@
    Properties
    - - - - -

    The flag if echo cancellation is enabled for audio tracks.

    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    -

    The peer stream navigator.getUserMedia() API - audio: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    -

    The peer stream audio track source id of the device used.

    -
    exactConstraints - - - - Boolean - - - - - - - - - - - -

    The flag if peer stream audio track is sending exact - requested values of settings.audio.deviceId when provided.

    -
    - -
    video - - - - Boolean - - - | - - - JSON - - - - - - - -

    The peer stream video settings. - When defined as false, it means there is no video being sent from peer. - When defined as true, the settings.video.screenshare value is - considered as false and the settings.video.exactConstraints - value is considered as false.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    resolution - - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video resolution. - [Rel: VIDEO_RESOLUTION]

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    width - - - - Number - - - | - - - JSON - - - - - - - -

    The peer stream video resolution width or - video resolution width settings. - When defined as a JSON Object, it is the user set resolution width settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    height - - - - Number - - - | - - - JSON - - - - - - - -

    The peer stream video resolution height or - video resolution height settings. - When defined as a JSON Object, it is the user set resolution height settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    - -
    frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video - frameRate per second (fps) or video frameRate settings. - When defined as a JSON Object, it is the user set frameRate settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    screenshare - - - - Boolean - - - - - - - - - - - -

    The flag if peer stream is a screensharing stream.

    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    -

    The peer stream navigator.getUserMedia() API - video: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video track source id of the device used.

    -
    exactConstraints - - - - Boolean - - - - - - - - - - - -

    The flag if peer stream video track is sending exact - requested values of settings.video.resolution, - settings.video.frameRate and settings.video.deviceId - when provided.

    -
    facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The peer stream video camera facing mode. - When defined as a JSON Object, it is the user set facingMode settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

    -
    - -
    bandwidth - - - - Object - - - - - - - -

    The maximum streaming bandwidth sent from peer.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    audio - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum audio streaming bandwidth sent from peer.

    -
    video - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum video streaming bandwidth sent from peer.

    -
    data - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum data streaming bandwidth sent from peer.

    -
    - -
    googleXBandwidth - - - - Object - - - - - - - -

    Note that this feature might not work depending on the browser support and implementation, - and its properties and values are only defined for user's end and cannot be viewed - from peer's end (when isSelf value is false). - The experimental google video streaming bandwidth sent to peers.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    min - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The minimum experimental google video streaming bandwidth sent to peers.

    -
    max - - - - Number - - - - - - - - - <optional>
    - - - -
    -

    The maximum experimental google video streaming bandwidth sent to peers.

    -
    - -
    - - - - - - - - - mediaStatus - - - - - - - Object - - - - - - - - - - - - - -

    The peer streaming media status.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    audioMuted - - - - Boolean - - - - - - - -

    The value of the audio status. - If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present - in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. -

    -
    videoMuted - - - - Boolean - - - - - - - -

    The value of the video status. - If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present - in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. -

    -
    - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - dataChannelInfo :Object -

    -
    - - - - - - - - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    channelName - - - - String - - - - - - - -

    The data channel id.

    -
    channelProp - - - - String - - - - - - - -

    The data channel property.

    -
    channelType - - - - String - - - - - - - -

    The data channel type.

    -
    currentTransferId - - - - String - - - - - - - -

    The data channel connection - current progressing transfer session. Defined as null when there is - currently no transfer session progressing on the data channel connection

    -
    currentStreamId - - - - String - - - - - - - -

    The data channel connection - current data streaming session id. Defined as null when there is currently - no data streaming session on the data channel connection.

    -
    readyState - - - - String - - - - - - - -

    The data channel connection readyState.

    -
    bufferedAmountLow - - - - String - - - - - - - -

    The data channel buffered amount.

    -
    bufferedAmountLowThreshold - - - - String - - - - - - - -

    The data channel - buffered amount threshold.

    -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - GetUserMediaOptions :Object -

    -
    - - - - - -
    -

    The camera Stream configuration options.

    -
    - - - - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    options.useExactConstraints - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Note that by enabling this flag, exact values will be requested when retrieving camera Stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support. - The flag if getUserMedia() should request for camera Stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

    -
    options.audio - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation. - The audio configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    stereo - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting. - The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

    -
    usedtx - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation. - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

    -
    useinbandfec - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only. - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

    -
    maxplaybackrate - - - - number - - - - - - - - - <optional>
    - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only. - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

    -
    mute - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if audio tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - true and mutes any existing - shareScreen() Stream audio tracks as well.

    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    - - -

    This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the audio track, - use options.audio.deviceId instead. - The navigator.getUserMedia() API audio: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    - - -

    Note this is currently not supported in Firefox browsers. - The audio track source ID of the device to use. - The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

    -
    echoCancellation - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones. The flag to enable echo cancellation for audio track.

    -
    - -
    options.video - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - false - - -

    Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode. - The video configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    mute - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if video tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, - but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - true and mutes any existing - shareScreen() Stream video tracks as well.

    -
    resolution - - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: Skylink.VIDEO_RESOLUTION]

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    width - - - - number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The video resolution width.

    -
      -
    • When provided as a number, it is the video resolution width.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    -
    height - - - - number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    -

    The video resolution height.

    -
      -
    • When provided as a number, it is the video resolution height.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    -
    - -
    frameRate - - - - number - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    The video - frameRate per second (fps).

    -
      -
    • When provided as a number, it is the video framerate.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    -
    optional - - - - Array - - - - - - - - - <optional>
    - - - -
    - - -

    This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the video track, - use options.video.deviceId instead. - The navigator.getUserMedia() API video: { optional [..] } property.

    -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - -
    - - -

    Note this is currently not supported in Firefox browsers. - The video track source ID of the device to use. - The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

    -
    facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    The video camera facing mode. - The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

    -
    - -
    callback - - - - function - - - - - - - - - <optional>
    - - - -
    - - -

    The callback function fired when request has completed. - Function parameters signature is function (error, success) - Function request completion is determined by the - mediaAccessSuccess event triggering isScreensharing parameter - payload value as false for request success.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    error - - - - Error - - - | - - - String - - - - - - - -

    The error result in request. - Defined as null when there are no errors in request - Object signature is the getUserMedia() error when retrieving camera Stream.

    -
    success - - - - MediaStream - - - - - - - -

    The success result in request. - Defined as null when there are errors in request - Object signature is the camera Stream object.

    -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - initOptions :Object -

    -
    - - - - - -
    -
    - When provided as a string, it's configured as appKey.
    -
    - - - - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + - + - - + - -
    NameTypeAttributesDefaultDescription
    appKey - - - - String - - - - - - - - - - - - - -

    The App Key. By default, Skylink uses HTTP CORS - authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to - use credential based authentication. See the Persistent Room article - for more information.

    -
    defaultRoom - - - - String - - - - - - - - - <optional>
    - - - -
    - - appKey - - -

    The default Room to connect to when no room parameter - is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. - The Room that User will be connected to is the defaultRoom provided.

    -
    roomServer - - - - String - - - - - - - - - <optional>
    - - - -
    - - -

    The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

    -
    enableStatsGathering - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    Configure the anonymous performance and connectivity statistic collection function. - Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. - This data does not contain any personal information or session content. - To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

    -
    enableDataChannel - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if Datachannel connections should be enabled.

    -
    - Note that for Edge browsers, this value is overriden as false due to its supports. - This is required to be enabled for Skylink#sendBlobData, Skylink#sendURLData and Skylink#sendP2PMessage. -
    -
    enableTURNServer - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if TURN ICE servers should - be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

    -
    enableSTUNServer - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if STUN ICE servers should - be used when constructing Peer connections to allow TURN connections when required.

    -
    forceTURN - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if Peer connections should enforce - connections over the TURN server. -

    This overrides enableTURNServer value to true and - enableSTUNServer value to false, filterCandidatesType.host - value to true, filterCandidatesType.srflx value to true and - filterCandidatesType.relay value to false. - Note that currently for MCU enabled Peer connections, the filterCandidatesType - configuration is not honoured as Peers connected with MCU is similar as a forced TURN connection. The flags - will act as if the value is false and ICE candidates will never be filtered regardless of the - filterCandidatesType configuration.

    -
    TURNServerTransport - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that configuring the protocol may not necessarily result in the desired network transports protocol - used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing - the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. - Note that for Edge browsers, this value is overriden as UDP due to its supports. -
    The option to configure the ?transport= - query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. - Skylink.TURN_TRANSPORT

    -
    disableVideoFecCodecs - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    - Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled, - and to prevent connectivity issues, these codecs will not be removed for MCU enabled Peer connections. -
    The flag if video FEC (Forward Error Correction) - codecs like ulpfec and red should be removed in sending session descriptions. - This can be useful for debugging purposes to prevent redundancy and overheads in RTP encoding.

    -
    disableComfortNoiseCodec - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    - Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled. -
    The flag if audio - Comfort Noise (CN) codec should be removed - in sending session descriptions. - This can be useful for debugging purposes to test preferred audio quality and feedback.

    -
    disableREMB - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    - Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled.
    - The flag if video REMB feedback packets should be disabled in sending session descriptions.

    -
    credentials - - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that we strongly recommend developers to return the credentials.duration, - credentials.startDateTime and defaultRoom and generate the - credentials.credentials from a web server as secret shouldn't be exposed on client web app as - it poses a security risk itself.
    - The credentials used for authenticating App Key with - credentials to retrieve the Room session token used for connection in Skylink#joinRoom. - Note that switching of Rooms is not allowed when using credentials based authentication, unless - init() is invoked again with a different set of credentials followed by invoking - the Skylink#joinRoom.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    startDateTime - - - - String - - - - - - - -

    The credentials User session in Room starting DateTime - in ISO 8601 format.

    -
    duration - - - - number - - - - - - - -

    The credentials User session in Room duration in hours.

    -
    credentials - - - - String - - - - - - - -

    The generated credentials used to authenticate - the provided App Key with its "secret" property. -

    To generate the credentials:
      -
    1. Concatenate a string that consists of the Room name you provide in the defaultRoom, - the credentials.duration and the credentials.startDateTime. - Example: var concatStr = defaultRoom + "" + duration + "" + startDateTime;
    2. -
    3. Hash the concatenated string with the App Key "secret" property using - SHA-1. - Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); - See the CryptoJS.HmacSHA1 library.
    4. -
    5. Encode the hashed string using base64 - Example: var b64Str = hash.toString(CryptoJS.enc.Base64); - See the CryptoJS.enc.Base64 library.
    6. -
    7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. - Example: var credentials = encodeURIComponent(base64String); - See encodeURIComponent() API.

    -
    - -
    audioFallback - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when - retrieving audio and video Stream fails.

    -
    forceSSL - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - true - - -

    The flag if HTTPS connections should be enforced - during request to Auth server and socket connections to Signaling server - when accessing window.location.protocol value is "http:". - By default, "https:" protocol connections uses HTTPS connections.

    -
    audioCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as OPUS due to its supports.
    - The option to configure the preferred audio codec to use to encode sending audio data when available for Peer connection.

    -
      -
    • When not provided, its value is AUTO. -[Rel: Skylink.AUDIO_CODEC]
    • -
    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    codec - - - - String - - - - - - - - - - - -

    The audio codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.AUDIO_CODEC]

    -
    samplingRate - - - - number - - - - - - - - - <optional>
    - - - -
    -

    The audio codec sampling to prefer to encode sending audio data when available.

    -
    channels - - - - number - - - - - - - - - <optional>
    - - - -
    -

    The audio codec channels to prefer to encode sending audio data when available.

    -
    - -
    videoCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - -
    - - -

    - Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as H264 due to its supports.
    - The option to configure the preferred video codec to use to encode sending video data when available for Peer connection.

    -
      -
    • When not provided, its value is AUTO. -[Rel: Skylink.VIDEO_CODEC]
    • -
    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
    NameTypeAttributesDescription
    codec - - - - String - - - - - - - - - - - -

    The video codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.VIDEO_CODEC]

    +

    The data channel +buffered amount threshold.

    -
    samplingRate - - - - number - - +
    - -
    - - <optional>
    - + - -
    -

    The video codec sampling to prefer to encode sending video data when available.

    -
    - - + - - - socketTimeout - + - - - - - number - + - + + - - + +
    Source:
    +
    + +
    + - - - - <optional>
    - + - - - + - - - - 7000 - - - + +

    - -

    The timeout for each attempts for socket connection - with the Signaling server to indicate that connection has timed out and has failed to establish. - Note that the minimum timeout value is 5000. If less, this value will be 5000. - Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting - using Polling transports to prevent connection errors.

    - - - - - - apiTimeout - - - - - - number - - - - - - - - <optional>
    - - - - - - - - 4000 - - - - -

    The timeout to wait for response from Auth server.

    - - - - - - forceTURNSSL - - - - boolean - - + - - + + + + + + +

    + getUserMediaOptions :Object +

    +
    - - - - <optional>
    - + - - - - - - - false - - - - -

    - Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, - TURN ICE servers using port 443 will be used instead. - Note that for Edge browsers, this value is overriden as false due to its supports and - only port 3478 is used.
    - The flag if TURNS protocol should be used when enableTURNServer is enabled.

    - - +
    +

    The camera Stream configuration options.

    +
    - - - - filterCandidatesType - - - - - - JSON - - - - - - - - <optional>
    - - - - - - - - - - -

    - Note that this a debugging feature and there might be connectivity issues when toggling these flags. -
    The configuration options to filter the type of ICE candidates sent and received.

    - -
    Properties
    - +
    Properties:
    + + @@ -7613,57 +3486,14 @@
    Properties
    - - - - - - - - - - - - - - - - - - - - - - + - + + - + @@ -7706,7 +3543,7 @@
    Properties
    - + - - - - - - - - - - - - - - -
    Description
    host - - - - boolean - - - - - - - - - <optional>
    - - - -
    - - false - - -

    The flag if local network ICE candidates should be filtered out.

    -
    srflxuseExactConstraints @@ -7698,7 +3528,14 @@
    Properties
    -

    The flag if STUN ICE candidates should be filtered out.

    +

    Note that by enabling this flag, exact values will be requested when retrieving camera Stream, +but it does not prevent constraints related errors. By default when not enabled, +expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related +errors, with an exception for video.frameRate option in Safari and IE (any plugin-enabled) browsers, +where the expected maximum value will not be requested due to the lack of support. +The flag if getUserMedia() should request for camera Stream to match exact requested values of +audio.deviceId and video.deviceId, video.resolution +and video.frameRate when provided.

    relayaudio @@ -7716,52 +3553,8 @@
    Properties
    boolean - - - - -
    - - <optional>
    - - - -
    - - false - - -

    The flag if TURN ICE candidates should be filtered out.

    -
    - - - - - - - - - throttleIntervals - + | - - - JSON @@ -7785,11 +3578,13 @@
    Properties
    + false + -

    The configuration options to configure the throttling method timeouts.

    +

    The audio configuration options.

    Properties
    @@ -7820,14 +3615,14 @@
    Properties
    - shareScreen + mute - number + boolean @@ -7849,14 +3644,16 @@
    Properties
    - 10000 + false -

    The interval timeout for - Skylink#shareScreen throttling in milliseconds.

    +

    The flag if audio tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, +but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to +true and mutes any existing screen share audio tracks as well.

    @@ -7864,14 +3661,14 @@
    Properties
    - getUserMedia + deviceId - number + String @@ -7893,14 +3690,15 @@
    Properties
    - 0 - -

    The interval timeout for - Skylink#getUserMedia throttling in milliseconds.

    +

    Note this is currently not supported in Firefox browsers. +The audio track source ID of the device to use. +The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

    @@ -7908,14 +3706,14 @@
    Properties
    - refreshConnection + echoCancellation - number + boolean @@ -7937,15 +3735,15 @@
    Properties
    - 5000 + true -

    -
    The interval timeout for Skylink#refreshConnection throttling in milliseconds. - Note that there will be no throttling when Skylink#refreshConnection is called internally.

    +

    For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible +feedback. It is recommended to use headphones or other microphone devices rather than the device +in-built microphones. The flag to enable echo cancellation for audio track.

    @@ -7960,7 +3758,7 @@
    Properties
    - throttleShouldThrowError + video @@ -7970,54 +3768,10 @@
    Properties
    boolean - - - - - - - - - - <optional>
    - - - - - - - - - - false - - - - - -

    The flag if throttled methods should throw errors when - method is invoked less than the interval timeout value configured in throttleIntervals.

    - - - - - - - - iceServer - - - - - - - String - - | - Array + JSON @@ -8039,15 +3793,13 @@
    Properties
    + false + -

    The ICE servers for debugging purposes to use.

    -
      -
    • When defined as string, the value is considered as [iceServer]. -Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • -
    +

    The video configuration options.

    Properties
    @@ -8066,6 +3818,8 @@
    Properties
    + Default + Description @@ -8076,14 +3830,14 @@
    Properties
    - #index + mute - String + boolean @@ -8103,16 +3857,18 @@
    Properties
    - - -

    The ICE server url for debugging purposes to use.

    + + + false + - - - - - + + +

    The flag if video tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, +but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to +true and mutes any existing screen share video tracks as well.

    @@ -8120,18 +3876,12 @@
    Properties
    - socketServer + resolution - - String - - - | - JSON @@ -8159,11 +3909,10 @@
    Properties
    -

    The Signaling server for debugging purposes to use.

    -
      -
    • When defined as string, the value is considered as { url: socketServer }. -Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • -
    +

    The video resolution. +By default, VGA resolution option +is selected when not provided. +[Rel: Skylink.VIDEO_RESOLUTION]

    Properties
    @@ -8192,14 +3941,20 @@
    Properties
    - url + width - String + number + + + | + + + JSON @@ -8211,6 +3966,8 @@
    Properties
    + <optional>
    + @@ -8219,7 +3976,14 @@
    Properties
    -

    The Signaling server URL for debugging purposes to use.

    +

    The video resolution width.

    +
      +
    • When provided as a number, it is the video resolution width.
    • +
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. +Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, +"min" for min video resolution width and "max" for max video resolution width. +Note that this may result in constraints related errors depending on the browser/hardware supports.
    • +
    @@ -8227,14 +3991,20 @@
    Properties
    - ports + height - Array + number + + + | + + + JSON @@ -8256,42 +4026,91 @@
    Properties
    -

    The list of Signaling server ports for debugging purposes to use. - If not defined, it will use the default list of ports specified.

    - -
    Properties
    - +

    The video resolution height.

    +
      +
    • When provided as a number, it is the video resolution height.
    • +
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. +Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, +"min" for min video resolution height and "max" for max video resolution height. +Note that this may result in constraints related errors depending on the browser/hardware supports.
    • +
    + + + + + + + + + + + - - - + - + + + + + + + + + + + + + + + + - - - + - + + - - - - - -
    NameframeRateType + + + + number + - + | - + + JSON + - Description + + <optional>
    + + + +
    + + +

    The video +frameRate per second (fps).

    +
      +
    • When provided as a number, it is the video framerate.
    • +
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. +Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, +"min" for min video framerate and "max" for max video framerate. +Note that this may result in constraints related errors depending on the browser/hardware supports.
    • +
    +
    #indexdeviceId - number + String @@ -8301,18 +4120,27 @@
    Properties
    + + <optional>
    + + +
    -

    The Signaling server port to fallback and use for debugging purposes.

    + +
    +
    + + +

    Note this is currently not supported in Firefox browsers. +The video track source ID of the device to use. +The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

    @@ -8320,7 +4148,7 @@
    Properties
    - protocol + facingMode @@ -8330,6 +4158,12 @@
    Properties
    String + | + + + JSON + + @@ -8347,10 +4181,15 @@
    Properties
    + + + + -

    The Signaling server protocol for debugging purposes to use. - If not defined, it will use the default protocol specified.

    +

    The video camera facing mode. +The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

    @@ -8365,14 +4204,14 @@
    Properties
    - codecParams + callback - codecParams + function @@ -8398,22 +4237,51 @@
    Properties
    -

    The audio and video codecs parameters to configure.

    - +

    The callback function fired when request has completed. +Function parameters signature is function (error, success) +Function request completion is determined by the +mediaAccessSuccess event triggering isScreensharing parameter +payload value as false for request success.

    + +
    Properties
    + + + + + + + + + + + + + + + + + - + + - + - - - - @@ -8449,14 +4305,14 @@
    Properties
    - + - - - - + + + + +
    NameTypeDescription
    beSilentOnStatsLogserror - boolean + Error + + + | + + + String @@ -8423,25 +4291,13 @@
    Properties
    - - <optional>
    - - - -
    - - false - - -

    The flag if error logs triggered by the statistics module should be silent.

    +

    The error result in request. +Defined as null when there are no errors in request +Object signature is the getUserMedia() error when retrieving camera Stream.

    beSilentOnParseLogssuccess - boolean + MediaStream @@ -8466,25 +4322,20 @@
    Properties
    - - <optional>
    - - -
    - - false - + +

    The success result in request. +Defined as null when there are errors in request +Object signature is the camera Stream object.

    - -

    The flag if media and codec parsing logs should be silent.

    @@ -8526,7 +4377,7 @@
    Properties
    @@ -8559,13 +4410,13 @@
    Properties
    - + -

    - joinRoomOptions :Object +

    + initOptions :Object

    @@ -8574,7 +4425,8 @@

    -

    The Room session configuration options.

    +
    + When provided as a string, it's configured as appKey.
    @@ -8607,23 +4459,152 @@

    Properties:
    Default - Description + Description + + + + + + + + + appKey + + + + + + + String + + + + + + + + + + + + + + + + + + + + + + + +

    The App Key. By default, Skylink uses HTTP CORS +authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to +use credential based authentication. See the Persistent Room article + for more information.

    + + + + + + + + defaultRoom + + + + + + + String + + + + + + + + + + + + <optional>
    + + + + + + + + + + appKey + + + + + +

    The default Room to connect to when no room parameter +is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. +The Room that User will be connected to is the defaultRoom provided.

    + + + + + + + + roomServer + + + + + + + String + + + + + + + + + + + + <optional>
    + + + + + + + + + + + + + +

    The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

    + - - - + - roomName + enableStatsGathering - String + boolean @@ -8645,14 +4626,16 @@
    Properties:
    + true + -

    The Room name. When not provided or is provided as an empty string, its value is the defaultRoom - provided in the initOptions. - Note that if you are using credentials based authentication, you cannot switch the Room - that is not the same as the defaultRoom defined in initOptions.

    +

    Configure the anonymous performance and connectivity statistic collection function. +Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. +This data does not contain any personal information or session content. +To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

    @@ -8660,20 +4643,14 @@
    Properties:
    - userData + enableDataChannel - JSON - - - | - - - String + boolean @@ -8695,13 +4672,13 @@
    Properties:
    + true + -

    The User custom data. - This can be set after Room session has started using the - Skylink#setUserData.

    +

    The flag if Datachannel connections should be enabled.

    @@ -8709,7 +4686,7 @@
    Properties:
    - useExactConstraints + enableTURNServer @@ -8738,13 +4715,14 @@
    Properties:
    + true + -

    The Skylink#getUserMedia useExactConstraints parameter settings. - See the useExactConstraints parameter in the - Skylink#getUserMedia for more information.

    +

    The flag if TURN ICE servers should +be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

    @@ -8752,7 +4730,7 @@
    Properties:
    - audio + enableSTUNServer @@ -8762,12 +4740,6 @@
    Properties:
    boolean - | - - - JSON - - @@ -8787,15 +4759,14 @@
    Properties:
    + true + -

    The Skylink#getUserMedia audio parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - video is not defined, it will be defined as false. - Object signature matches the audio parameter in the - Skylink#getUserMedia.

    +

    The flag if STUN ICE servers should +be used when constructing Peer connections to allow TURN connections when required.

    @@ -8803,7 +4774,7 @@
    Properties:
    - video + forceTURN @@ -8813,12 +4784,6 @@
    Properties:
    boolean - | - - - JSON - - @@ -8838,15 +4803,16 @@
    Properties:
    + false + -

    The Skylink#getUserMedia video parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - audio is not defined, it will be defined as false. - Object signature matches the video parameter in the - Skylink#getUserMedia.

    +

    The flag if Peer connections should enforce +connections over the TURN server.

    +
    This overrides enableTURNServer value to true and + enableSTUNServer value to false. @@ -8854,7 +4820,7 @@
    Properties:
    - voiceActivityDetection + TURNServerTransport @@ -8883,23 +4849,18 @@
    Properties:
    - true - -

    The flag if voice activity detection should be enabled. - This can only be toggled if User is and for the offerer, which is determined if User's - peerInfo.config.priorityWeight is higher than Peer's. -

    - This works hand-in-hand with the disableComfortNoiseCodec flag in the - initOptions and the audio.usedtx setting in - Skylink#getUserMedia. VAD (voice activity detection) - detects if there is an active voice in the Stream, and if there is no active voice in the Stream, the - audio.usedtx (if enabled) would prevent sending these empty bits. To prevent huge differences - when there is a silence and an active voice later, the CN codec would produce an empty voice to - make it sound better.

    +
    + Note that configuring the protocol may not necessarily result in the desired network transports protocol + used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. + This simply configures the TURN ICE server urls query option when constructing + the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. +
    The option to configure the ?transport= + query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. + Skylink.TURN_TRANSPORT @@ -8907,7 +4868,7 @@
    Properties:
    - bandwidth + credentials @@ -8940,11 +4901,16 @@
    Properties:
    -

    Note that this is currently not supported - with Firefox browsers versions 48 and below as noted in an existing - bugzilla ticket here.
    - The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured - constant VIDEO_QUALITY for recommended values.

    +
    + Note that we strongly recommend developers to return the credentials.duration, + credentials.startDateTime and defaultRoom and generate the + credentials.credentials from a web server as secret shouldn't be exposed on client web app as + it poses a security risk itself.
    + The credentials used for authenticating App Key with + credentials to retrieve the Room session token used for connection in Skylink#joinRoom. + Note that switching of Rooms is not allowed when using credentials based authentication, unless + init() is invoked again with a different set of credentials followed by invoking + the Skylink#joinRoom.
    Properties
    @@ -8959,8 +4925,6 @@
    Properties
    Type - Attributes - @@ -8973,14 +4937,14 @@
    Properties
    - audio + startDateTime - number + String @@ -8990,21 +4954,12 @@
    Properties
    - - - <optional>
    - - - - - -

    The maximum audio streaming bandwidth sent to Peers in kbps. - Recommended values are 50 to 200. 50 is sufficient enough for - an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

    +

    The credentials User session in Room starting DateTime +in ISO 8601 format.

    @@ -9012,7 +4967,7 @@
    Properties
    - video + duration @@ -9029,22 +4984,11 @@
    Properties
    - - - <optional>
    - - - - - -

    The maximum video streaming bandwidth sent to Peers. - Recommended values are 256-500 for 180p quality, - 500-1024 for 360p quality, 1024-2048 for 720p quality - and 2048-4096 for 1080p quality.

    +

    The credentials User session in Room duration in hours.

    @@ -9052,14 +4996,14 @@
    Properties
    - data + credentials - number + String @@ -9069,21 +5013,27 @@
    Properties
    - - - <optional>
    - - - - - -

    The maximum data streaming bandwidth sent to Peers. - This affects the P2P messaging in Skylink#sendP2PMessage, - and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

    +

    The generated credentials used to authenticate +the provided App Key with its "secret" property.

    +
    To generate the credentials:
      +
    1. Concatenate a string that consists of the Room name you provide in the defaultRoom, + the credentials.duration and the credentials.startDateTime. + Example: var concatStr = defaultRoom + "_" + duration + "_" + startDateTime;
    2. +
    3. Hash the concatenated string with the App Key "secret" property using + SHA-1. + Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); + See the CryptoJS.HmacSHA1 library.
    4. +
    5. Encode the hashed string using base64 + Example: var b64Str = hash.toString(CryptoJS.enc.Base64); + See the CryptoJS.enc.Base64 library.
    6. +
    7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. + Example: var credentials = encodeURIComponent(base64String); + See encodeURIComponent() API.
    @@ -9098,14 +5048,14 @@
    Properties
    - googleXBandwidth + audioFallback - JSON + boolean @@ -9127,51 +5077,29 @@
    Properties
    + false + -

    Note that this is an experimental configuration - and may cause disruptions in connections or connectivity issues when toggled, or may not work depending on - browser supports. Currently, this only toggles the video codec bandwidth configuration.
    - The configuration to set the experimental google video streaming bandwidth sent to Peers. - Note that Peers may override the "receive from" streaming bandwidth depending on the Peers configuration.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when +retrieving audio and video Stream fails.

    + - - - + - + + @@ -9202,7 +5138,7 @@
    Properties
    - + - - - - -
    NameTypeAttributesDescription
    minforceSSL - number + boolean @@ -9191,10 +5119,18 @@
    Properties
    +
    + + true + + -

    The minimum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-min-bitrate" flag in the session description.

    +

    The flag if HTTPS connections should be enforced +during request to Auth server and socket connections to Signaling server +when accessing window.location.protocol value is "http:". +By default, "https:" protocol connections uses HTTPS connections.

    maxsocketTimeout @@ -9229,17 +5165,19 @@
    Properties
    - -
    -

    The maximum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-max-bitrate" flag in the session description.

    +
    + + 7000 +
    + + +

    The timeout for each attempts for socket connection +with the Signaling server to indicate that connection has timed out and has failed to establish. +Note that the minimum timeout value is 5000. If less, this value will be 5000. +Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting +using Polling transports to prevent connection errors.

    @@ -9247,7 +5185,7 @@
    Properties
    - manualGetUserMedia + forceTURNSSL @@ -9276,16 +5214,16 @@
    Properties
    + false + -

    The flag if Skylink#joinRoom should trigger - mediaAccessRequired in which the - Skylink#getUserMedia stream or - Skylink#shareScreen stream - must be retrieved as a requirement before Room session may begin. - This ignores the audio and video configuration.

    +

    The flag if TURNS protocol should be used when enableTURNServer is enabled.

    +
    + Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, + TURN ICE servers using port 443 will be used instead. @@ -9293,80 +5231,20 @@
    Properties
    - sdpSettings + iceServer - JSON + String - - - - - - - - - - <optional>
    - - - - - - - - - - - - - -

    - Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled. Note that it might not work - with MCU enabled Peer connections or break MCU enabled Peer connections.
    - The configuration to set the session description settings.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - @@ -9421,14 +5303,14 @@
    Properties
    - + - + + + + +
    NameTypeAttributesDescription
    connection - - + | + - JSON + Array @@ -9386,11 +5264,17 @@
    Properties
    +
    + + -

    The configuration to set the session description connection settings. - Note that this configuration may disable the media streaming and these settings will be enabled for - MCU server Peer connection regardless of the flags configured.

    +

    The ICE servers for debugging purposes to use.

    +
      +
    • When defined as string, the value is considered as [iceServer]. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • +
    Properties
    @@ -9409,8 +5293,6 @@
    Properties
    -
    DefaultDescription
    audio#index - boolean + String @@ -9448,15 +5330,16 @@
    Properties
    -
    - - true - - -

    The configuration to enable audio session description connection.

    +

    The ICE server url for debugging purposes to use.

    +
    + @@ -9464,14 +5347,20 @@
    Properties
    - video + socketServer - boolean + String + + + | + + + JSON @@ -9493,28 +5382,51 @@
    Properties
    - true - -

    The configuration to enable video session description connection.

    - +

    The Signaling server for debugging purposes to use.

    +
      +
    • When defined as string, the value is considered as { url: socketServer }. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
    • +
    + +
    Properties
    + + + + + + + + + + + + + + + + + + + - + + - + - - - - - - -
    NameTypeAttributesDescription
    dataurl - boolean + String @@ -9526,30 +5438,15 @@
    Properties
    - <optional>
    -
    - - true - - -

    The configuration to enable Datachannel session description connection.

    -
    - +

    The Signaling server URL for debugging purposes to use.

    @@ -9557,14 +5454,14 @@
    Properties
    - direction + ports - JSON + Array @@ -9586,9 +5483,8 @@
    Properties
    -

    The configuration to set the session description connection direction - to enable or disable uploading and downloading audio or video media streaming. - Note that this configuration does not prevent RTCP packets from being sent and received.

    +

    The list of Signaling server ports for debugging purposes to use. +If not defined, it will use the default list of ports specified.

    Properties
    @@ -9603,8 +5499,6 @@
    Properties
    Type - Attributes - @@ -9617,14 +5511,50 @@
    Properties
    - audio + #index - JSON + number + + + + + + + + + + + + + +

    The Signaling server port to fallback and use for debugging purposes.

    + + + + + + + + + + + + + + + protocol + + + + + + + String @@ -9646,39 +5576,23 @@
    Properties
    -

    The configuration to set the session description - connection direction for audio streaming.

    - -
    Properties
    - - - - - - - - - - - - - - +

    The Signaling server protocol for debugging purposes to use. +If not defined, it will use the default protocol specified.

    + + - - - + + +
    NameTypeAttributes
    Default
    - Description + - - - + - send + beSilentOnStatsLogs @@ -9707,14 +5621,13 @@
    Properties
    - true + false -

    The flag if uploading audio streaming - should be enabled when available.

    +

    The flag if all logs triggered by the statistics module should be silent.

    @@ -9722,7 +5635,7 @@
    Properties
    - receive + beSilentOnParseLogs @@ -9744,69 +5657,124 @@
    Properties
    <optional>
    - - - + + + + + + + + false + + + + + +

    The flag if media and codec parsing logs should be silent.

    + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + - - - true - - - + - -

    The flag if downloading audio - streaming should be enabled when available.

    - - - - - - + + + + + + +

    + joinRoomOptions :Object +

    +
    - - - video - - - - - - JSON - - +
    +

    The Room session configuration options.

    +
    - - - - - - <optional>
    - - - - - - -

    The configuration to set the session description - connection direction for video streaming.

    - -
    Properties
    - + + + + +
    Properties:
    + + @@ -9834,14 +5802,14 @@
    Properties
    - + @@ -9878,14 +5846,20 @@
    Properties
    - + - - - - -
    sendroomName - boolean + String @@ -9863,14 +5831,14 @@
    Properties
    - true - -

    The flag if uploading video streaming - should be enabled when available.

    +

    The Room name. When not provided or is provided as an empty string, its value is the defaultRoom +provided in the initOptions. +Note that if you are using credentials based authentication, you cannot switch the Room +that is not the same as the defaultRoom defined in initOptions.

    receiveuserData - boolean + JSON + + + | + + + String @@ -9907,35 +5881,13 @@
    Properties
    - true - -

    The flag if downloading video streaming - should be enabled when available.

    -
    - - - - - - - - - - - - - - - +

    The User custom data. +This can be set after Room session has started using the +Skylink#setUserData.

    @@ -9943,20 +5895,14 @@
    Properties
    - publishOnly + useExactConstraints - JSON - - - | - - - Boolean + boolean @@ -9982,114 +5928,30 @@
    Properties
    -

    - For MCU enabled Peer connections, defining this flag would make Peer not know other Peers presence in the Room. - For non-MCU enable Peer connections, defining this flag would cause other Peers in the Room to - not to send Stream to Peer, and overrides the config - sdpSettings.direction.audio.receive value to false, - sdpSettings.direction.video.receive value to false, - sdpSettings.direction.video.send value to true and - sdpSettings.direction.audio.send value to true. - Note that this feature is currently is beta, and for any enquiries on enabling and its support for MCU enabled - Peer connections, please contact our support portal. - How does the publish only functionality work? Imagine several Skylink instances like A1, B1, C1 and A1 - opening a new instance A2 with publish only enabled with configured A1 as parent. - - - - - - -
    MCU enabled roomMCU disabled room
    PresenceStreamPresenceStream
    A1B1, C1B1, C1B1, C1B1, C1
    B1A1, C1, A2A1, C1, A2A1, C1, A2A1, C1, A2
    C1B1, C1, A2B1, C1, A2B1, C1, A2B1, C1, A2
    A2B1, C1
    - Parent and child will not receive each other presence and stream because they are related to each other in the same client page, - hence no uploading or downloading is required. If A2 did not configure A1 as the parent, A1 will receive A2.
    - The config if Peer would publish only.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - +

    The Skylink#getUserMedia useExactConstraints parameter settings. +See the useExactConstraints parameter in the +Skylink#getUserMedia for more information.

    + - - - + - + - - - - - - - - - - - - -
    NameTypeAttributesDescription
    parentIdaudio - String + boolean - - - - - - - <optional>
    - - - -
    -

    Deprecation Warning! - This property has been deprecated. Use parentId instead. -
    The parent Peer ID to match to when Peer is connected. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

    -
    - - - - - - - - - parentId - + | - - - - String + JSON @@ -10115,12 +5977,11 @@
    Properties
    -

    The parent Peer ID to match to when Peer is connected. - Note that configuring this value overrides the publishOnly.parentId value. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

    +

    The Skylink#getUserMedia audio parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +video is not defined, it will be defined as false. +Object signature matches the audio parameter in the +Skylink#getUserMedia.

    @@ -10128,12 +5989,18 @@
    Properties
    - peerConnection + video + + boolean + + + | + JSON @@ -10161,47 +6028,26 @@
    Properties
    -

    - Note that this is mainly used for debugging purposes, so it may cause disruptions in connections or - connectivity issues when configured.
    The Peer connection constraints settings.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - +

    The Skylink#getUserMedia video parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +audio is not defined, it will be defined as false. +Object signature matches the video parameter in the +Skylink#getUserMedia.

    + - - - + - + @@ -10239,14 +6085,14 @@
    Properties
    - + +

    The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured +constant VIDEO_QUALITY for recommended values.

    +
    Note that this is currently not supported + with Firefox browsers versions 48 and below as noted in an existing + bugzilla ticket here. This option will override the autoBandwidthAdjustment option below.
    + +
    Properties
    + + +
    NameTypeAttributesDefaultDescription
    bundlePolicyvoiceActivityDetection - String + boolean @@ -10223,15 +6069,15 @@
    Properties
    + true + -

    The Peer connection media bundle policy.

    -
      -
    • When not provided, its value is BALANCED. -[Rel: Skylink.BUNDLE_POLICY]
    • -
    +

    The flag if voice activity detection should be enabled. +This can only be toggled if User is and for the offerer, which is determined if User's +peerInfo.config.priorityWeight is higher than Peer's.

    rtcpMuxPolicybandwidth - String + JSON @@ -10272,19 +6118,40 @@
    Properties
    -

    The Peer connection RTP and RTCP ICE candidates mux policy.

    -
      -
    • When not provided, its value is REQUIRE. -[Rel: Skylink.RTCP_MUX_POLICY]
    • -
    -
    + + + + + + + + + + + + + + + + - + + - + - @@ -10328,14 +6190,14 @@
    Properties
    - + - @@ -10374,14 +6230,14 @@
    Properties
    - + - @@ -10466,11 +6317,11 @@
    Properties
    @@ -10582,7 +6433,7 @@
    Properties
    @@ -10626,7 +6477,7 @@
    Properties
    @@ -10675,7 +6526,7 @@
    Properties
    @@ -10907,7 +6758,7 @@
    Properties:
    @@ -11265,7 +7116,7 @@
    Properties:
    @@ -11439,7 +7290,7 @@
    Properties:
    @@ -11478,7 +7329,7 @@
    Properties:

    - peerInfo :Object + peerInfo

    @@ -11486,10 +7337,6 @@

    -
    -

    The Peer session information.

    -
    - @@ -11513,8 +7360,6 @@

    Properties:
    - - @@ -11550,12 +7395,6 @@
    Properties:
    - - @@ -11585,17 +7424,11 @@
    Properties:
    - - @@ -11620,12 +7453,6 @@
    Properties:
    - - @@ -11687,7 +7514,7 @@
    Properties
    @@ -11723,8 +7550,8 @@
    Properties
    @@ -11762,7 +7589,7 @@
    Properties
    @@ -11800,7 +7627,7 @@
    Properties
    @@ -11892,7 +7719,7 @@
    Properties
    - String + roomInfo @@ -11902,12 +7729,6 @@
    Properties
    - - @@ -11937,12 +7758,6 @@
    Properties
    - - @@ -12025,7 +7840,7 @@
    Properties
    @@ -12055,66 +7870,8 @@
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12126,82 +7883,6 @@
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    iceCandidatePoolSizeaudio @@ -10311,16 +6178,11 @@
    Properties
    -
    - - 0 - - -

    The number of ICE candidates to gather before - gathering it when setting local offer / answer session description.

    +

    The maximum audio streaming bandwidth sent to Peers in kbps. +Recommended values are 50 to 200. 50 is sufficient enough for +an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

    certificatevideo - String + number @@ -10355,18 +6217,12 @@
    Properties
    -
    - - -

    The type of certificate that Peer connection should - generate and use when available.

    -
      -
    • When not provided, its value is AUTO. -[Rel: Skylink.PEER_CERTIFICATE]
    • -
    +

    The maximum video streaming bandwidth sent to Peers. +Recommended values are 256-500 for 180p quality, +500-1024 for 360p quality, 1024-2048 for 720p quality +and 2048-4096 for 1080p quality.

    disableBundledata - String + number @@ -10401,16 +6257,11 @@
    Properties
    -
    - - false - - -

    The flag if for each Peer connection instead of bundling all - media connections into 1 connection, should have all of them negotiated as different separate media connections.

    +

    The maximum data streaming bandwidth sent to Peers. +This affects the P2P messaging in Skylink#sendP2PMessage, +and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

    -

    - Note that this is an experimental feature which may be removed or changed in the future releases. - This feature is also only available for non-MCU enabled Peer connections and Edge Peer connections. -
    The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted - each time based on a specified interval. Note this would cause the peer connection to restart.

    +

    The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted +each time based on a specified interval.

    +
    + This feature is also only available for non-MCU enabled Peer connections. Note this will cause the peer connection to restart. If bandwidth option is set above, autoBandwidthAdjustment will not be honoured. +
    Properties
    @@ -10537,8 +6388,8 @@
    Properties

    The interval each time to adjust bandwidth - connections in seconds. - Note that the minimum value is 10.

    +connections in seconds. +Note that the minimum value is 10.

    The percentage of the average bandwidth to adjust to. - E.g. avgBandwidth * (limitPercentage / 100).

    +E.g. avgBandwidth * (limitPercentage / 100).

    The flag if average bandwidth computation - should only consist of the upload bandwidth.

    +should only consist of the upload bandwidth.

    TypeAttributes - - - - - - - - -

    The Peer sending Stream settings.

    +

    The Peer sending stream settings.

    - - - -

    The Peer agent name. - Data may be accessing browser or non-Web SDK name.

    +Data may be accessing browser or non-Web SDK name.

    The Peer agent version. - Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", - it will be interpreted as 0.90601 where 0 helps to seperate the minor dots.

    +Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", +it will be interpreted as 0.90601 where 0 helps to separate the minor dots.

    The Peer platform name. - Data may be accessing OS platform version from Web SDK.

    +Data may be accessing OS platform version from Web SDK.

    The Peer Temasys Plugin version. - Defined only when Peer is using the Temasys Plugin (IE / Safari).

    +Defined only when Peer is using the Temasys Plugin (IE / Safari).

    - - - - - - - -

    The flag if Peer connection has ICE connection restart support. - Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

    +Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

    The flag if Peer or User should be the offerer. - If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. - However for the case where the MCU is connected, User will always be the offerer.

    -
    publishOnly - - - - boolean - - - - - - - -

    The flag if Peer is publishing only stream but not receiving streams.

    -
    receiveOnly - - - - boolean - - - - - - - -

    The flag if Peer is receiving only streams but not publishing stream.

    +If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. +However for the case where the MCU is connected, User will always be the offerer.

    connected - - - - boolean - - - - - - - - - <optional>
    - - - -
    -

    The flag if Peer ICE connection has been established successfully. - Defined only when isSelf payload value is false.

    -
    init - - - - boolean - - - - - - - - - <optional>
    - - - -
    -

    The flag if Peer connection has been created successfully. - Defined only when isSelf payload value is false.

    -
    @@ -12239,7 +7920,7 @@
    Properties
    @@ -12714,7 +8395,7 @@
    Properties

    streams keyed by stream id. - /**

    +/**

    @@ -12772,7 +8453,7 @@
    Properties
    @@ -12998,8 +8679,8 @@
    Properties

    The recording session started DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the start event is received.

    +ISO.Note that this value may not be +very accurate as this value is recorded when the start event is received.

    @@ -13029,9 +8710,9 @@
    Properties

    The recording session ended DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the stop event is received. - Defined only after state has triggered STOP.

    +ISO.Note that this value may not be +very accurate as this value is recorded when the stop event is received. +Defined only after state has triggered STOP.

    @@ -13061,9 +8742,9 @@
    Properties

    The recording session mixing completed DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the mixing completed event is received. - Defined only when state is LINK.

    +ISO.Note that this value may not be +very accurate as this value is recorded when the mixing completed event is received. +Defined only when state is LINK.

    @@ -13093,8 +8774,8 @@
    Properties

    The recording session links. - Object signature matches the link parameter payload received in the - recordingStateEvent event.

    +Object signature matches the link parameter payload received in the +RECORDING STATE event event.

    @@ -13124,7 +8805,7 @@
    Properties

    The recording session error. - Defined only when state is ERROR.

    +Defined only when state is ERROR.

    @@ -13173,7 +8854,7 @@
    Properties
    @@ -13347,7 +9028,7 @@
    Properties:
    @@ -13380,13 +9061,13 @@
    Properties:
    - + -

    - screenSources :Object +

    + roomInfo

    @@ -13394,10 +9075,6 @@

    -
    -

    The list of screensharing media sources and screen sources.

    -
    - @@ -13433,14 +9110,14 @@

    Properties:
    - mediaSource + roomName - Array.<String> + String @@ -13454,7 +9131,7 @@
    Properties:
    -

    The screensharing media source item.

    +

    The room name

    @@ -13462,62 +9139,14 @@
    Properties:
    - mediaSourceInput - - - - - - - Array.<Object> - - - - - - - - - - - - - -

    The list of specific media source screen inputs.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -13539,14 +9168,14 @@
    Properties
    - + @@ -13568,14 +9197,14 @@
    Properties
    - + - - - - -
    NameTypeDescription
    sourceIdduration - String + Number @@ -13531,7 +9160,7 @@
    Properties
    -

    The screen input item id.

    +

    The maximum allowed room duration

    labelid - Object + String @@ -13560,7 +9189,7 @@
    Properties
    -

    The screen input item label name.

    +

    The room id

    mediaSourceinRoom - Object + Boolean @@ -13589,14 +9218,7 @@
    Properties
    -

    The screen input item media source it belongs to.

    -
    - +

    The flag if the peer is in the room

    @@ -13638,7 +9260,7 @@
    Properties
    @@ -13862,7 +9484,7 @@
    Properties:

    The socket connection current last attempts - for the last available transports and port.

    +for the last available transports and port.

    @@ -13904,7 +9526,7 @@
    Properties:
    @@ -14241,7 +9863,7 @@
    Properties

    The Peer connection selected - local ICE candidate IP address.

    +local ICE candidate IP address.

    @@ -14277,7 +9899,7 @@
    Properties

    The Peer connection selected - local ICE candidate port number.

    +local ICE candidate port number.

    @@ -14313,7 +9935,7 @@
    Properties

    The Peer connection selected - local ICE candidate IP transport type.

    +local ICE candidate IP transport type.

    @@ -14349,7 +9971,7 @@
    Properties

    The Peer connection selected - local ICE candidate type.

    +local ICE candidate type.

    @@ -14387,9 +10009,9 @@
    Properties

    The Peer connection possible - transport used when relaying local media to TURN server. - Types are "UDP" (UDP connections), "TCP" (TCP connections) and - "TCP/TLS" (TCP over TLS connections).

    +transport used when relaying local media to TURN server. +Types are "UDP" (UDP connections), "TCP" (TCP connections) and +"TCP/TLS" (TCP over TLS connections).

    @@ -14480,7 +10102,7 @@
    Properties

    The Peer connection selected - remote ICE candidate IP address.

    +remote ICE candidate IP address.

    @@ -14510,7 +10132,7 @@
    Properties

    The Peer connection selected - remote ICE candidate port number.

    +remote ICE candidate port number.

    @@ -14540,7 +10162,7 @@
    Properties

    The Peer connection selected - remote ICE candidate IP transport type.

    +remote ICE candidate IP transport type.

    @@ -14570,7 +10192,7 @@
    Properties

    The Peer connection selected - remote ICE candidate type.

    +remote ICE candidate type.

    @@ -14615,7 +10237,7 @@
    Properties

    The flag if Peer has gotten ACK to an ICE request. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14653,7 +10275,7 @@
    Properties

    The current STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14691,7 +10313,7 @@
    Properties

    The total STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14785,7 +10407,7 @@
    Properties

    The current ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14823,7 +10445,7 @@
    Properties

    The current ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14861,7 +10483,7 @@
    Properties

    The total ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -14899,7 +10521,7 @@
    Properties

    The total ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15000,7 +10622,7 @@
    Properties

    The current ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15038,7 +10660,7 @@
    Properties

    The current ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15076,7 +10698,7 @@
    Properties

    The total ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15114,7 +10736,7 @@
    Properties

    The total ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15215,7 +10837,7 @@
    Properties

    The current ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15253,7 +10875,7 @@
    Properties

    The total ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15411,7 +11033,7 @@
    Properties

    The Peer connection local certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15449,8 +11071,8 @@
    Properties

    The Peer connection local - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

    +certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15488,8 +11110,8 @@
    Properties

    The Peer connection local - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

    +base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15590,7 +11212,7 @@
    Properties

    The Peer connection remote certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15628,8 +11250,8 @@
    Properties

    The Peer connection remote - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

    +certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15667,8 +11289,8 @@
    Properties

    The Peer connection remote - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

    +base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15713,7 +11335,7 @@
    Properties

    The certificates SRTP cipher. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15751,7 +11373,7 @@
    Properties

    The certificates DTLS cipher. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -15789,7 +11411,7 @@
    Properties

    The certificates DTLS TLS Version agreed. - Defined as null if it's not available in original raw statistics.before parsing.

    +Defined as null if it's not available in original raw statistics.before parsing.

    @@ -16035,7 +11657,7 @@
    Properties

    The Peer connection local session description type. - Defined as null when local session description is not available.

    +Defined as null when local session description is not available.

    @@ -16065,7 +11687,7 @@
    Properties

    The Peer connection local session description SDP. - Defined as null when local session description is not available.

    +Defined as null when local session description is not available.

    @@ -16156,7 +11778,7 @@
    Properties

    The Peer connection remote session description type. - Defined as null when remote session description is not available.

    +Defined as null when remote session description is not available.

    @@ -16186,7 +11808,7 @@
    Properties

    The Peer connection remote session description sdp. - Defined as null when remote session description is not available.

    +Defined as null when remote session description is not available.

    @@ -16325,7 +11947,7 @@
    Properties

    The Peer connection list of local - "host" (local network) ICE candidates sent.

    +"host" (local network) ICE candidates sent.

    Properties
    @@ -16374,7 +11996,7 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate.

    +"host" (local network) ICE candidate.

    Properties
    @@ -16423,7 +12045,7 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate connection description.

    +"host" (local network) ICE candidate connection description.

    @@ -16453,7 +12075,7 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate identifier based on the local session description.

    +"host" (local network) ICE candidate identifier based on the local session description.

    @@ -16483,8 +12105,8 @@
    Properties

    The Peer connection local - "host" (local network) ICE candidate media description index (starting from 0) - based on the local session description.

    +"host" (local network) ICE candidate media description index (starting from 0) +based on the local session description.

    @@ -16528,7 +12150,7 @@
    Properties

    The Peer connection list of local - "srflx" (STUN) ICE candidates sent.

    +"srflx" (STUN) ICE candidates sent.

    Properties
    @@ -16577,7 +12199,7 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate.

    +"srflx" (STUN) ICE candidate.

    Properties
    @@ -16626,7 +12248,7 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate connection description.

    +"srflx" (STUN) ICE candidate connection description.

    @@ -16656,7 +12278,7 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate identifier based on the local session description.

    +"srflx" (STUN) ICE candidate identifier based on the local session description.

    @@ -16686,8 +12308,8 @@
    Properties

    The Peer connection local - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the local session description.

    +"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the local session description.

    @@ -16731,7 +12353,7 @@
    Properties

    The Peer connection list of local - "relay" (TURN) candidates sent.

    +"relay" (TURN) candidates sent.

    Properties
    @@ -16780,7 +12402,7 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate.

    +"relay" (TURN) ICE candidate.

    Properties
    @@ -16829,7 +12451,7 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate connection description.

    +"relay" (TURN) ICE candidate connection description.

    @@ -16859,7 +12481,7 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate identifier based on the local session description.

    +"relay" (TURN) ICE candidate identifier based on the local session description.

    @@ -16889,8 +12511,8 @@
    Properties

    The Peer connection local - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the local session description.

    +"relay" (TURN) ICE candidate media description index (starting from 0) +based on the local session description.

    @@ -16989,7 +12611,7 @@
    Properties

    The Peer connection list of remote - "host" (local network) ICE candidates received.

    +"host" (local network) ICE candidates received.

    Properties
    @@ -17038,7 +12660,7 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate.

    +"host" (local network) ICE candidate.

    Properties
    @@ -17087,7 +12709,7 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate connection description.

    +"host" (local network) ICE candidate connection description.

    @@ -17117,7 +12739,7 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate identifier based on the remote session description.

    +"host" (local network) ICE candidate identifier based on the remote session description.

    @@ -17147,8 +12769,8 @@
    Properties

    The Peer connection remote - "host" (local network) ICE candidate media description index (starting from 0) - based on the remote session description.

    +"host" (local network) ICE candidate media description index (starting from 0) +based on the remote session description.

    @@ -17192,7 +12814,7 @@
    Properties

    The Peer connection list of remote - "srflx" (STUN) ICE candidates received.

    +"srflx" (STUN) ICE candidates received.

    Properties
    @@ -17241,7 +12863,7 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate.

    +"srflx" (STUN) ICE candidate.

    Properties
    @@ -17290,7 +12912,7 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate connection description.

    +"srflx" (STUN) ICE candidate connection description.

    @@ -17320,7 +12942,7 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate identifier based on the remote session description.

    +"srflx" (STUN) ICE candidate identifier based on the remote session description.

    @@ -17350,8 +12972,8 @@
    Properties

    The Peer connection remote - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the remote session description.

    +"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the remote session description.

    @@ -17395,7 +13017,7 @@
    Properties

    The Peer connection list of remote - "relay" (TURN) ICE candidates received.

    +"relay" (TURN) ICE candidates received.

    Properties
    @@ -17444,7 +13066,7 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate.

    +"relay" (TURN) ICE candidate.

    Properties
    @@ -17493,7 +13115,7 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate connection description.

    +"relay" (TURN) ICE candidate connection description.

    @@ -17523,7 +13145,7 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate identifier based on the remote session description.

    +"relay" (TURN) ICE candidate identifier based on the remote session description.

    @@ -17553,8 +13175,8 @@
    Properties

    The Peer connection remote - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the remote session description.

    +"relay" (TURN) ICE candidate media description index (starting from 0) +based on the remote session description.

    @@ -17743,7 +13365,7 @@
    Properties

    The Peer connection Datachannel connection readyState. - [Rel: Skylink.DATA_CHANNEL_STATE]

    +[Rel: Skylink.DATA_CHANNEL_STATE]

    @@ -17773,7 +13395,7 @@
    Properties

    The Peer connection Datachannel connection type. - [Rel: Skylink.DATA_CHANNEL_TYPE]

    +[Rel: Skylink.DATA_CHANNEL_TYPE]

    @@ -17803,8 +13425,8 @@
    Properties

    The Peer connection - Datachannel connection current progressing transfer session ID. - Defined as null when there is currently no transfer session progressing on the Datachannel connection.

    +Datachannel connection current progressing transfer session ID. +Defined as null when there is currently no transfer session progressing on the Datachannel connection.

    @@ -17834,8 +13456,8 @@
    Properties

    The Peer connection - Datachannel connection current data streaming session ID. - Defined as null when there is currently no data streaming session on the Datachannel connection.

    +Datachannel connection current data streaming session ID. +Defined as null when there is currently no data streaming session on the Datachannel connection.

    @@ -17993,7 +13615,7 @@
    Properties

    The error object received. - Defined only when state payload is RETRIEVE_ERROR.

    +Defined only when state payload is RETRIEVE_ERROR.

    @@ -18035,7 +13657,7 @@
    Properties
    @@ -18221,7 +13843,7 @@
    Properties:
    @@ -18673,7 +14295,7 @@
    Properties
    @@ -19129,7 +14751,7 @@
    Properties

    The Peer connection current sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -19165,7 +14787,7 @@
    Properties

    The Peer connection total sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -19271,7 +14893,7 @@
    Properties

    The Peer connection sending video streaming Round-trip delay time. - Defined as 0 if it's not present in original raw statistics before parsing.

    +Defined as 0 if it's not present in original raw statistics before parsing.

    @@ -19306,11 +14928,11 @@
    Properties
    -

    +
    This property has been deprecated and would be removed in future releases as it should not be in sending property.
    The Peer connection sending video streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

    + Defined as 0 if it's not present in original raw statistics before parsing. @@ -19348,7 +14970,7 @@
    Properties

    The Peer connection sending video streaming sum of the QP values of frames passed. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19386,7 +15008,7 @@
    Properties

    The Peer connection sending video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19424,7 +15046,7 @@
    Properties

    The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19462,7 +15084,7 @@
    Properties

    The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19501,7 +15123,7 @@
    Properties

    The Peer connection sending video streaming number of huge frames sent by this RTP stream. Huge frames, by definition, are frames that have an encoded size at least 2.5 times the average size of the frames. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19539,7 +15161,7 @@
    Properties

    The Peer connection sending video streaming fps. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19577,7 +15199,7 @@
    Properties

    The Peer connection sending video streaming frames encoded. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19615,7 +15237,7 @@
    Properties

    The Peer connection current sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19653,7 +15275,7 @@
    Properties

    The Peer connection total sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19691,7 +15313,7 @@
    Properties

    The Peer connection current sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19729,7 +15351,7 @@
    Properties

    The Peer connection total sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19767,7 +15389,7 @@
    Properties

    The Peer connection current sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19805,7 +15427,7 @@
    Properties

    The Peer connection total sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -19843,7 +15465,7 @@
    Properties

    The Peer connection sending video streaming selected codec information. - Defined as null if local session description is not available before parsing.

    +Defined as null if local session description is not available before parsing.

    Properties
    @@ -19972,7 +15594,7 @@
    Properties

    The Peer connection sending video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20010,8 +15632,8 @@
    Properties

    The Peer connection sending video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

    @@ -20049,7 +15671,7 @@
    Properties

    The Peer connection sending video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20087,7 +15709,7 @@
    Properties

    The Peer connection sending video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20222,7 +15844,7 @@
    Properties

    The Peer connection current receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -20258,7 +15880,7 @@
    Properties

    The Peer connection total receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    +Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

    @@ -20436,7 +16058,7 @@
    Properties

    The Peer connection receiving video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20474,7 +16096,7 @@
    Properties

    The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20512,7 +16134,7 @@
    Properties

    The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20550,7 +16172,7 @@
    Properties

    The Peer connection receiving video streaming frames decoded. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20588,7 +16210,7 @@
    Properties

    The Peer connection receiving video streaming frames dropped. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20626,7 +16248,7 @@
    Properties

    The Peer connection current receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20664,7 +16286,7 @@
    Properties

    The Peer connection total receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20702,7 +16324,7 @@
    Properties

    The Peer connection current receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20740,7 +16362,7 @@
    Properties

    The Peer connection total receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20778,7 +16400,7 @@
    Properties

    The Peer connection current receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20816,7 +16438,7 @@
    Properties

    The Peer connection total receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -20854,9 +16476,9 @@
    Properties

    The Peer connection receiving video streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

    +Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

    Properties
    @@ -20985,7 +16607,7 @@
    Properties

    The Peer connection receiving video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -21023,8 +16645,8 @@
    Properties

    The Peer connection receiving video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

    +Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

    @@ -21062,7 +16684,7 @@
    Properties

    The Peer connection receiving video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    @@ -21100,7 +16722,7 @@
    Properties

    The Peer connection receiving video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

    +Defined as null if it's not available in original raw statistics before parsing.

    diff --git a/publish/2.1.2/docs/ice-connection_index.js.html b/publish/2.1.3/docs/ice-connection_index.js.html similarity index 59% rename from publish/2.1.2/docs/ice-connection_index.js.html rename to publish/2.1.3/docs/ice-connection_index.js.html index 1ce775538..d47537c96 100644 --- a/publish/2.1.2/docs/ice-connection_index.js.html +++ b/publish/2.1.3/docs/ice-connection_index.js.html @@ -78,7 +78,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -132,7 +132,7 @@

    * @param {String} candidateType - Type of the ICE Candidate * @param {RTCIceCandidate} nativeCandidate - An RTCIceCandidate Object | {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate} * @param {SkylinkState} roomState - Skylink State - * @fires candidateProcessingState + * @fires CANDIDATE_PROCESSING_STATE */ static addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState) { return helpers.addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState); @@ -143,7 +143,7 @@

    * @param targetMid - The mid of the target peer * @param {RTCPeerConnectionIceEvent} rtcIceConnectionEvent - {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnectionIceEvent} * @param {SkylinkRoom} room - Current room - * @fires candidateGenerationState + * @fires CANDIDATE_GENERATION_STATE * @return {null} */ static onIceCandidate(targetMid, rtcIceConnectionEvent, room) { diff --git a/publish/2.1.2/docs/icons/home.svg b/publish/2.1.3/docs/icons/home.svg similarity index 100% rename from publish/2.1.2/docs/icons/home.svg rename to publish/2.1.3/docs/icons/home.svg diff --git a/publish/2.1.2/docs/icons/search.svg b/publish/2.1.3/docs/icons/search.svg similarity index 100% rename from publish/2.1.2/docs/icons/search.svg rename to publish/2.1.3/docs/icons/search.svg diff --git a/publish/2.1.2/docs/index.html b/publish/2.1.3/docs/index.html similarity index 58% rename from publish/2.1.2/docs/index.html rename to publish/2.1.3/docs/index.html index 13ba81723..2ebcb384f 100644 --- a/publish/2.1.2/docs/index.html +++ b/publish/2.1.3/docs/index.html @@ -75,7 +75,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -93,11 +93,13 @@

    Classes

    @@ -2293,7 +2444,7 @@
    Parameters:
    @@ -2341,106 +2492,6 @@
    Example
    - - - - - - -

    - getScreenSources() → {Promise.<screenSources>} -

    -
    - - - - - -
    -

    Method that returns the screensharing sources.

    -
    - - - - - - - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 2.0.0 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - @@ -2593,7 +2644,7 @@
    Parameters:
    @@ -2748,7 +2799,7 @@
    Parameters:
    @@ -2769,7 +2820,7 @@
    Fires:
    @@ -2938,7 +2989,7 @@
    Parameters:
    @@ -3029,7 +3080,7 @@

    @@ -3228,7 +3279,7 @@

    Parameters:
    @@ -3396,7 +3447,7 @@
    Parameters:
    - JSON + getUserMediaOptions @@ -3426,1094 +3477,11 @@
    Parameters:

    The camera stream configuration options.

      -
    • When not provided, the value is set to { audio: true, video: true }. -To fallback to retrieve audio track only when retrieving of audio and video tracks failed, -enable the audioFallback flag in the initOptions.
    • +
    • When not provided, the value is set to { audio: true, video: true }.
    -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    useExactConstraints - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    - Note that by enabling this flag, exact values will be requested when retrieving camera stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source id) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support.
    - The flag if getUserMedia() should request for camera stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

    - -
    audio - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    - Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation.
    - The audio configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    stereo - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting.
    - The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

    - -
    usedtx - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation.
    - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

    - -
    useinbandfec - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only.
    - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

    - -
    maxplaybackrate - - - - Number - - - - - - - - - <optional>
    - - - - - -
    - - -

    Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only.
    - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

    - -
    mute - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    The flag if audio tracks should be muted upon receiving them. - Providing the value as false sets peerInfo.mediaStatus.audioMuted to 1, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - 0 and mutes any existing - shareScreen() stream audio tracks as well.

    - -
    optional - - - - Array - - - - - - - - - <optional>
    - - - - - -
    - - -

    - This property has been deprecated. "optional" constraints has been moved from specs.
    - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the audio track, - use options.audio.deviceId instead.
    - The navigator.getUserMedia() API audio: { optional [..] } property.

    - -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - - - -
    - - -

    - Note this is currently not supported in Firefox browsers. -
    The audio track source id of the device to use. - The list of available audio source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

    - -
    echoCancellation - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - true - - -

    - For Chrome/Opera/IE/Safari/Bowser, the echo cancellation @description Methodality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones.
    The flag to enable echo cancellation for audio track.

    - -
    - - -
    video - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    - Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode.
    - The video configuration options.

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDefaultDescription
    mute - - - - Boolean - - - - - - - - - <optional>
    - - - - - -
    - - false - - -

    The flag if video tracks should be muted upon receiving them. - Providing the value as false sets the peerInfo.mediaStatus.videoMuted value to - 1, but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - 0 and mutes any existing - shareScreen() stream video tracks as well.

    - -
    resolution - - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - -

    The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: VIDEO_RESOLUTION]

    - -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeAttributesDescription
    width - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    -

    The video resolution width.

    -
      -
    • When provided as a number, it is the video resolution width.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    - -
    height - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    -

    The video resolution height.

    -
      -
    • When provided as a number, it is the video resolution height.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    - -
    - - -
    frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - -

    The video https://en.wikipedia.org/wiki/Frame_rate per second (fps).

    -
      -
    • When provided as a number, it is the video framerate.
    • -
    • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
    • -
    - -
    optional - - - - Array - - - - - - - - - <optional>
    - - - - - -
    - - -

    - This property has been deprecated. "optional" constraints has been moved from specs.
    - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the video track, - use options.video.deviceId instead.
    - The navigator.getUserMedia() API video: { optional [..] } property.

    - -
    deviceId - - - - String - - - - - - - - - <optional>
    - - - - - -
    - - -

    - Note this is currently not supported in Firefox browsers. -
    The video track source id of the device to use. - The list of available video source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

    - -
    facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
    - - - - - -
    - - -

    The video camera facing mode. - The list of available video source id can be retrieved by the /en-US/docs/Web/API/MediaTrackConstraints/facingMode.

    - -
    - - -
    - - - - + + @@ -4563,7 +3531,7 @@
    Properties
    @@ -4584,19 +3552,19 @@
    Fires:
    • - If retrieval of fallback audio stream is successful:
      - mediaAccessSuccessEvent with parameter payload isScreensharing=false and isAudioFallback=false if initial retrieval is successful. + If retrieval of fallback audio stream is successful:
      - MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and isAudioFallback=false if initial retrieval is successful.
    • - If initial retrieval is unsuccessful:
      Fallback to retrieve audio only stream is triggered (configured in initOptions audioFallback)
        - mediaAccessFallbackEvent with parameter payload state=FALLBACKING, isScreensharing=false and isAudioFallback=true and options.video=true and options.audio=true.
      No fallback to retrieve audio only stream
      - mediaAccessErrorEvent with parameter payload isScreensharing=false and isAudioFallbackError=false. + If initial retrieval is unsuccessful:
      Fallback to retrieve audio only stream is triggered (configured in initOptions audioFallback)
        - MEDIA ACCESS SUCCESS eventMEDIA ACCESS FALLBACK event with parameter payload state=FALLBACKING, isScreensharing=false and isAudioFallback=true and options.video=true and options.audio=true.
      No fallback to retrieve audio only stream
      - MEDIA ACCESS ERROR event with parameter payload isScreensharing=false and isAudioFallbackError=false.
    • - If retrieval of fallback audio stream is successful:
      - mediaAccessSuccessEvent with parameter payload isScreensharing=false and isAudioFallback=true. + If retrieval of fallback audio stream is successful:
      - MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and isAudioFallback=true.
    • - If retrieval of fallback audio stream is unsuccessful:
      - mediaAccessFallbackEvent with parameter payload state=ERROR, isScreensharing=false and isAudioFallback=true.
      - mediaAccessErrorEvent with parameter payload isScreensharing=false and isAudioFallbackError=true. + If retrieval of fallback audio stream is unsuccessful:
      - MEDIA ACCESS SUCCESS eventMEDIA ACCESS FALLBACK event with parameter payload state=ERROR, isScreensharing=false and isAudioFallback=true.
      - MEDIA ACCESS ERROR event with parameter payload isScreensharing=false and isAudioFallbackError=true.
    @@ -5018,7 +3986,7 @@

    @@ -5173,7 +4141,7 @@

    Parameters:
    @@ -5194,7 +4162,7 @@
    Fires:
    • - peerLeft on the remote end of the connection. + PEER LEFT event on the remote end of the connection.
    @@ -5363,7 +4331,7 @@
    Parameters:
    @@ -5384,7 +4352,7 @@
    Fires:
    • - roomLockEvent with payload parameters isLocked=true when the room is successfully locked. + ROOM LOCK event with payload parameters isLocked=true when the room is successfully locked.
    @@ -5622,7 +4590,7 @@
    Properties

    The flag if all streams audio - tracks should be muted or not.

    +tracks should be muted or not.

    @@ -5668,7 +4636,7 @@
    Properties

    The flag if all streams video - tracks should be muted or not.

    +tracks should be muted or not.

    @@ -5768,7 +4736,7 @@
    Properties
    @@ -5789,11 +4757,11 @@
    Fires:
    • - On local peer: localMediaMutedEvent, streamMuted, peerUpdatedEvent with payload parameters isSelf=true and isAudio=true if a local audio stream is muted or isVideo if local video stream is muted. + On local peer: LOCAL MEDIA MUTED event, STREAM MUTED event, PEER UPDATED event with payload parameters isSelf=true and isAudio=true if a local audio stream is muted or isVideo if local video stream is muted.
    • - On remote peer: streamMuted, peerUpdatedEvent with with parameter payload isSelf=false and isAudio=true if a remote audio stream is muted or isVideo if remote video stream is muted. + On remote peer: STREAM MUTED event, PEER UPDATED event with with parameter payload isSelf=false and isAudio=true if a remote audio stream is muted or isVideo if remote video stream is muted.
    @@ -5870,9 +4838,9 @@

    For MCU enabled peer connections with options.mcuUseRenegoRestart set to false in the initOptions, the restart method may differ, you may learn more about how to workaround it in this article - here. + here. For restarts with peers connecting from Android, iOS or C++ SDKs, restarts might not work as written in this article - here. + here. Note that this functionality should be used when peer connection stream freezes during a connection. For a better user experience for only MCU enabled peer connections, the method is throttled when invoked many times in less than the milliseconds interval configured in initOptions. @@ -5995,17 +4963,13 @@

    Parameters:
    -

    +
    Note that this is ignored if MCU is enabled for the App Key provided in - initOptions. refreshConnection() will "refresh" - all peer connections.

    -
      -
    • The target peer id to refresh connection with.
        -
      • When provided as an Array, it will refresh all connections with all the peer ids provided.
      • -
      • When not provided, it will refresh all the currently connected peers in the room.
      • -
      -
    • -
    + initOptions. refreshConnection() will "refresh" + all peer connections.
    + - The target peer id to refresh connection with. +- When provided as an Array, it will refresh all connections with all the peer ids provided. +- When not provided, it will refresh all the currently connected peers in the room. @@ -6049,64 +5013,286 @@
    Parameters:
    - -

    - Note that this flag will not be honoured for MCU enabled peer connections where - options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU - "restart" case is to invoke Skylink#joinRoomagain, or that it is - not supported by the MCU.
    - The flag if ICE connections should restart when refreshing peer connections. - This is used when ICE connection state is FAILED or DISCONNECTED, which state - can be retrieved with the iceConnectionStateEvent

    - - - + +
    + Note that this flag will not be honoured for MCU enabled peer connections where + options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU + "restart" case is to invoke joinRoom again, or that it is + not supported by the MCU.
    + The flag if ICE connections should restart when refreshing peer connections. + This is used when ICE connection state is FAILED or DISCONNECTED, which + can be retrieved with the ICE CONNECTION STATE event. + + + + + + + + options + + + + + + + JSON + + + + + + + + + + + + <optional>
    + + + + + + + + + + + + + + + +
    + Note that for MCU connections, the bandwidth + settings will override for all peers or the current room connection session settings.
    + The custom peer configuration settings. + +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    bandwidth + + + + JSON + + + + + + + + + <optional>
    + + + + + +
    +

    The configuration to set the maximum streaming bandwidth to send to peers. +Object signature follows joinRoom +options.bandwidth settings.

    + +
    + + + + + + + + + + + + + +
    + + + + +
    Since:
    +
    +
      +
    • + 0.5.5 +
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + +
    + + + + + +
    Examples
    + + +
    Example 1: Refreshing a peer connection
    +
    +skylink.refreshConnection(roomName, peerId)
    +.then((result) => {
    +  const failedRefreshIds = Object.keys(result.refreshErrors);
    +  failedRefreshIds.forEach((peerId) => {
    +    // handle error
    +  });
    +});
    + + +
    Example 2: Refreshing a list of peer connections
    +let selectedPeers = ["peerID_1", "peerID_2"];
    +
    +skylink.refreshConnection(roomName, selectedPeers)
    +.then((result) => {
    +  const failedRefreshIds = Object.keys(result.refreshErrors);
    +  failedRefreshIds.forEach((peerId) => {
    +    // handle error
    +  });
    +});
    + + +
    Example 3: Refreshing all peer connections
    +
    +skylink.refreshConnection(roomName)
    +.then((result) => {
    +  const failedRefreshIds = Object.keys(result.refreshErrors);
    +  failedRefreshIds.forEach((peerId) => {
    +   // handle error
    +  });
    +});
    + + +
    + + + + + + + + + + + + + + +

    + refreshDatachannel(roomName, peerId) → {null} +

    +
    + + - - - - options - - - - - - JSON - - +
    +

    Method that refreshes the main messaging data channel.

    +
    - - - - - - <optional>
    - - - - - - - - - - - -

    - Note that for MCU connections, the bandwidth or googleXBandwidth - settings will override for all peers or the current room connection session settings.
    - The custom peer configuration settings.

    - -
    Properties
    - +
    Parameters:
    + @@ -6118,8 +5304,6 @@
    Properties
    - - @@ -6131,14 +5315,14 @@
    Properties
    - + - - @@ -6172,14 +5344,14 @@
    Properties
    - + - - - - - - -
    TypeAttributes
    bandwidthroomName - JSON + String @@ -6148,23 +5332,11 @@
    Properties
    - - <optional>
    - - - - - -
    -

    The configuration to set the maximum streaming bandwidth to send to peers. - Object signature follows Skylink#joinRoom - options.bandwidth settings.

    +

    The room name.

    googleXBandwidthpeerId - JSON + String @@ -6189,32 +5361,11 @@
    Properties
    - - <optional>
    - - - - - -
    -

    The configuration to set the experimental google - video streaming bandwidth sent to peers. - Object signature follows Skylink#joinRoom - options.googleXBandwidth settings.

    - -
    - +

    The target peer id of the peer data channel to refresh.

    @@ -6236,7 +5387,7 @@
    Properties
    • - 0.5.5 + 0.6.30
    @@ -6267,7 +5418,7 @@
    Properties
    @@ -6293,46 +5444,17 @@
    Properties
    - + -
    Examples
    +
    Example
    -
    Example 1: Refreshing a peer connection
    -
    -skylink.refreshConnection(roomName, peerId)
    -.then((result) => {
    -  const failedRefreshIds = Object.keys(result.refreshErrors);
    -  failedRefreshIds.forEach((peerId) => {
    -    // handle error
    -  });
    -});
    - - -
    Example 2: Refreshing a list of peer connections
    -let selectedPeers = ["peerID_1", "peerID_2"];
    -
    -skylink.refreshConnection(roomName, selectedPeers)
    -.then((result) => {
    -  const failedRefreshIds = Object.keys(result.refreshErrors);
    -  failedRefreshIds.forEach((peerId) => {
    -    // handle error
    -  });
    -});
    - - -
    Example 3: Refreshing all peer connections
    +  
    Example 1: Initiate refresh data channel
     
    -skylink.refreshConnection(roomName)
    -.then((result) => {
    -  const failedRefreshIds = Object.keys(result.refreshErrors);
    -  failedRefreshIds.forEach((peerId) => {
    -   // handle error
    -  });
    -});
    +skylink.refreshDatachannel("Room_1", "peerID_1");
    @@ -6345,13 +5467,13 @@
    Examples
    - + -

    - refreshDatachannel(roomName, peerId) → {null} +

    + sendMessage(roomName, message, targetPeerIdopt)

    @@ -6360,7 +5482,8 @@

    -

    Method that refreshes the main messaging data channel.

    +

    Function that sends a message to peers via the Signaling socket connection.

    +

    sendMessage can also be used to trigger call actions on the remote. Refer to Example 3 for muting the remote peer.

    @@ -6382,6 +5505,8 @@

    Parameters:
    Type + Attributes + @@ -6410,11 +5535,19 @@
    Parameters:
    + + + + + + + + -

    The room name.

    +

    room name to send the message.

    @@ -6422,7 +5555,7 @@
    Parameters:
    - peerId + message @@ -6432,6 +5565,12 @@
    Parameters:
    String
    + | + + + JSON + + @@ -6439,11 +5578,68 @@
    Parameters:
    + + + + + + + + -

    The target peer id of the peer data channel to refresh.

    +

    The message.

    + + + + + + + + targetPeerId + + + + + + + String + + + | + + + Array + + + + + + + + + + + + <optional>
    + + + + + + + + + + + +

    The target peer id to send message to.

    +
      +
    • When provided as an Array, it will send the message to only peers which ids are in the list.
    • +
    • When not provided, it will broadcast the message to all connected peers in the room.
    • +
    @@ -6465,7 +5661,7 @@
    Parameters:
    • - 0.6.30 + 0.4.0
    @@ -6496,7 +5692,7 @@
    Parameters:
    @@ -6513,6 +5709,15 @@
    Parameters:
    +
    Fires:
    + + @@ -6522,17 +5727,46 @@
    Parameters:
    - + -
    Example
    +
    Examples
    -
    Example 1: Initiate refresh data channel
    +  
    Example 1: Broadcasting to all peers
     
    -skylink.refreshDatachannel("Room_1", "peerID_1");
    +let sendMessage = (roomName) => { + const message = "Hi!"; + const selectedPeers = this.state[location]['selectedPeers']; + skylink.sendMessage(roomName, message, selectedPeers); +}
    + + +
    Example 2: Broadcasting to selected peers
    +
    +let sendMessage = (roomName) => {
    +   const message = "Hi all!";
    +   const selectedPeers = ["PeerID_1", "PeerID_2"];
    +   skylink.sendMessage(roomName, message, selectedPeers);
    +}
    + + +
    Example 3: Muting the remote peer
    +
    +// The local peer - send custom message object
    +const msgObject = JSON.stringify({ data: "data-content", type: "muteStreams", audio: true, video: false });
    +this.skylink.sendP2PMessage(roomName, msgObject);
    +
    +// The remote peer - add an event listener for ON_INCOMING_MESSAGE and check for the custom message object
    +SkylinkEventManager.addEventListener(skylinkConstants.EVENTS.ON_INCOMING_MESSAGE, (evt) => {
    +   const {message, peerId, isSelf, room} = evt.detail;
    +   const msg = JSON.parse(message.content);
    +   if (msg.type === "muteStreams") {
    +      skylink.muteStreams(roomName, { audioMuted: msg.audio, videoMuted: msg.video });
    +     }
    +   });
    @@ -6545,13 +5779,13 @@
    Example
    - + - -

    - sendMessage(roomName, message, targetPeerIdopt) + +

    + sendP2PMessage(roomNameopt, message, targetPeerIdopt)

    @@ -6560,7 +5794,7 @@

    -

    Function that sends a message to peers via the Signaling socket connection.

    +

    Method that sends a message to peers via the data channel connection.

    @@ -6614,6 +5848,8 @@

    Parameters:
    + <optional>
    + @@ -6624,7 +5860,9 @@
    Parameters:
    -

    room name to send the message.

    +

    The name of the room the message is intended for. +When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). +Note when roomName is provided, targetPeerId should be provided as null.

    @@ -6712,11 +5950,9 @@
    Parameters:
    -

    The target peer id to send message to.

    -
      -
    • When provided as an Array, it will send the message to only peers which ids are in the list.
    • -
    • When not provided, it will broadcast the message to all connected peers in the room.
    • -
    +

    The target peer id to send message to. +When provided as an Array, it will send the message to only peers which ids are in the list. +When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

    @@ -6734,15 +5970,6 @@
    Parameters:
    -
    Since:
    -
    -
      -
    • - 0.4.0 -
    • -
    -
    - @@ -6769,7 +5996,7 @@
    Parameters:
    @@ -6790,7 +6017,7 @@
    Fires:
    @@ -6804,29 +6031,63 @@
    Fires:
    - + -
    Examples
    +
    Examples
    -
    Example 1: Broadcasting to all peers
    +  
    Example 1: Broadcasting to all peers in all rooms
     
    -let sendMessage = (roomName) => {
    -   const message = "Hi!";
    -   const selectedPeers = this.state[location]['selectedPeers'];
    -   this.skylink.sendMessage(roomName, message, selectedPeers);
    -}
    +const message = "Hello everyone!"; +skylink.sendP2PMessage(message);
    -
    Example 2: Broadcasting to selected peers
     
    -let sendMessage = (roomName) => {
    -   const message = "Hi all!";
    -   const selectedPeers = ["PeerID_1", "PeerID_2"];
    -   this.skylink.sendMessage(roomName, message, selectedPeers);
    +  
    Example 2: Broadcasting to all peers in a room
    +
    +const message = "Hello everyone!";
    +const roomName = "Room_1";
    +
    +skylink.sendP2PMessage(message, null, roomName);
    + + +
    Example 3: Sending message to a peer in all rooms
    +
    +const message = "Hello!";
    +const targetPeerId = "peerId";
    +
    +skylink.sendP2PMessage(message, targetPeerId);
    + + +
    Example 4: Sending message to a peer in a room
    +
    +const message = "Hello!";
    +const targetPeerId = "peerId";
    +const roomName = "Room_1";
    +
    +skylink.sendP2PMessage(message, targetPeerId, roomName);
    + + +
    Example 5: Sending message to selected Peers in a room
    +
    +const message = "Hello!";
    +const selectedPeers = ["peerId_1", "peerId_2"];
    +const roomName = "Room_1";
    +
    +skylink.sendP2PMessage(message, selectedPeers, roomName);
    + + +
    // Listen for onIncomingMessage event
    +skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
    +  const detail = evt.detail;
    +  if (detail.isSelf) {
    +    // handle message from self
    +  } else {
    +    // handle message from remote peer
    +  }
     }
    @@ -6840,13 +6101,13 @@
    Examples
    - + -

    - sendP2PMessage(roomNameopt, message, targetPeerIdopt) +

    + sendStream(roomName, options) → {Promise.<MediaStreams>}

    @@ -6855,8 +6116,9 @@

    -

    Method that sends a message to peers via the data channel connection. -Consider using sendURLData if you are sending large strings to peers.

    +

    Method that sends a new userMedia stream to all connected peers in a room.

    +

    Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is +MediaStream of kind video.

    @@ -6878,8 +6140,6 @@

    Parameters:
    Type - Attributes - @@ -6908,23 +6168,11 @@
    Parameters:
    - - - <optional>
    - - - - - - - -

    The name of the room the message is intended for. -When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). -Note when roomName is provided, targetPeerId should be provided as null.

    +

    The room name.

    @@ -6932,63 +6180,20 @@
    Parameters:
    - message + options - - String - - - | - JSON - - - - - - - - - - - - - - - - - - - -

    The message.

    - - - - - - - - targetPeerId - - - - - - - String - - | - Array + MediaStream @@ -6998,23 +6203,17 @@
    Parameters:
    - - - <optional>
    - - - - - - - -

    The target peer id to send message to. -When provided as an Array, it will send the message to only peers which ids are in the list. -When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

    +

    The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

    +
      +
    • When provided as a MediaStream object, this configures the options.audio and +options.video based on the tracks available in the MediaStream object. +Object signature matches the options parameter in the +getUserMedia method.
    • +
    @@ -7032,6 +6231,15 @@
    Parameters:
    +
    Since:
    +
    +
      +
    • + 0.5.6 +
    • +
    +
    + @@ -7058,7 +6266,7 @@
    Parameters:
    @@ -7079,7 +6287,18 @@
    Fires:
    • - onIncomingMessage + MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and +isAudioFallback=false if userMedia options is passed into +sendStream method.event: +
    • + +
    • + ON INCOMING STREAM event with parameter payload isSelf=true and +stream as userMedia stream.event: +
    • + +
    • + PEER UPDATED event with parameter payload isSelf=true.
    @@ -7093,63 +6312,51 @@
    Fires:
    - + -
    Examples
    +
    Example
    -
    Example 1: Broadcasting to all peers in all rooms
    -
    -const message = "Hello everyone!";
    -
    -skylink.sendP2PMessage(message);
    - - -
    Example 2: Broadcasting to all peers in a room
    -
    -const message = "Hello everyone!";
    -const roomName = "Room_1";
    -
    -skylink.sendP2PMessage(message, null, roomName);
    - - -
    Example 3: Sending message to a peer in all rooms
    -
    -const message = "Hello!";
    -const targetPeerId = "peerId";
    -
    -skylink.sendP2PMessage(message, targetPeerId);
    - - -
    Example 4: Sending message to a peer in a room
    -
    -const message = "Hello!";
    -const targetPeerId = "peerId";
    -const roomName = "Room_1";
    -
    -skylink.sendP2PMessage(message, targetPeerId, roomName);
    +
    Example 1: Send new MediaStream with audio and video
     
    +let sendStream = (roomName) => {
    +const options = { audio: true, video: true };
     
    -  
    Example 5: Sending message to selected Peers in a room
    +// Add listener to incomingStream event
    +SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
    +  const { detail } = evt;
    +  window.attachMediaStream(localVideoEl, detail.stream);
    +})
     
    -const message = "Hello!";
    -const selectedPeers = ["peerId_1", "peerId_2"];
    -const roomName = "Room_1";
    +skylink.sendStream(roomName, options)
    + // streams can also be obtained from resolved promise
    + .then((streams) => {
    +       if (streams[0]) {
    +         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
    +       }
    +       if (streams[1]) {
    +         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
    +       }
    +   })
    +  .catch((error) => { console.error(error) });
    +}
     
    -skylink.sendP2PMessage(message, selectedPeers, roomName);
    +Example 2: Use pre-fetched media streams +const prefetchedStreams = null; +skylink.getUserMedia(null, { + audio: { stereo: true }, + video: true, + }) + .then((streams) => { + prefetchedStream = streams +}); -
    // Listen for onIncomingMessage event
    -skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
    -  const detail = evt.detail;
    -  if (detail.isSelf) {
    -    // handle message from self
    -  } else {
    -    // handle message from remote peer
    -  }
    +skylink.sendStream(roomName, prefetchedStreams)
    +  .catch((error) => { console.error(error) });
     }
    @@ -7163,13 +6370,13 @@
    Examples
    - + -

    - sendStream(roomName, options) → {Promise.<MediaStreams>} +

    + setEncryptSecret(roomName, secret, secretId)

    @@ -7178,9 +6385,7 @@

    -

    Method that sends a new userMedia stream to all connected peers in a room.

    -

    Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is -MediaStream of kind video.

    +

    Method that stores a secret and secret id pair used for encrypting and decrypting messages.

    @@ -7242,20 +6447,43 @@

    Parameters:
    - options + secret - JSON + String - | + + + + + + + + + + +

    A secret to use for encrypting and decrypting messages.

    + + + + + + + + secretId + + + + + - MediaStream + String @@ -7269,13 +6497,7 @@
    Parameters:
    -

    The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

    -
      -
    • When provided as a MediaStream object, this configures the options.audio and -options.video based on the tracks available in the MediaStream object. -Object signature matches the options parameter in the -getUserMedia method.
    • -
    +

    The id of the secret.

    @@ -7297,7 +6519,7 @@
    Parameters:
    • - 0.5.6 + 2.0.0
    @@ -7328,7 +6550,7 @@
    Parameters:
    @@ -7345,84 +6567,13 @@
    Parameters:
    -
    Fires:
    - - - - - - - - - - -
    - - - - - -
    Example
    - - -
    Example 1: Send new MediaStream with audio and video
    -
    -let sendStream = (roomName) => {
    -const options = { audio: true, video: true };
     
    -// Add listener to incomingStream event
    -SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
    -  const { detail } = evt;
    -  window.attachMediaStream(localVideoEl, detail.stream);
    -})
     
    -skylink.sendStream(roomName, options)
    - // streams can also be obtained from resolved promise
    - .then((streams) => {
    -       if (streams[0]) {
    -         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
    -       }
    -       if (streams[1]) {
    -         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
    -       }
    -   })
    -  .catch((error) => { console.error(error) });
    -}
     
    -Example 2: Use pre-fetched media streams
     
    -const prefetchedStreams = null;
    -skylink.getUserMedia(null, {
    -   audio: { stereo: true },
    -   video: true,
    -   })
    -   .then((streams) => {
    -     prefetchedStream = streams
    -});
     
    -skylink.sendStream(roomName, prefetchedStreams)
    -  .catch((error) => { console.error(error) });
    -}
    -
    @@ -7432,13 +6583,13 @@
    Example
    - + -

    - setEncryptSecret(roomName, secret, secretId) +

    + setMessagePersistence(roomName, isPersistent)

    @@ -7447,7 +6598,12 @@

    -

    Method that stores a secret and secret id pair used for encrypting and decrypting messages.

    +

    Method that overrides the persistent message feature configured at the key level.

    +
    + Note that to set message persistence at the app level, the persistent message feature MUST be enabled at the key level in the Temasys + Developers Console. Messages will also only be persisted if the messages are encrypted, are public messages and, are sent via the signaling + server using the sendMessage method. +
    @@ -7509,43 +6665,14 @@

    Parameters:
    - secret - - - - - - - String - - - - - - - - - - - - - -

    A secret to use for encrypting and decrypting messages.

    - - - - - - - - secretId + isPersistent - String + Boolean @@ -7559,7 +6686,7 @@
    Parameters:
    -

    The id of the secret.

    +

    The flag if messages should be persisted.

    @@ -7612,7 +6739,7 @@
    Parameters:
    @@ -7796,7 +6923,7 @@
    Parameters:
    @@ -7977,7 +7104,7 @@
    Parameters:
    @@ -7998,7 +7125,7 @@
    Fires:
    @@ -8048,7 +7175,7 @@
    Example

    - shareScreen(roomName, replaceUserMediaStream, streamIdopt) → {MediaStream|null} + shareScreen(roomName) → {MediaStream|null}

    @@ -8079,8 +7206,6 @@
    Parameters:
    Type - Attributes - @@ -8109,14 +7234,6 @@
    Parameters:
    - - - - - - - - @@ -8127,83 +7244,6 @@
    Parameters:
    - - - replaceUserMediaStream - - - - - - - Boolean - - - - - - - - - - - - - - - - - - - - - -

    The flag if screenshare replaces the userMedia stream.

    - - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - <optional>
    - - - - - - - - - - - -

    The stream id of the userMedia stream to replace. streamId must be provided if there is more than -one userMedia stream on the peer connection and replaceUserMediaStream is true.

    - - - - - @@ -8251,7 +7291,7 @@
    Parameters:
    @@ -8325,7 +7365,7 @@

    Note that this feature requires MCU and recording to be enabled for the App Key provided in initOptions. If recording feature is not available to - be enabled in the Temasys Developer Console, please contact us on our support portal here. + be enabled in the Temasys Developer Console, please contact us on our support portal here.

    @@ -8433,7 +7473,7 @@
    Parameters:
    @@ -8454,11 +7494,12 @@
    Fires:
    • - recordingStateEvent with payload state=START if recording has started successfully. + RECORDING STATE event with payload state=START if recording has started +successfully.event:
    • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
    @@ -8685,7 +7726,7 @@
    Parameters:
    @@ -8706,7 +7747,7 @@
    Fires:
    @@ -8769,8 +7810,8 @@

    • Note that this feature requires MCU and recording to be enabled for the App Key provided in the - initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, - please contact us on our support portal here. + initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, + please contact us on our support portal here.
    • It is mandatory for the recording session to have elapsed for more than 4 minutes before calling stopRecording method. @@ -8883,7 +7924,7 @@
      Parameters:
      @@ -8904,11 +7945,12 @@
      Fires:
      • - recordingStateEvent with payload state=STOP if recording has stopped successfully. + RECORDING STATE event with payload state=STOP if recording has stopped +successfully.event:
      • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
      @@ -9105,7 +8147,7 @@
      Parameters:
      @@ -9126,7 +8168,7 @@
      Fires:
      @@ -9291,7 +8333,7 @@
      Parameters:
      @@ -9312,19 +8354,19 @@
      Fires:
      • - mediaAccessStoppedEvent with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream + MEDIA ACCESS STOPPED event with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream
      • - streamEndedEvent with parameter payload isSelf value as true and isScreensharing value as true if user is in the room + STREAM ENDED event with parameter payload isSelf value as true and isScreensharing value as true if user is in the room
      • - peerUpdatedEvent with parameter payload isSelf value as true + PEER UPDATED event with parameter payload isSelf value as true
      • - onIncomingStreamEvent with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream + ON INCOMING STREAM event with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream
      @@ -9512,7 +8554,7 @@
      Parameters:
      @@ -9533,15 +8575,15 @@
      Fires:
      • - mediaAccessStoppedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream. + MEDIA ACCESS STOPPED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream.
      • - streamEndedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room. + STREAM ENDED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room.
      • - peerUpdatedEvent with parameter payload isSelf=true. + PEER UPDATED event with parameter payload isSelf=true.
      @@ -9699,7 +8741,7 @@
      Parameters:
      @@ -9720,7 +8762,7 @@
      Fires:
      • - roomLockEvent with payload parameters isLocked=false when the room is successfully locked. + ROOM LOCK event with payload parameters isLocked=false when the room is successfully locked.
      diff --git a/publish/2.x/docs/SkylinkConstants.html b/publish/2.x/docs/SkylinkConstants.html index ae20e5d76..9011e2257 100644 --- a/publish/2.x/docs/SkylinkConstants.html +++ b/publish/2.x/docs/SkylinkConstants.html @@ -76,7 +76,7 @@

      -

      Classes

      Namespaces

      +

      Classes

      Namespaces

      @@ -106,7 +106,42 @@

      @@ -177,21 +212,19 @@

      Members

      -

      - (static, constant) AUDIO_CODEC :Object +

      + (static, constant) BUNDLE_POLICY :Object

      -

      - Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. +
      + Learn more about how ICE works in this + article here.
      -The list of available audio codecs to set as the preferred audio codec to use to encode -sending audio data when available encoded audio codec for Peer connections -configured in Skylink initOptions.

      +The list of available Peer connection bundle policies.
      @@ -223,7 +256,7 @@
      Properties:
      - AUTO + MAX_COMPAT @@ -244,9 +277,9 @@
      Properties:
      -

      Value "auto" - The value of the option to not prefer any audio codec but rather use the created - local "offer" / "answer" session description audio codec preference.

      +

      Value "max-compat" +The value of the bundle policy to generate ICE candidates for each media type +so each media type flows through different transports.

      @@ -254,7 +287,7 @@
      Properties:
      - OPUS + MAX_BUNDLE @@ -275,8 +308,9 @@
      Properties:
      -

      Value "opus" - The value of the option to prefer the OPUS audio codec.

      +

      Value "max-bundle" +The value of the bundle policy to generate ICE candidates for one media type +so all media type flows through a single transport.

      @@ -284,7 +318,7 @@
      Properties:
      - ISAC + BALANCED @@ -305,8 +339,9 @@
      Properties:
      -

      Value "ISAC" - The value of the option to prefer the ISAC audio codec.

      +

      Value "balanced" +The value of the bundle policy to use MAX_BUNDLE if Peer supports it, +else fallback to MAX_COMPAT.

      @@ -314,7 +349,7 @@
      Properties:
      - ILBC + NONE @@ -335,46 +370,126 @@
      Properties:
      -

      Value "ILBC" - The value of the option to prefer the iLBC audio codec.

      +

      Value "none" +The value of the bundle policy to not use any media bundle. +This removes the a=group:BUNDLE line from session descriptions.

      + + - - - G722 - - - - - - String - - + +
      + + + + +
      Since:
      +
      +
        +
      • + 0.6.18 +
      • +
      +
      + + + + + + + + + + + + + + + + + + + + + + + +
      Source:
      +
      + +
      + + + + + + + +
      - - - + + + + - -

      Value "G722" - The value of the option to prefer the G722 audio codec.

      - - +

      + (static, constant) CANDIDATE_GENERATION_STATE :Object +

      + + + + +
      +
      + Learn more about how ICE works in this + article here. +
      +The list of Peer connection ICE gathering states. +
      + + + + +
      Properties:
      + + + + + + + + + + + + + + + + + + + + - + @@ -404,7 +524,7 @@
      Properties:
      - + @@ -446,7 +566,7 @@
      Properties:
      • - 0.5.10 + 0.4.1
      @@ -477,7 +597,7 @@
      Properties:
      @@ -499,19 +619,19 @@
      Properties:
      -

      - (static, constant) BUNDLE_POLICY :Object +

      + (static, constant) CANDIDATE_PROCESSING_STATE :Object

      -

      - Learn more about how ICE works in this - article here. +
      + Learn more about how ICE works in this + article here.
      -The list of available Peer connection bundle policies.

      +The list of Peer connection remote ICE candidate processing states for trickle ICE connections.
      @@ -543,7 +663,7 @@
      Properties:
      - + @@ -574,7 +693,7 @@
      Properties:
      - + @@ -605,7 +723,7 @@
      Properties:
      - + @@ -636,7 +753,7 @@
      Properties:
      - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -679,7 +857,7 @@
      Properties:
      • - 0.6.18 + 0.6.16
      @@ -710,7 +888,7 @@
      Properties:
      @@ -732,19 +910,15 @@
      Properties:
      -

      - (static, constant) CANDIDATE_GENERATION_STATE :Object +

      + (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object

      -

      - Learn more about how ICE works in this - article here. -
      -The list of Peer connection ICE gathering states.

      +

      The list of Datachannel sending message error types.

      @@ -776,7 +950,7 @@
      Properties:
      - + @@ -811,7 +981,7 @@
      Properties:
      - + @@ -853,7 +1025,7 @@
      Properties:
      • - 0.4.1 + 0.6.16
      @@ -884,7 +1056,7 @@
      Properties:
      @@ -906,19 +1078,15 @@
      Properties:
      -

      - (static, constant) CANDIDATE_PROCESSING_STATE :Object +

      + (static, constant) DATA_CHANNEL_STATE :object

      -

      - Learn more about how ICE works in this - article here. -
      -The list of Peer connection remote ICE candidate processing states for trickle ICE connections.

      +

      The list of Datachannel connection states.

      @@ -950,7 +1118,7 @@
      Properties:
      - + @@ -980,7 +1148,7 @@
      Properties:
      - + @@ -1010,7 +1178,7 @@
      Properties:
      - + @@ -1040,7 +1208,7 @@
      Properties:
      - + @@ -1070,7 +1238,7 @@
      Properties:
      - + @@ -1102,7 +1268,7 @@
      Properties:
      - + - -
      NameTypeDescription
      PCMAGATHERING @@ -395,8 +510,13 @@
      Properties:
      -

      Value "PCMA" - The value of the option to prefer the G711u audio codec.

      +

      Value "gathering" +The value of the state when Peer connection is gathering ICE candidates. +These ICE candidates are sent to Peer for its connection to check for a suitable matching +pair of ICE candidates to establish an ICE connection for stream audio, video and data. +See ICE_CONNECTION_STATE for ICE connection status. +This state cannot happen until Peer connection remote "offer" / "answer" +session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

      PCMUCOMPLETED @@ -425,8 +545,8 @@
      Properties:
      -

      Value "PCMU" - The value of the option to prefer the G711a audio codec.

      +

      Value "completed" +The value of the state when Peer connection gathering of ICE candidates has completed.

      MAX_COMPATRECEIVED @@ -564,9 +684,8 @@
      Properties:
      -

      Value "max-compat" - The value of the bundle policy to generate ICE candidates for each media type - so each media type flows through different transports.

      +

      Value "received" +The value of the state when the remote ICE candidate was received.

      MAX_BUNDLEDROPPED @@ -595,9 +714,8 @@
      Properties:
      -

      Value "max-bundle" - The value of the bundle policy to generate ICE candidates for one media type - so all media type flows through a single transport.

      +

      Value "received" +The value of the state when the remote ICE candidate is dropped.

      BALANCEDBUFFERED @@ -626,9 +744,8 @@
      Properties:
      -

      Value "balanced" - The value of the bundle policy to use MAX_BUNDLE if Peer supports it, - else fallback to MAX_COMPAT.

      +

      Value "buffered" +The value of the state when the remote ICE candidate is buffered.

      NONEPROCESSING @@ -657,9 +774,70 @@
      Properties:
      -

      Value "none" - The value of the bundle policy to not use any media bundle. - This removes the a=group:BUNDLE line from session descriptions.

      +

      Value "processing" +The value of the state when the remote ICE candidate is being processed.

      +
      PROCESS_SUCCESS + + + + String + + + + + + + +

      Value "processSuccess" +The value of the state when the remote ICE candidate has been processed successfully. +The ICE candidate that is processed will be used to check against the list of +locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

      +
      PROCESS_ERROR + + + + String + + + + + + + +

      Value "processError" +The value of the state when the remote ICE candidate has failed to be processed.

      GATHERINGMESSAGE @@ -797,13 +971,9 @@
      Properties:
      -

      Value "gathering" - The value of the state when Peer connection is gathering ICE candidates. - These ICE candidates are sent to Peer for its connection to check for a suitable matching - pair of ICE candidates to establish an ICE connection for stream audio, video and data. - See ICE_CONNECTION_STATE for ICE connection status. - This state cannot happen until Peer connection remote "offer" / "answer" - session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

      +

      Value "message" +The value of the Datachannel sending message error type when encountered during +sending P2P message from sendP2PMessage.

      COMPLETEDTRANSFER @@ -832,8 +1002,10 @@
      Properties:
      -

      Value "completed" - The value of the state when Peer connection gathering of ICE candidates has completed.

      +

      Value "transfer" +The value of the Datachannel sending message error type when encountered during +data transfers from sendURLData or +sendBlobData.

      RECEIVEDCONNECTING @@ -971,8 +1139,8 @@
      Properties:
      -

      Value "received" - The value of the state when the remote ICE candidate was received.

      +

      Value "connecting" +The value of the state when Datachannel is attempting to establish a connection.

      DROPPEDOPEN @@ -1001,8 +1169,8 @@
      Properties:
      -

      Value "received" - The value of the state when the remote ICE candidate is dropped.

      +

      Value "open" +The value of the state when Datachannel has established a connection.

      BUFFEREDCLOSING @@ -1031,8 +1199,8 @@
      Properties:
      -

      Value "buffered" - The value of the state when the remote ICE candidate is buffered.

      +

      Value "closing" +The value of the state when Datachannel connection is closing.

      PROCESSINGCLOSED @@ -1061,8 +1229,8 @@
      Properties:
      -

      Value "processing" - The value of the state when the remote ICE candidate is being processed.

      +

      Value "closed" +The value of the state when Datachannel connection has closed.

      PROCESS_SUCCESSERROR @@ -1091,10 +1259,8 @@
      Properties:
      -

      Value "processSuccess" - The value of the state when the remote ICE candidate has been processed successfully. - The ICE candidate that is processed will be used to check against the list of - locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

      +

      Value "error" +The value of the state when Datachannel has encountered an exception during connection.

      PROCESS_ERRORCREATE_ERROR @@ -1123,121 +1289,16 @@
      Properties:
      -

      Value "processError" - The value of the state when the remote ICE candidate has failed to be processed.

      +

      Value "createError" +The value of the state when Datachannel has failed to establish a connection.

      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.6.16 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - -

      - (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object -

      - - - - -
      -

      The list of Datachannel sending message error types.

      -
      - - - - -
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - + @@ -1268,7 +1331,7 @@
      Properties:
      - + @@ -1312,7 +1375,7 @@
      Properties:
      • - 0.6.16 + 0.1.0
      @@ -1343,7 +1406,7 @@
      Properties:
      @@ -1365,15 +1428,15 @@
      Properties:
      -

      - (static, constant) DATA_CHANNEL_STATE :object +

      + (static, constant) DATA_CHANNEL_TYPE :object

      -

      The list of Datachannel connection states.

      +

      The list of Datachannel types.

      @@ -1394,1672 +1457,18 @@
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      MESSAGEBUFFERED_AMOUNT_LOW @@ -1258,9 +1319,11 @@
      Properties:
      -

      Value "message" - The value of the Datachannel sending message error type when encountered during - sending P2P message from Skylink#sendP2PMessage.

      +

      Value "bufferedAmountLow" +The value of the state when Datachannel when the amount of data buffered to be sent +falls below the Datachannel threshold. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

      TRANSFERSEND_MESSAGE_ERROR @@ -1289,10 +1352,10 @@
      Properties:
      -

      Value "transfer" - The value of the Datachannel sending message error type when encountered during - data transfers from Skylink#sendURLData or - Skylink#sendBlobData.

      +

      Value "sendMessageError" +The value of the state when Datachannel when data transfer packets or P2P message fails to send. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

      Description
      CONNECTING - - - - String - - - - - - - -

      Value "connecting" - The value of the state when Datachannel is attempting to establish a connection.

      -
      OPEN - - - - String - - - - - - - -

      Value "open" - The value of the state when Datachannel has established a connection.

      -
      CLOSING - - - - String - - - - - - - -

      Value "closing" - The value of the state when Datachannel connection is closing.

      -
      CLOSED - - - - String - - - - - - - -

      Value "closed" - The value of the state when Datachannel connection has closed.

      -
      ERROR - - - - String - - - - - - - -

      Value "error" - The value of the state when Datachannel has encountered an exception during connection.

      -
      CREATE_ERROR - - - - String - - - - - - - -

      Value "createError" - The value of the state when Datachannel has failed to establish a connection.

      -
      BUFFERED_AMOUNT_LOW - - - - String - - - - - - - -

      Value "bufferedAmountLow" - The value of the state when Datachannel when the amount of data buffered to be sent - falls below the Datachannel threshold. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

      -
      SEND_MESSAGE_ERROR - - - - String - - - - - - - -

      Value "sendMessageError" - The value of the state when Datachannel when data transfer packets or P2P message fails to send. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

      -
      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.1.0 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - -

      - (static, constant) DATA_CHANNEL_TYPE :object -

      - - - - -
      -

      The list of Datachannel types.

      -
      - - - - -
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      MESSAGING - - - - String - - - - - - - -

      Value "messaging" - The value of the Datachannel type that is used only for messaging in - Skylink#sendP2PMessage. - However for Peers that do not support simultaneous data transfers, this Datachannel - type will be used to do data transfers (1 at a time). - Each Peer connections will only have one of this Datachannel type and the - connection will only close when the Peer connection is closed (happens when peerConnectionStateEvent triggers parameter payload state as - CLOSED for Peer).

      -
      DATA - - - - String - - - - - - - -

      Value "data" - The value of the Datachannel type that is used only for a data transfer in - Skylink#sendURLData and - Skylink#sendBlobData. - The connection will close after the data transfer has been completed or terminated (happens when - SkylinkEvents.event:dataTransferStatedataTransferStateEvent triggers parameter payload - state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, - REJECTED, CANCEL or ERROR for Peer).

      -
      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.6.1 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - -

      - (static, constant) EVENTS :object -

      - - - - - - - -
      Properties:
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - + + - + @@ -3088,7 +1504,7 @@
      Properties:
      - + @@ -3129,7 +1552,7 @@
      Properties:
      • - 2.0 + 0.6.1
      @@ -3160,7 +1583,7 @@
      Properties:
      @@ -3244,7 +1667,7 @@
      Properties:
      @@ -3274,7 +1697,7 @@
      Properties:
      @@ -3304,7 +1727,7 @@
      Properties:
      @@ -3355,7 +1778,7 @@
      Properties:
      @@ -3385,15 +1808,15 @@

      -

      - Note that this feature requires "isPrivileged" flag to be enabled for the App Key +
      + Note that this feature requires "isPrivileged" flag to be enabled for the App Key provided in Skylink initOptions, as only Users connecting using the App Key with this flag enabled (which we call privileged Users / Peers) can retrieve the list of Peer IDs from Rooms within the same App space. Read more about privileged App Key feature here.
      -The list of getPeers() method retrieval states.

      +The list of getPeers method retrieval states.
      @@ -3447,8 +1870,8 @@

      Properties:
      @@ -3478,8 +1901,8 @@
      Properties:
      @@ -3530,7 +1953,7 @@
      Properties:
      @@ -3614,9 +2037,9 @@
      Properties:
      @@ -3646,9 +2069,9 @@
      Properties:
      @@ -3678,8 +2101,8 @@
      Properties:
      @@ -3709,8 +2132,8 @@
      Properties:
      @@ -3740,8 +2163,8 @@
      Properties:
      @@ -3771,9 +2194,9 @@
      Properties:
      @@ -3824,7 +2247,7 @@
      Properties:
      @@ -3854,11 +2277,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of Peer connection ICE connection states.

      +The list of Peer connection ICE connection states.
      @@ -3912,9 +2335,9 @@

      Properties:
      @@ -3944,11 +2367,11 @@
      Properties:
      @@ -3978,10 +2401,10 @@
      Properties:
      @@ -4011,7 +2434,7 @@
      Properties:
      @@ -4041,9 +2464,9 @@
      Properties:
      @@ -4073,38 +2496,8 @@
      Properties:
      - - - - - - - - - - - - - - - - @@ -4155,7 +2548,7 @@
      Properties:
      @@ -4239,8 +2632,8 @@
      Properties:
      @@ -4270,8 +2663,8 @@
      Properties:
      @@ -4301,8 +2694,8 @@
      Properties:
      @@ -4332,8 +2725,8 @@
      Properties:
      @@ -4363,7 +2756,7 @@
      Properties:
      @@ -4393,7 +2786,7 @@
      Properties:
      @@ -4444,7 +2837,7 @@
      Properties:
      @@ -4474,8 +2867,8 @@

      -

      The list of Skylink#getUserMedia or -Skylink#shareScreen Stream fallback states.

      +

      The list of getUserMedia or +shareScreen Stream fallback states.

      @@ -4529,10 +2922,10 @@

      Properties:
      @@ -4562,8 +2955,8 @@
      Properties:
      @@ -4593,8 +2986,8 @@
      Properties:
      @@ -4645,7 +3038,7 @@
      Properties:
      @@ -4676,7 +3069,7 @@

      The list of available screensharing media sources configured in the -Skylink#shareScreen.

      +shareScreen.

      @@ -4730,7 +3123,7 @@

      Properties:
      @@ -4760,7 +3153,7 @@
      Properties:
      @@ -4790,8 +3183,8 @@
      Properties:
      @@ -4821,9 +3214,9 @@
      Properties:
      @@ -4853,8 +3246,8 @@
      Properties:
      @@ -4884,9 +3277,9 @@
      Properties:
      @@ -4916,8 +3309,8 @@
      Properties:
      @@ -4968,7 +3361,7 @@
      Properties:
      @@ -5189,7 +3582,7 @@
      Properties:
      @@ -5384,7 +3777,7 @@
      Properties:
      @@ -5663,7 +4056,7 @@
      Properties:
      @@ -5693,11 +4086,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of available Peer connection certificates cryptographic algorithm to use.

      +The list of available Peer connection certificates cryptographic algorithm to use.
      @@ -5751,7 +4144,7 @@

      Properties:
      @@ -5781,7 +4174,7 @@
      Properties:
      @@ -5811,7 +4204,7 @@
      Properties:
      @@ -5862,7 +4255,7 @@
      Properties:
      @@ -5892,11 +4285,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of Peer connection session description exchanging states.

      +The list of Peer connection session description exchanging states.
      @@ -5950,7 +4343,7 @@

      Properties:
      @@ -5980,11 +4373,11 @@
      Properties:
      @@ -6014,11 +4407,11 @@
      Properties:
      @@ -6048,7 +4441,7 @@
      Properties:
      @@ -6099,7 +4492,7 @@
      Properties:
      @@ -6183,7 +4576,7 @@
      Properties:
      @@ -6213,8 +4606,8 @@
      Properties:
      @@ -6244,10 +4637,10 @@
      Properties:
      @@ -6277,7 +4670,7 @@
      Properties:
      @@ -6328,7 +4721,7 @@
      Properties:
      @@ -6412,9 +4805,9 @@
      Properties:
      @@ -6444,9 +4837,9 @@
      Properties:
      @@ -6476,9 +4869,9 @@
      Properties:
      @@ -6508,10 +4901,10 @@
      Properties:
      @@ -6541,12 +4934,12 @@
      Properties:
      @@ -6576,9 +4969,9 @@
      Properties:
      @@ -6608,9 +5001,9 @@
      Properties:
      @@ -6641,10 +5034,10 @@
      Properties:
      @@ -6674,8 +5067,8 @@
      Properties:
      @@ -6705,9 +5098,9 @@
      Properties:
      @@ -6737,7 +5130,7 @@
      Properties:
      @@ -6767,7 +5160,7 @@
      Properties:
      @@ -6797,9 +5190,9 @@
      Properties:
      @@ -6829,10 +5222,10 @@
      Properties:
      @@ -6862,13 +5255,13 @@
      Properties:
      @@ -6898,7 +5291,7 @@
      Properties:
      @@ -6928,10 +5321,10 @@
      Properties:
      @@ -6961,7 +5354,7 @@
      Properties:
      @@ -7012,7 +5405,7 @@
      Properties:
      @@ -7096,7 +5489,7 @@
      Properties:
      @@ -7126,8 +5519,8 @@
      Properties:
      @@ -7157,7 +5550,7 @@
      Properties:
      @@ -7187,9 +5580,9 @@
      Properties:
      @@ -7240,7 +5633,7 @@
      Properties:
      @@ -7270,11 +5663,11 @@

      -

      +
      Learn more about how ICE works in this article here.
      -The list of available Peer connection RTCP mux policies.

      +The list of available Peer connection RTCP mux policies.
      @@ -7328,7 +5721,7 @@

      Properties:
      @@ -7358,7 +5751,7 @@
      Properties:
      @@ -7409,7 +5802,7 @@
      Properties:
      @@ -7493,7 +5886,7 @@
      Properties:
      @@ -7523,8 +5916,8 @@
      Properties:
      @@ -7554,7 +5947,7 @@
      Properties:
      @@ -7605,7 +5998,7 @@
      Properties:
      @@ -7768,7 +6161,7 @@
      Properties:
      @@ -7798,11 +6191,11 @@

      -

      +
      As there are more features getting implemented, there will be eventually more different types of server Peers.
      -The list of available types of server Peer connections.

      +The list of available types of server Peer connections.
      @@ -7856,7 +6249,7 @@

      Properties:
      @@ -7907,7 +6300,7 @@
      Properties:
      @@ -7937,11 +6330,11 @@

      -

      +
      Note that this is used only for SDK developer purposes.
      - Current version: 0.1.4 + Current version: 2.1.0
      -The value of the current version of the Signaling socket message protocol.

      +The value of the current version of the Signaling socket message protocol.
      @@ -7987,7 +6380,7 @@

      @@ -8017,7 +6410,7 @@

      -

      The list of Skylink#joinRoom socket connection failure states.

      +

      The list of joinRoom socket connection failure states.

      @@ -8071,8 +6464,8 @@

      Properties:
      @@ -8102,8 +6495,8 @@
      Properties:
      @@ -8133,9 +6526,9 @@
      Properties:
      @@ -8165,9 +6558,9 @@
      Properties:
      @@ -8197,9 +6590,9 @@
      Properties:
      @@ -8250,7 +6643,7 @@
      Properties:
      @@ -8280,7 +6673,7 @@

      -

      The list of Skylink#joinRoom socket connection reconnection states.

      +

      The list of joinRoom socket connection reconnection states.

      @@ -8334,8 +6727,8 @@

      Properties:
      @@ -8365,8 +6758,8 @@
      Properties:
      @@ -8396,8 +6789,8 @@
      Properties:
      @@ -8427,8 +6820,8 @@
      Properties:
      @@ -8458,8 +6851,8 @@
      Properties:
      @@ -8510,7 +6903,7 @@
      Properties:
      @@ -8540,7 +6933,7 @@

      -

      The list of Signaling server reaction states during Skylink#joinRoom.

      +

      The list of Signaling server reaction states during joinRoom.

      @@ -8594,7 +6987,7 @@

      Properties:
      @@ -8624,7 +7017,7 @@
      Properties:
      @@ -8654,7 +7047,7 @@
      Properties:
      @@ -8705,7 +7098,7 @@
      Properties:
      @@ -8736,7 +7129,7 @@

      The list of Signaling server reaction states reason of action code during -Skylink#joinRoom.

      +joinRoom.

      @@ -8790,9 +7183,9 @@

      Properties:
      @@ -8822,8 +7215,8 @@
      Properties:
      @@ -8853,9 +7246,9 @@
      Properties:
      @@ -8885,9 +7278,9 @@
      Properties:
      @@ -8917,9 +7310,9 @@
      Properties:
      @@ -8949,9 +7342,9 @@
      Properties:
      @@ -8981,16 +7374,12 @@
      Properties:
      @@ -9020,10 +7409,10 @@
      Properties:
      @@ -9053,9 +7442,9 @@
      Properties:
      @@ -9085,9 +7474,9 @@
      Properties:
      @@ -9117,10 +7506,10 @@
      Properties:
      @@ -9171,7 +7560,7 @@
      Properties:
      @@ -9201,16 +7590,16 @@

      -

      +
      Note that configuring the protocol may not necessarily result in the desired network transports protocol used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing + This simply configures the TURN ICE server urls query option when constructing the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols.
      The list of TURN network transport protocols options when constructing Peer connections configured in Skylink initOptions. -Example .urls inital input: ["turn:server.com?transport=tcp", -"turn:server1.com:3478", "turn:server.com?transport=udp"]

      +Example .urls inital input: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]
      @@ -9264,9 +7653,9 @@

      Properties:
      @@ -9296,9 +7685,9 @@
      Properties:
      @@ -9328,9 +7717,9 @@
      Properties:
      @@ -9360,11 +7749,11 @@
      Properties:
      @@ -9394,10 +7783,10 @@
      Properties:
      @@ -9448,239 +7837,7 @@
      Properties:
      -
      - - - - - - - - - - - - - - - - - - -

      - (static, constant) VIDEO_CODEC :Object -

      - - - - -
      -

      - Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. -
      -The list of available video codecs to set as the preferred video codec to use to encode -sending video data when available encoded video codec for Peer connections -configured in Skylink initOptions.

      -
      - - - - -
      Properties:
      - - - -
      NameTypeDescription
      ON_INCOMING_STREAM - - - - String - - - - - - - -

      'onIncomingStream'

      -
      ON_INCOMING_SCREEN_STREAM - - - - String - - - - - - - -

      'onIncomingScreenStream'

      -
      STREAM_ENDED - - - - String - - - - - - - -

      'streamEnded'

      -
      PEER_UPDATED - - - - String - - - - - - - -

      'peerUpdated'

      -
      PEER_JOINED - - - - String - - - - - - - -

      'peerJoined'

      -
      PEER_LEFT - - - - String - - - - - - - -

      'peerLeft'

      -
      PEER_CONNECTION_STATE - - - - String - - - - - - - -

      'peerConnectionState'

      -
      DATA_CHANNEL_STATE - - - - String - - - - - - - -

      'dataChannelState'

      -
      ON_INCOMING_MESSAGE - - - - String - - - - - - - -

      'onIncomingMessage'

      -
      HANDSHAKE_PROGRESS - - - - String - - - - - - - -

      'handshakeProgress'

      -
      SERVER_PEER_JOINED - - - - String - - - - - - - -

      'serverPeerJoined'

      -
      SERVER_PEER_LEFT - - - - String - - - - - - - -

      'serverPeerLeft'

      -
      CANDIDATE_PROCESSING_STATE - - - - String - - - - - - - -

      'candidateProcessingState'

      -
      CANDIDATE_GENERATION_STATE - - - - String - - - - - - - -

      'candidateGenerationState'

      -
      CANDIDATES_GATHERED - - - - String - - - - - - - -

      'candidatesGathered'

      -
      ON_INCOMING_DATA - - - - String - - - - - - - -

      'onIncomingData'

      -
      GET_PEERS_STATE_CHANGE - - - - String - - - - - - - -

      'getPeersStateChange'

      -
      SESSION_DISCONNECT - - - - String - - - - - - - -

      'sessionDisconnect'

      -
      STREAM_MUTED - - - - String - - - - - - - -

      'streamMuted'

      -
      CHANNEL_OPEN - - - - String - - - - - - - -

      'channelOpen'

      -
      CHANNEL_CLOSE - - - - String - - - - - - - -

      'channelClose'

      -
      CHANNEL_MESSAGE - - - - String - - - - - - - -

      'channelMessage'

      -
      CHANNEL_ERROR - - - - String - - - - - - - -

      'channelError'

      -
      CHANNEL_RETRY - - - - String - - - - - - - -

      'channelRetry'

      -
      SOCKET_ERROR - - - - String - - - - - - - -

      'socketError'

      -
      SYSTEM_ACTION - - - - String - - - - - - - -

      'systemAction'

      -
      MEDIA_ACCESS_FALLBACK - - - - String - - - - - - - -

      'mediaAccessFallback'

      -
      MEDIA_ACCESS_REQUIRED - - - - String - - - - - - - -

      'mediaAccessRequired'

      -
      MEDIA_ACCESS_STOPPED - - - - String - - - - - - - -

      'mediaAccessStopped'

      -
      MEDIA_ACCESS_SUCCESS - - - - String - - - - - - - -

      'mediaAccessSuccess'

      -
      RECORDING_STATE - - - - String - - - - - - - -

      'recordingState'

      -
      LOCAL_MEDIA_MUTED - - - - String - - - - - - - -

      'localMediaMuted'

      -
      MEDIA_ACCESS_ERROR - - - - String - - - - - - - -

      'mediaAccessError'

      -
      GET_CONNECTION_STATUS_STATE_CHANGE - - - - String - - - - - - - -

      'getConnectionStatusStateChange'

      -
      READY_STATE_CHANGE - - - - String - - - - - - - -

      'readyStateChange'

      -
      ROOM_LOCK - - - - String - - - - - - - -

      'roomLock'

      -
      ICE_CONNECTION_STATE - - - - String - - - - - - - -

      'iceConnectionState'

      -
      BYE - - - - String - - - - - - - -

      'bye'

      -
      RTMP_STATE - - - - String - - - - - - - -

      'rtmpState'

      -
      Description
      STORED_MESSAGESMESSAGING @@ -3080,7 +1489,14 @@
      Properties:
      -

      'storedMessages'

      +

      Value "messaging" +The value of the Datachannel type that is used only for messaging in +sendP2PMessage. +However for Peers that do not support simultaneous data transfers, this Datachannel +type will be used to do data transfers (1 at a time). +Each Peer connections will only have one of this Datachannel type and the +connection will only close when the Peer connection is closed (happens when PEER CONNECTION STATE event triggers parameter payload state as +CLOSED for Peer).

      ENCRYPT_SECRETS_UPDATEDDATA @@ -3109,7 +1525,14 @@
      Properties:
      -

      'encryptSecretsUpdated'

      +

      [UNAVAILABLE] Value "data" +The value of the Datachannel type that is used only for a data transfer in +sendURLData and +sendBlobData. +The connection will close after the data transfer has been completed or terminated (happens when +DATA TRANSFER STATE triggers parameter payload +state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, +REJECTED, CANCEL or ERROR for Peer).

      Value 0 - The value of the state when Skylink#getConnectionStatus is retrieving the Peer connection stats.

      +The value of the state when getConnectionStatus is retrieving the Peer connection stats.

      Value 1 - The value of the state when Skylink#getConnectionStatus has retrieved the Peer connection stats successfully.

      +The value of the state when getConnectionStatus has retrieved the Peer connection stats successfully.

      Value -1 - The value of the state when Skylink#getConnectionStatus has failed retrieving the Peer connection stats.

      +The value of the state when getConnectionStatus has failed retrieving the Peer connection stats.

      Value "enquired" - The value of the state when getPeers() is retrieving the list of Peer IDs - from Rooms within the same App space from the Signaling server.

      +The value of the state when getPeers is retrieving the list of Peer IDs +from Rooms within the same App space from the Signaling server.

      Value "received" - The value of the state when getPeers() has retrieved the list of Peer IDs - from Rooms within the same App space from the Signaling server successfully.

      +The value of the state when getPeers has retrieved the list of Peer IDs +from Rooms within the same App space from the Signaling server successfully.

      Value "enter" - The value of the connection state when Peer has just entered the Room. - At this stage, PEER_JOINED - is triggered.

      +The value of the connection state when Peer has just entered the Room. +At this stage, PEER_JOINED +is triggered.

      Value "welcome" - The value of the connection state when Peer is aware that User has entered the Room. - At this stage, PEER_JOINED - is triggered and Peer connection may commence.

      +The value of the connection state when Peer is aware that User has entered the Room. +At this stage, PEER_JOINED +is triggered and Peer connection may commence.

      Value "offer" - The value of the connection state when Peer connection has set the local / remote "offer" - session description to start streaming connection.

      +The value of the connection state when Peer connection has set the local / remote "offer" +session description to start streaming connection.

      Value "answer" - The value of the connection state when Peer connection has set the local / remote "answer" - session description to establish streaming connection.

      +The value of the connection state when Peer connection has set the local / remote "answer" +session description to establish streaming connection.

      Value "answerAck" - The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is - complete.

      +The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is +complete.

      Value "error" - The value of the connection state when Peer connection has failed to establish streaming connection. - This happens when there are errors that occurs in creating local "offer" / - "answer", or when setting remote / local "offer" / "answer".

      +The value of the connection state when Peer connection has failed to establish streaming connection. +This happens when there are errors that occurs in creating local "offer" / +"answer", or when setting remote / local "offer" / "answer".

      Value "checking" - The value of the state when Peer connection is checking for a suitable matching pair of - ICE candidates to establish ICE connection. - Exchanging of ICE candidates happens during candidateGenerationStateEvent.

      +The value of the state when Peer connection is checking for a suitable matching pair of +ICE candidates to establish ICE connection. +Exchanging of ICE candidates happens during CANDIDATE GENERATION STATE event.

      Value "connected" - The value of the state when Peer connection has found a suitable matching pair of - ICE candidates to establish ICE connection but is still checking for a better - suitable matching pair of ICE candidates for the best ICE connectivity. - At this state, ICE connection is already established and audio, video and - data streaming has already started.

      +The value of the state when Peer connection has found a suitable matching pair of +ICE candidates to establish ICE connection but is still checking for a better +suitable matching pair of ICE candidates for the best ICE connectivity. +At this state, ICE connection is already established and audio, video and +data streaming has already started.

      Value "completed" - The value of the state when Peer connection has found the best suitable matching pair - of ICE candidates to establish ICE connection and checking has stopped. - At this state, ICE connection is already established and audio, video and - data streaming has already started. This may happpen after CONNECTED.

      +The value of the state when Peer connection has found the best suitable matching pair +of ICE candidates to establish ICE connection and checking has stopped. +At this state, ICE connection is already established and audio, video and +data streaming has already started. This may happen after CONNECTED.

      Value "failed" - The value of the state when Peer connection ICE connection has failed.

      +The value of the state when Peer connection ICE connection has failed.

      Value "disconnected" - The value of the state when Peer connection ICE connection is disconnected. - At this state, the Peer connection may attempt to revive the ICE connection. - This may happen due to flaky network conditions.

      +The value of the state when Peer connection ICE connection is disconnected. +At this state, the Peer connection may attempt to revive the ICE connection. +This may happen due to flaky network conditions.

      Value "closed" - The value of the state when Peer connection ICE connection has closed. - This happens when Peer connection is closed and no streaming can occur at this stage.

      -
      TRICKLE_FAILED - - - - String - - - - - - - -

      Value "trickleFailed" - The value of the state when Peer connection ICE connection has failed during trickle ICE.

      +The value of the state when Peer connection ICE connection has closed. +This happens when Peer connection is closed and no streaming can occur at this stage.

      Value 4 - The value of the log level that displays console debug, - log, info, warn and error logs.

      +The value of the log level that displays console debug, +log, info, warn and error logs.

      Value 3 - The value of the log level that displays only console log, - info, warn and error logs.

      +The value of the log level that displays only console log, +info, warn and error logs.

      Value 2 - The value of the log level that displays only console info, - warn and error logs.

      +The value of the log level that displays only console info, +warn and error logs.

      Value 1 - The value of the log level that displays only console warn - and error logs.

      +The value of the log level that displays only console warn +and error logs.

      Value 0 - The value of the log level that displays only console error logs.

      +The value of the log level that displays only console error logs.

      Value -1 - The value of the log level that displays no logs.

      +The value of the log level that displays no logs.

      Value 0 - The value of the state when getUserMedia() will retrieve audio track only - when retrieving audio and video tracks failed. - This can be configured by Skylink initOptions - audioFallback option.

      +The value of the state when getUserMedia method will retrieve audio track only +when retrieving audio and video tracks failed. +This can be configured by Skylink initOptions +audioFallback option.

      Value 1 - The value of the state when getUserMedia() or shareScreen() - retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

      +The value of the state when getUserMedia or shareScreen +method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

      Value -1 - The value of the state when getUserMedia() failed to retrieve audio track only - after retrieving audio and video tracks failed.

      +The value of the state when getUserMedia method failed to retrieve audio track only +after retrieving audio and video tracks failed.

      Value "screen" - The value of the option to share entire screen.

      +The value of the option to share entire screen.

      Value "window" - The value of the option to share application windows.

      +The value of the option to share application windows.

      Value "tab" - The value of the option to share browser tab. - Note that this is only supported by from Chrome 52+ and Opera 39+.

      +The value of the option to share browser tab. +Note that this is only supported by from Chrome 52+ and Opera 39+.

      Value "audio" - The value of the option to share browser tab audio. - Note that this is only supported by Chrome 52+ and Opera 39+. - options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

      +The value of the option to share browser tab audio. +Note that this is only supported by Chrome 52+ and Opera 39+. +options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

      Value "application" - The value of the option to share applications. - Note that this is only supported by Firefox currently.

      +The value of the option to share applications. +Note that this is only supported by Firefox currently.

      Value "browser" - The value of the option to share browser. - Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled - in about:config.

      +The value of the option to share browser. +Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled +in about:config.

      Value "camera" - The value of the option to share camera. - Note that this is only supported by Firefox currently.

      +The value of the option to share camera. +Note that this is only supported by Firefox currently.

      Value "RSA" - The value of the Peer connection certificate algorithm to use RSA-1024.

      +The value of the Peer connection certificate algorithm to use RSA-1024.

      Value "ECDSA" - The value of the Peer connection certificate algorithm to use ECDSA.

      +The value of the Peer connection certificate algorithm to use ECDSA.

      Value "AUTO" - The value of the Peer connection to use the default certificate generated.

      +The value of the Peer connection to use the default certificate generated.

      Value "stable" - The value of the state when there is no session description being exchanged between Peer connection.

      +The value of the state when there is no session description being exchanged between Peer connection.

      Value "have-local-offer" - The value of the state when local "offer" session description is set. - This should transition to STABLE state after remote "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

      +The value of the state when local "offer" session description is set. +This should transition to STABLE state after remote "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

      Value "have-remote-offer" - The value of the state when remote "offer" session description is set. - This should transition to STABLE state after local "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

      +The value of the state when remote "offer" session description is set. +This should transition to STABLE state after local "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

      Value "closed" - The value of the state when Peer connection is closed and no session description can be exchanged and set.

      +The value of the state when Peer connection is closed and no session description can be exchanged and set.

      Value 0 - The value of the state when init() has just started.

      +The value of the state when init() has just started.

      Value 1 - The value of the state when init() is authenticating App Key provided - (and with credentials if provided as well) with the Auth server.

      +The value of the state when init() is authenticating App Key provided +(and with credentials if provided as well) with the Auth server.

      Value 2 - The value of the state when init() has successfully authenticated with the Auth server. - Room session token is generated for joining the <codRoom provided in init(). - Room session token has to be generated each time User switches to a different Room - in Skylink#joinRoom.

      +The value of the state when init() has successfully authenticated with the Auth server. +Room session token is generated for joining the <codRoom provided in init(). +Room session token has to be generated each time User switches to a different Room +in joinRoom method.

      Value -1 - The value of the state when init() has failed authenticating with the Auth server.

      +The value of the state when init() has failed authenticating with the Auth server.

      Value 4001 - The value of the failure code when provided App Key in init() does not exists. - To resolve this, check that the provided App Key exists in - the Temasys Console.

      +The value of the failure code when provided App Key in init() does not exists. +To resolve this, check that the provided App Key exists in +the Temasys Console.

      Value 4002 - The value of the failure code when "domainName" property in the App Key does not - match the accessing server IP address. - To resolve this, contact our support portal.

      +The value of the failure code when "domainName" property in the App Key does not +match the accessing server IP address. +To resolve this, contact our support portal.

      Value 4003 - The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. - To resolve this, configure the App Key CORS in - the Temasys Console.

      +The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. +To resolve this, configure the App Key CORS in +the Temasys Console.

      Value 4004 - The value of the failure code when there is no CORS - present in the HTTP headers during the request to the Auth server present nor - options.credentials.credentials configuration provided in the init(). - To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

      +The value of the failure code when there is no CORS +present in the HTTP headers during the request to the Auth server present nor +options.credentials.credentials configuration provided in the init(). +To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

      Value 4005 - The value of the failure code when the options.credentials.credentials configuration provided in the - init() does not match up with the options.credentials.startDateTime, - options.credentials.duration or that the "secret" used to generate - options.credentials.credentials does not match the App Key's "secret property provided. - To resolve this, check that the options.credentials.credentials is generated correctly and - that the "secret" used to generate it is from the App Key provided in the init().

      +The value of the failure code when the options.credentials.credentials configuration provided in the +init() does not match up with the options.credentials.startDateTime, +options.credentials.duration or that the "secret" used to generate +options.credentials.credentials does not match the App Key's "secret property provided. +To resolve this, check that the options.credentials.credentials is generated correctly and +that the "secret" used to generate it is from the App Key provided in the init().

      Value 4006 - The value of the failure code when the App Key provided does not belong to any existing App. - To resolve this, check that the provided App Key exists in - the Developer Console.

      +The value of the failure code when the App Key provided does not belong to any existing App. +To resolve this, check that the provided App Key exists in +the Developer Console.

      Value 4010 - The value of the failure code when provided options.credentials - does not match any scheduled meetings available for the "Persistent Room" enabled App Key provided. - See the Persistent Room article to learn more.

      Value 4020 - The value of the failure code when App Key has reached its current concurrent users limit. - To resolve this, use another App Key. To create App Keys dynamically, see the - Application REST API - docs for more information.

      +The value of the failure code when App Key has reached its current concurrent users limit. +To resolve this, use another App Key. To create App Keys dynamically, see the +Application REST API +docs for more information.

      Value 4021 - The value of the failure code when App Key retrieval of authentication token fails. - If this happens frequently, contact our support portal.

      +The value of the failure code when App Key retrieval of authentication token fails. +If this happens frequently, contact our support portal.

      Value 5005 - The value of the failure code when App Key makes request to the incorrect Auth server. - To resolve this, ensure that the roomServer is not configured. If this persists even without - roomServer configuration, contact our support portal.

      +The value of the failure code when App Key makes request to the incorrect Auth server. +To resolve this, ensure that the roomServer is not configured. If this persists even without +roomServer configuration, contact our support portal.

      Value -1 - The value of the failure code when requesting to Auth server has timed out.

      +The value of the failure code when requesting to Auth server has timed out.

      Value -2 - The value of the failure code when response from Auth server is empty or timed out.

      +The value of the failure code when response from Auth server is empty or timed out.

      Value 1 - The value of the failure code when dependency Socket.IO client is not loaded. - To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. - You may use the provided Socket.IO client CDN here.

      +The value of the failure code when dependency Socket.IO client is not loaded. +To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. +You may use the provided Socket.IO client CDN here.

      Value 2 - The value of the failure code when - XMLHttpRequest API required to make request to Auth server is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here.

      +The value of the failure code when +XMLHttpRequest API required to make request to Auth server is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here.

      Value 3 - The value of the failure code when - RTCPeerConnection API required for Peer connections is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here. - For plugin supported browsers, if the clients - does not have the plugin installed, there will be an installation toolbar that will prompt for installation - to support the RTCPeerConnection API.

      +The value of the failure code when +RTCPeerConnection API required for Peer connections is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here. +For plugin supported browsers, if the clients +does not have the plugin installed, there will be an installation toolbar that will prompt for installation +to support the RTCPeerConnection API.

      Value 4 - The value of the failure code when provided init() configuration has errors.

      +The value of the failure code when provided init() configuration has errors.

      Value 7 - The value of the failure code when dependency AdapterJS - is not loaded. - To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. - You may use the provided AdapterJS CDN here.

      +The value of the failure code when dependency AdapterJS +is not loaded. +To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. +You may use the provided AdapterJS CDN here.

      Value 8 - The value of the failure code when codecs support cannot be parsed and retrieved.

      +The value of the failure code when codecs support cannot be parsed and retrieved.

      Value 0 - The value of the state when recording session has started.

      +The value of the state when recording session has started.

      Value 1 - The value of the state when recording session has stopped.
      - At this stage, the recorded videos will go through the mixin server to compile the videos.

      +The value of the state when recording session has stopped.
      +At this stage, the recorded videos will go through the mixin server to compile the videos.

      Value 2 - The value of the state when recording session mixin request has been completed.

      +The value of the state when recording session mixin request has been completed.

      Value -1 - The value of the state state when recording session has errors. - This can happen during recording session or during mixin of recording videos, - and at this stage, any current recording session or mixin is aborted.

      +The value of the state state when recording session has errors. +This can happen during recording session or during mixin of recording videos, +and at this stage, any current recording session or mixin is aborted.

      Value "require" - The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

      +The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

      Value "negotiate" - The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

      +The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

      Value 0 - The value of the state when live streaming session has started.

      +The value of the state when live streaming session has started.

      Value 1 - The value of the state when live streaming session has stopped.
      - At this stage, the recorded videos will go through the mixin server to compile the videos.

      +The value of the state when live streaming session has stopped.
      +At this stage, the recorded videos will go through the mixin server to compile the videos.

      Value -1 - The value of the state state when live streaming session has errors.

      +The value of the state state when live streaming session has errors.

      Value "mcu" - The value of the server Peer type that is used for MCU connection.

      +The value of the server Peer type that is used for MCU connection.

      Value 0 - The value of the failure state when joinRoom() socket connection failed to establish with - the Signaling server at the first attempt.

      +The value of the failure state when joinRoom socket connection failed to establish with +the Signaling server at the first attempt.

      Value -1 - The value of the failure state when joinRoom() socket connection failed to establish - the Signaling server after the first attempt.

      +The value of the failure state when joinRoom socket connection failed to establish +the Signaling server after the first attempt.

      Value -2 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of the first attempt in CONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

      +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of the first attempt in CONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

      Value -3 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of several attempts in RECONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

      +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of several attempts in RECONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

      Value -4 - The value of the failure state when joinRoom() socket connection is attempting - to reconnect with a new port or transport after the failure of attempts in - CONNECTION_FAILED or RECONNECTED_FAILED.

      +The value of the failure state when joinRoom socket connection is attempting +to reconnect with a new port or transport after the failure of attempts in +CONNECTION_FAILED or RECONNECTED_FAILED.

      Value "nonfallback" - The value of the reconnection state when joinRoom() socket connection is at its initial state - without transitioning to any new socket port or transports yet.

      +The value of the reconnection state when joinRoom socket connection is at its initial state +without transitioning to any new socket port or transports yet.

      Value "fallbackPortNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

      Value "fallbackPortSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

      Value "fallbackLongPollingNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

      Value "fallbackLongPollingSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

      +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

      Value "warning" - The value of the state when Room session is about to end.

      +The value of the state when Room session is about to end.

      Value "reject" - The value of the state when Room session has failed to start or has ended.

      +The value of the state when Room session has failed to start or has ended.

      Value "locked" - The value of the state when Room sis locked.

      +The value of the state when Room sis locked.

      Value "oldTimeStamp" - The value of the reason code when Room session token has expired. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session token has expired. +Happens during joinRoom request. +Results with: REJECT

      Value "credentialError" - The value of the reason code when Room session token provided is invalid. - Happens during Skylink#joinRoom request.

      +The value of the reason code when Room session token provided is invalid. +Happens during joinRoom request.

      Value "duplicatedLogin" - The value of the reason code when Room session token has been used already. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session token has been used already. +Happens during joinRoom request. +Results with: REJECT

      Value "notStart" - The value of the reason code when Room session has not started. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session has not started. +Happens during joinRoom request. +Results with: REJECT

      Value "expired" - The value of the reason code when Room session has ended already. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session has ended already. +Happens during joinRoom request. +Results with: REJECT

      Value "locked" - The value of the reason code when Room is locked. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room is locked. +Happens during joinRoom request. +Results with: REJECT

      Value "fastmsg" - The value of the reason code when User is flooding socket messages to the Signaling server - that is sent too quickly within less than a second interval. - Happens after Room session has started. This can be caused by various methods like - Skylink#sendMessage, - Skylink#muteStreams, - Skylink#enableAudio, - Skylink#enableVideo, - Skylink#disableAudio, - Skylink#disableVideo, - Results with: WARNING

      +The value of the reason code when User is flooding socket messages to the Signaling server +that is sent too quickly within less than a second interval. +Happens after Room session has started. This can be caused by various methods like +sendMessage, +muteStreams +Results with: WARNING

      Value "toClose" - The value of the reason code when Room session is ending. - Happens after Room session has started. This serves as a prerequisite warning before - ROOM_CLOSED occurs. - Results with: WARNING

      +The value of the reason code when Room session is ending. +Happens after Room session has started. This serves as a prerequisite warning before +ROOM_CLOSED occurs. +Results with: WARNING

      Value "roomclose" - The value of the reason code when Room session has just ended. - Happens after Room session has started. - Results with: REJECT

      +The value of the reason code when Room session has just ended. +Happens after Room session has started. +Results with: REJECT

      Value "serverError" - The value of the reason code when Room session fails to start due to some technical errors. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session fails to start due to some technical errors. +Happens during joinRoom request. +Results with: REJECT

      Value "keyFailed" - The value of the reason code when Room session fails to start due to some technical error pertaining to - App Key initialization. - Happens during Skylink#joinRoom request. - Results with: REJECT

      +The value of the reason code when Room session fails to start due to some technical error pertaining to +App Key initialization. +Happens during joinRoom request. +Results with: REJECT

      Value "tcp" - The value of the option to configure using only TCP network transport protocol. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478?transport=tcp"]

      +The value of the option to configure using only TCP network transport protocol. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478?transport=tcp"]

      Value "udp" - The value of the option to configure using only UDP network transport protocol. - Example .urls output: ["turn:server.com?transport=udp", - "turn:server1.com:3478?transport=udp"]

      +The value of the option to configure using only UDP network transport protocol. +Example .urls output: ["turn:server.com?transport=udp", +"turn:server1.com:3478?transport=udp"]

      Value "any" - The value of the option to configure using any network transport protocols configured from the Signaling server. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478", "turn:server.com?transport=udp"]

      +The value of the option to configure using any network transport protocols configured from the Signaling server. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]

      Value "none" - The value of the option to not configure using any network transport protocols. - Example .urls output: ["turn:server.com", "turn:server1.com:3478"] - Configuring this does not mean that no protocols will be used, but - rather removing ?transport=(protocol) query option in - the TURN ICE server .urls when constructing the Peer connection.

      +The value of the option to not configure using any network transport protocols. +Example .urls output: ["turn:server.com", "turn:server1.com:3478"] +Configuring this does not mean that no protocols will be used, but +rather removing ?transport=(protocol) query option in +the TURN ICE server .urls when constructing the Peer connection.

      Value "all" - The value of the option to configure using both TCP and UDP network transport protocols. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", - "turn:server1.com:3478?transport=udp"]

      +The value of the option to configure using both TCP and UDP network transport protocols. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", +"turn:server1.com:3478?transport=udp"]

      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      AUTO - - - - String - - - - - - - -

      Value "auto" - The value of the option to not prefer any video codec but rather use the created - local "offer" / "answer" session description video codec preference.

      -
      VP8 - - - - String - - - - - - - -

      Value "VP8" - The value of the option to prefer the VP8 video codec.

      -
      VP9 - - - - String - - - - - - - -

      Value "VP9" - The value of the option to prefer the VP9 video codec.

      -
      H264 - - - - String - - - - - - - -

      Value "H264" - The value of the option to prefer the H264 video codec.

      -
      - - - - -
      - - - - -
      Since:
      -
      -
        -
      • - 0.5.10 -
      • -
      -
      - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      -
      @@ -9764,7 +7921,7 @@
      Properties:

      Value { video: 3200, audio: 80 } - The value of option to prefer high definition video and audio bitrates.

      +The value of option to prefer high definition video and audio bitrates.

      @@ -9794,7 +7951,7 @@
      Properties:

      Value { video: 1200, audio: 50 } - The value of option to prefer high quality video and audio bitrates.

      +The value of option to prefer high quality video and audio bitrates.

      @@ -9824,7 +7981,7 @@
      Properties:

      Value { video: 800, audio: 30 } - The value of option to prefer standard quality video and audio bitrates.

      +The value of option to prefer standard quality video and audio bitrates.

      @@ -9854,7 +8011,7 @@
      Properties:

      Value { video: 500, audio: 20 } - The value of option to prefer low quality video and audio bitrates.

      +The value of option to prefer low quality video and audio bitrates.

      @@ -9905,7 +8062,7 @@
      Properties:
      @@ -9935,12 +8092,12 @@

      -

      - Note that currently Skylink#getUserMedia only configures +
      + Note that currently getUserMedia method only configures the maximum resolution of the Stream due to browser interopability and support.
      The list of -video resolutions sets configured in the Skylink#getUserMedia.

      +video resolutions sets configured in the getUserMedia method.
      @@ -9994,9 +8151,9 @@

      Properties:

      Value { width: 160, height: 120 } - The value of the option to configure QQVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure QQVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10026,9 +8183,9 @@
      Properties:

      Value { width: 240, height: 160 } - The value of the option to configure HQVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure HQVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10058,8 +8215,8 @@
      Properties:

      Value { width: 320, height: 240 } - The value of the option to configure QVGA resolution. - Aspect ratio: 4:3

      +The value of the option to configure QVGA resolution. +Aspect ratio: 4:3

      @@ -10089,9 +8246,9 @@
      Properties:

      Value { width: 384, height: 240 } - The value of the option to configure WQVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure WQVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10121,9 +8278,9 @@
      Properties:

      Value { width: 480, height: 320 } - The value of the option to configure HVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure HVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10153,8 +8310,8 @@
      Properties:

      Value { width: 640, height: 480 } - The value of the option to configure VGA resolution. - Aspect ratio: 4:3

      +The value of the option to configure VGA resolution. +Aspect ratio: 4:3

      @@ -10184,9 +8341,9 @@
      Properties:

      Value { width: 768, height: 480 } - The value of the option to configure WVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure WVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10216,9 +8373,9 @@
      Properties:

      Value { width: 854, height: 480 } - The value of the option to configure FWVGA resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure FWVGA resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10248,9 +8405,9 @@
      Properties:

      Value { width: 800, height: 600 } - The value of the option to configure SVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure SVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10280,9 +8437,9 @@
      Properties:

      Value { width: 960, height: 640 } - The value of the option to configure DVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure DVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10312,8 +8469,8 @@
      Properties:

      Value { width: 1024, height: 576 } - The value of the option to configure WSVGA resolution. - Aspect ratio: 16:9

      +The value of the option to configure WSVGA resolution. +Aspect ratio: 16:9

      @@ -10343,9 +8500,9 @@
      Properties:

      Value { width: 1280, height: 720 } - The value of the option to configure HD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

      +The value of the option to configure HD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

      @@ -10375,9 +8532,9 @@
      Properties:

      Value { width: 1600, height: 900 } - The value of the option to configure HDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure HDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10407,9 +8564,9 @@
      Properties:

      Value { width: 1920, height: 1080 } - The value of the option to configure FHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

      +The value of the option to configure FHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

      @@ -10439,9 +8596,9 @@
      Properties:

      Value { width: 2560, height: 1440 } - The value of the option to configure QHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure QHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10471,9 +8628,9 @@
      Properties:

      Value { width: 3200, height: 1800 } - The value of the option to configure WQXGAPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure WQXGAPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10503,9 +8660,9 @@
      Properties:

      Value { width: 3840, height: 2160 } - The value of the option to configure UHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure UHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10535,9 +8692,9 @@
      Properties:

      Value { width: 5120, height: 2880 } - The value of the option to configure UHDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure UHDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10567,9 +8724,9 @@
      Properties:

      Value { width: 7680, height: 4320 } - The value of the option to configure FUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure FUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10599,9 +8756,9 @@
      Properties:

      Value { width: 15360, height: 8640 } - The value of the option to configure QUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

      +The value of the option to configure QUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

      @@ -10652,7 +8809,7 @@
      Properties:
      diff --git a/publish/2.x/docs/SkylinkEvents.html b/publish/2.x/docs/SkylinkEvents.html index e0dde170a..af089d97a 100644 --- a/publish/2.x/docs/SkylinkEvents.html +++ b/publish/2.x/docs/SkylinkEvents.html @@ -76,7 +76,7 @@

      -

      Classes

      Namespaces

      +

      Classes

      Namespaces

      @@ -106,7 +106,78 @@

      @@ -117,6 +188,15 @@

      +
      Since:
      +
      +
        +
      • + 2.0 +
      • +
      +
      + @@ -206,13 +286,13 @@

      Events

      - + -

      - candidateGenerationState +

      + CANDIDATE_GENERATION_STATE

      @@ -308,7 +388,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -465,13 +545,13 @@
      Properties
      - + -

      - candidateProcessingState +

      + CANDIDATE_PROCESSING_STATE

      @@ -567,7 +647,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -953,13 +1033,13 @@
      Properties
      - + -

      - candidatesGathered +

      + CANDIDATES_GATHERED

      @@ -1055,7 +1135,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -1325,13 +1405,13 @@
      Properties
      - + -

      - channelClose +

      + CHANNEL_CLOSE

      @@ -1526,13 +1606,13 @@
      Properties
      - + -

      - channelError +

      + CHANNEL_ERROR

      @@ -1764,13 +1844,13 @@
      Properties
      - + -

      - channelMessage +

      + CHANNEL_MESSAGE

      @@ -1995,13 +2075,13 @@
      Properties
      - + -

      - channelOpen +

      + CHANNEL_OPEN

      @@ -2196,13 +2276,13 @@
      Properties
      - + -

      - channelReopen +

      + CHANNEL_REOPEN

      @@ -2390,12 +2470,12 @@
      Properties
      - + -
      Example
      +
      Example
      Example 1: Listen on channelReopen to handle successful socket reconnection if socket was disconnected
      @@ -2420,13 +2500,13 @@ 
      Example
      - + -

      - channelRetry +

      + CHANNEL_RETRY

      @@ -2679,13 +2759,13 @@
      Properties
      - + -

      - encryptSecretsUpdated +

      + DATA_CHANNEL_STATE

      @@ -2694,7 +2774,7 @@

      -

      Event triggered when encrypt secret data is updated.

      +

      Event triggered when a Datachannel connection state has changed.

      @@ -2781,7 +2861,7 @@

      Properties
      - SkylinkRoom + roomInfo @@ -2803,14 +2883,14 @@
      Properties
      - encryptSecrets + peerId - Object + String @@ -2824,7 +2904,7 @@
      Properties
      -

      The secretId and secret pair.

      +

      The peer's id

      @@ -2832,14 +2912,14 @@
      Properties
      - selectedSecretId + state - String + SkylinkConstants.DATA_CHANNEL_STATE @@ -2853,8 +2933,7 @@
      Properties
      -

      The id of the secret that is used for encryption and decryption of messages. If value is an -empty string, message will not be encrypted.

      +

      The current Datachannel connection state.

      @@ -2862,7 +2941,36 @@
      Properties
      - peerId + error + + + + + + + Error + + + + + + + + + + + + + +

      The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

      + + + + + + + + channelName @@ -2883,7 +2991,7 @@
      Properties
      -

      The Peer ID.

      +

      The Datachannel ID.

      @@ -2891,14 +2999,14 @@
      Properties
      - peerInfo + channelType - peerInfo + SkylinkConstants.DATA_CHANNEL_TYPE @@ -2912,9 +3020,150 @@
      Properties
      -

      The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

      +

      The Datachannel type.

      + + + + + + + + messageType + + + + + + + SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR + + + + + + + + + + + + + +

      The Datachannel sending Datachannel message error type. +Defined only when state payload is SEND_MESSAGE_ERROR.

      + + + + + + + + bufferAmount + + + + + + + Object + + + + + + + + + + + + + +

      The Datachannel - buffered amount information.

      + +
      Properties
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameTypeDescription
      bufferedAmount + + + + number + + + + + + + +

      The size of currently queued data to send on the Datachannel connection.

      + +
      bufferedAmountLowThreshold + + + + number + + + + + + + +

      Threshold The current buffered amount low threshold configured.

      + +
      + @@ -2966,7 +3215,7 @@
      Properties
      @@ -2999,13 +3248,13 @@
      Properties
      - + -

      - getConnectionStatusStateChange +

      + ENCRYPT_SECRETS_UPDATED

      @@ -3014,8 +3263,7 @@

      -

      Event triggered when PeerConnection.getConnectionStatus method -retrieval state changes.

      +

      Event triggered when encrypt secret data is updated.

      @@ -3069,7 +3317,7 @@

      Parameters:
      -

      Event's payload/

      +

      Event's payload.

      Properties
      @@ -3084,8 +3332,6 @@
      Properties
      Type - Attributes - @@ -3097,14 +3343,14 @@
      Properties
      - state + room - SkylinkConstants.GET_CONNECTION_STATUS_STATE + roomInfo @@ -3114,19 +3360,11 @@
      Properties
      - - - - - - - - -

      The current getConnectionStatus() retrieval state.

      +

      The current room

      @@ -3134,14 +3372,14 @@
      Properties
      - peerId + encryptSecrets - String + Object @@ -3151,19 +3389,11 @@
      Properties
      - - - - - - - - -

      The Peer ID.

      +

      The secretId and secret pair.

      @@ -3171,14 +3401,14 @@
      Properties
      - stats + selectedSecretId - statistics + String @@ -3188,21 +3418,12 @@
      Properties
      - - - <optional>
      - - - - - - - -

      The Peer connection current stats.

      +

      The id of the secret that is used for encryption and decryption of messages. If value is an +empty string, message will not be encrypted.

      @@ -3210,14 +3431,14 @@
      Properties
      - error + peerId - Error + String @@ -3227,19 +3448,42 @@
      Properties
      - - - + + + +

      The Peer ID.

      + + + + + + + + peerInfo + + + - + + peerInfo + + + + + + + + -

      The error object. Defined only when state payload is RETRIEVE_ERROR.

      +

      The Peer session information. +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

      @@ -3291,7 +3535,7 @@
      Properties
      @@ -3324,13 +3568,13 @@
      Properties
      - + -

      - getPeersStateChange +

      + GET_CONNECTION_STATUS_STATE_CHANGE

      @@ -3339,7 +3583,8 @@

      -

      Event triggered when getPeers() method retrieval state changes.

      +

      Event triggered when getConnectionStatus method +retrieval state changes.

      @@ -3393,7 +3638,7 @@

      Parameters:
      -

      Event's payload

      +

      Event's payload/

      Properties
      @@ -3408,6 +3653,8 @@
      Properties
      Type + Attributes + @@ -3426,7 +3673,7 @@
      Properties
      - SkylinkConstants.GET_PEERS_STATE + SkylinkConstants.GET_CONNECTION_STATUS_STATE @@ -3436,11 +3683,19 @@
      Properties
      + + + + + + + + -

      The current getPeers() retrieval state.

      +

      The current retrieval state from getConnectionStatus method.

      @@ -3448,14 +3703,14 @@
      Properties
      - privilegePeerId + peerId - SkylinkUser.sid + String @@ -3465,11 +3720,19 @@
      Properties
      + + + + + + + + -

      The Users privileged Peer Id.

      +

      The Peer ID.

      @@ -3477,14 +3740,14 @@
      Properties
      - peerList + stats - Object + statistics @@ -3494,44 +3757,36 @@
      Properties
      - - - - -

      The list of Peer IDs Rooms within the same App space.

      - -
      Properties
      + + + <optional>
      - - - - - - - - + - + + + - + - - - + + - - + + - + + + - - -
      NameTypeDescription
      +

      The Peer connection current stats.

      + +
      #roomerror - Array + Error @@ -3541,19 +3796,19 @@
      Properties
      + - + - -

      The list of Peer IDs associated with the Room defined in #room property.

      - -
      + + +

      The error object. Defined only when state payload is RETRIEVE_ERROR.

      @@ -3605,7 +3860,7 @@
      Properties
      @@ -3638,13 +3893,13 @@
      Properties
      - + -

      - handshakeProgress +

      + GET_PEERS_STATE_CHANGE

      @@ -3653,7 +3908,7 @@

      -

      Event triggered when a Peer connection establishment state has changed.

      +

      Event triggered when getPeers method retrieval state changes.

      @@ -3707,7 +3962,7 @@

      Parameters:
      -

      Event's payload.

      +

      Event's payload

      Properties
      @@ -3722,8 +3977,6 @@
      Properties
      Type - Attributes - @@ -3742,7 +3995,7 @@
      Properties
      - SkylinkConstants.HANDSHAKE_PROGRESS + SkylinkConstants.GET_PEERS_STATE @@ -3752,19 +4005,11 @@
      Properties
      - - - - - - - - -

      The current Peer connection establishment state.

      +

      The current getPeers retrieval state.

      @@ -3772,14 +4017,14 @@
      Properties
      - peerId + privilegePeerId - String + SkylinkUser.sid @@ -3789,19 +4034,11 @@
      Properties
      - - - - - - - - -

      The Peer ID.

      +

      The Users privileged Peer Id.

      @@ -3809,14 +4046,14 @@
      Properties
      - room + peerList - SkylinkRoom + Object @@ -3826,40 +4063,44 @@
      Properties
      - - - - - - - - -

      The room.

      +

      The list of Peer IDs Rooms within the same App space.

      - - +
      Properties
      + + + + + + + + + + + + + + + + + + + - + - - + + + + +
      NameTypeDescription
      error#room - Error - - - | - - - String + Array @@ -3869,22 +4110,19 @@
      Properties
      - - <optional>
      - - - - - -
      -

      The error object. - Defined only when state is ERROR.

      +

      The list of Peer IDs associated with the Room defined in #room property.

      + +
      + @@ -3936,7 +4174,7 @@
      Properties
      @@ -3969,13 +4207,13 @@
      Properties
      - + -

      - iceConnectionState +

      + HANDSHAKE_PROGRESS

      @@ -3984,9 +4222,7 @@

      -

      Learn more about how ICE works in this - article here. -Event triggered when a Peer connection ICE connection state has changed.

      +

      Event triggered when a Peer connection establishment state has changed.

      @@ -4019,14 +4255,14 @@

      Parameters:
      - state + detail - SkylinkEvents.ICE_CONNECTION_STATE + Object @@ -4040,22 +4276,42 @@
      Parameters:
      -

      The current Peer connection ICE connection state.

      +

      Event's payload.

      - - +
      Properties
      + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + @@ -4075,6 +4376,97 @@
      Parameters:
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameTypeAttributesDescription
      peerIdstate - String + SkylinkConstants.HANDSHAKE_PROGRESS @@ -4065,6 +4321,51 @@
      Parameters:
      + + + + + + +

      The current Peer connection establishment state.

      + +
      peerId + + + + String + + + + + + + + + + + + +
      room + + + + roomInfo + + + + + + + + + + + + + +

      The room.

      + +
      error + + + + Error + + + | + + + String + + + + + + + + + <optional>
      + + + + + +
      +

      The error object. +Defined only when state is ERROR.

      + +
      + + + + + + @@ -4113,7 +4505,7 @@
      Parameters:
      @@ -4146,13 +4538,13 @@
      Parameters:
      - + -

      - localMediaMuted +

      + ICE_CONNECTION_STATE

      @@ -4161,7 +4553,9 @@

      -

      Event triggered when muteStreams() method changes User Streams audio and video tracks muted status.

      +

      Learn more about how ICE works in this +article here. +Event triggered when a Peer connection ICE connection state has changed.

      @@ -4241,14 +4635,14 @@

      Properties
      - streamId + state - String + SkylinkConstants.ICE_CONNECTION_STATE @@ -4262,7 +4656,7 @@
      Properties
      -

      The muted Stream Id.

      +

      The current Peer connection ICE connection state.

      @@ -4270,14 +4664,14 @@
      Properties
      - isScreensharing + state - Boolean + String @@ -4291,39 +4685,119 @@
      Properties
      -

      The flag if the media muted was screensharing.

      +

      The Peer ID.

      - - - mediaStatus - + + - - - - JSON - + + + + - - - + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Source:
      +
      + +
      + + + + + + + +
      + + + + + + + + + + + + + + + - -

      The Peer streaming media status. This indicates the media status for both getUserMedia() Stream and shareScreen() Stream.

      - -
      Properties
      - + + + + + + + + + +

      + LOCAL_MEDIA_MUTED +

      +
      + + + + + +
      +

      Event triggered when muteStreams method changes User Streams audio and video tracks +muted +status.

      +
      + + + + + + + +
      Parameters:
      + @@ -4346,14 +4820,14 @@
      Properties
      - + - +
      Properties
      + + +
      audioMuteddetail - Boolean + Object @@ -4367,23 +4841,40 @@
      Properties
      -

      The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present - in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

      +

      Event's payload.

      -
      + + + + + + + + + + + + + + + + - + - -
      NameTypeDescription
      videoMutedstreamId - Boolean + String @@ -4397,156 +4888,51 @@
      Properties
      -

      The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present - in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

      +

      The muted Stream Id.

      + + + isScreensharing + + - - + + + Boolean + - - + - - - - - - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - -
      - - - - - - - - - - - - - - - + - - - - - - - - -

      - loggedOnConsole -

      -
      - - - - - -
      -

      Event triggered when Skylink logs to browser's console.

      -
      - - - - - - - -
      Parameters:
      - - - - - - - - - - - - - - - - - - + + - - + - + @@ -4615,14 +5002,14 @@
      Properties
      - + - - - - - - - - - - + +
      NameTypeDescription
      +

      The flag if the media muted was screensharing.

      + +
      detailmediaStatus - Object + JSON @@ -4560,7 +4946,7 @@
      Parameters:
      -

      Event's payload.

      +

      The Peer streaming media status. This indicates the media status for both getUserMedia Stream and shareScreen Stream.

      Properties
      @@ -4586,14 +4972,14 @@
      Properties
      levelaudioMuted - JSON + Boolean @@ -4607,7 +4993,8 @@
      Properties
      -

      The log level.

      +

      The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present +in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

      messagevideoMuted - String + Boolean @@ -4636,36 +5023,16 @@
      Properties
      -

      The log message.

      +

      The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present +in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

      debugObject - - - - JSON - - - - - - -
      - -

      A JavaScript object to be logged to help with analysis.

      @@ -4717,7 +5084,7 @@
      Properties
      @@ -4750,13 +5117,13 @@
      Properties
      - + -

      - mediaAccessError +

      + MEDIA_ACCESS_ERROR

      @@ -4901,7 +5268,7 @@
      Properties
      -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      +

      The flag if event occurred during shareScreen method and not getUserMedia method.

      @@ -4930,7 +5297,7 @@
      Properties
      -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      +

      The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

      @@ -4982,7 +5349,7 @@
      Properties
      @@ -5015,13 +5382,13 @@
      Properties
      - + -

      - mediaAccessFallback +

      + MEDIA_ACCESS_FALLBACK

      @@ -5351,323 +5718,8 @@
      Properties

      The expected and received audio tracks.

      -
      Properties
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      NameTypeDescription
      expected - - - - Number - - - - - - - -

      The expected audio tracks.

      - -
      received - - - - Number - - - - - - - -

      The received audio tracks.

      - -
      - - - - - - - - - - - - - - - - - state - - - - - - - SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE - - - - - - - - - - - - - -

      The fallback state.

      - - - - - - - - isScreensharing - - - - - - - boolean - - - - - - - - - - - - - -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      - - - - - - - - isAudioFallback - - - - - - - boolean - - - - - - - - - - - - - -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      - - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - - -

      The Stream ID. Defined only when state payload is FALLBACKED.

      - - - - - - - - - - - - - - - - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -

      - mediaAccessRequired -

      -
      - - - - - -
      -

      Event triggered when retrieval of Stream is required to complete joinRoom() method request.

      -
      - - - - - - - -
      Parameters:
      - +
      Properties
      + @@ -5690,14 +5742,14 @@
      Parameters:
      - + - -
      detailexpected - Object + Number @@ -5711,139 +5763,96 @@
      Parameters:
      -

      Event's payload.

      +

      The expected audio tracks.

      - - - - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Source:
      -
      - -
      - - - - - - - -
      - - - - - - - - - - - - - - - + + + received + + + + + Number + - + - - - - - - -

      - mediaAccessStopped -

      -
      - + + + + -
      -

      Event triggered when Stream has stopped streaming.

      -
      + +

      The received audio tracks.

      + + + + + + + + + + + + + + + + + + + state + + + + + + SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE + -
      Parameters:
      - + - - - - - - - + + - + - + - - - + + - - + @@ -5865,7 +5875,7 @@
      Parameters:
      - + @@ -5894,7 +5904,7 @@
      Parameters:
      - + + + + + +
      NameTypeDescription
      +

      The fallback state.

      + +
      detail.isScreensharingisScreensharing - Object + boolean @@ -5857,7 +5866,8 @@
      Parameters:
      -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      +

      The flag if event occurred during shareScreen method +and not getUserMedia method.

      detail.isAudioFallbackisAudioFallback @@ -5886,7 +5896,7 @@
      Parameters:
      -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      +

      The flag if event occurred during retrieval of audio tracks only when getUserMedia method failed to retrieve both audio and video tracks.

      detail.streamIdstreamId @@ -5915,7 +5925,15 @@
      Parameters:
      -

      The Stream ID.

      +

      The Stream ID. Defined only when state payload is FALLBACKED.

      + +
      + @@ -5959,7 +5977,7 @@
      Parameters:
      @@ -5992,13 +6010,13 @@
      Parameters:
      - + -

      - mediaAccessSuccess +

      + MEDIA_ACCESS_REQUIRED

      @@ -6007,7 +6025,7 @@

      -

      Event triggered when retrieval of Stream is successful.

      +

      Event triggered when retrieval of Stream is required to complete joinRoom method request.

      @@ -6061,127 +6079,139 @@

      Parameters:
      +

      Event's payload.

      - -
      Properties
      - + + + + + + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Source:
      +
      + +
      + + + + + + + +
      + + + - - - - - - - - - - - - - - - - - - - + - - - + - - - - - + + + + + + +

      + MEDIA_ACCESS_STOPPED +

      +
      - +
      +

      Event triggered when Stream has stopped streaming.

      +
      - - - - - - - - - - +
      NameTypeDescription
      stream - - - - MediaStream - - - - -

      The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

      - -
      isScreensharing - - - - Boolean - + - - - -

      The flag if event occurred during shareScreen() method and not getUserMedia() method.

      - -
      isAudioFallback - - - - Boolean - - +
      Parameters:
      + - -
      + + + + + - + - + - - + + + + + + - + @@ -6203,7 +6233,7 @@
      Properties
      - + @@ -6232,14 +6262,14 @@
      Properties
      - + - - - - -
      NameType -

      The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

      - -
      Description
      streamIddetail.isScreensharing - String + Object @@ -6195,7 +6225,7 @@
      Properties
      -

      The Stream ID.

      +

      The flag if event occurred during shareScreen method and not jgetUserMedia method.

      isVideodetail.isAudioFallback @@ -6224,7 +6254,7 @@
      Properties
      -

      The flag if the incoming stream has a video track.

      +

      The flag if event occurred during retrieval of audio tracks only when jgetUserMedia method had failed to retrieve both audio and video tracks.

      isAudiodetail.streamId - boolean + String @@ -6253,15 +6283,7 @@
      Properties
      -

      The flag if the incoming stream has an audio track.

      - -
      - +

      The Stream ID.

      @@ -6305,7 +6327,7 @@
      Properties
      @@ -6338,13 +6360,13 @@
      Properties
      - + -

      - onDataChannelStateChanged +

      + MEDIA_ACCESS_SUCCESS

      @@ -6353,7 +6375,7 @@

      -

      Event triggered when a Datachannel connection state has changed.

      +

      Event triggered when retrieval of Stream is successful.

      @@ -6407,7 +6429,7 @@

      Parameters:
      -

      Event's payload.

      +
      Properties
      @@ -6433,43 +6455,14 @@
      Properties
      - room - - - - - - - SkylinkRoom - - - - - - - - - - - - - -

      The current room

      - - - - - - - - peerId + stream - String + MediaStream @@ -6483,7 +6476,7 @@
      Properties
      -

      The peer's id

      +

      The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

      @@ -6491,14 +6484,14 @@
      Properties
      - state + isScreensharing - SkylinkConstants.DATA_CHANNEL_STATE + Boolean @@ -6512,7 +6505,7 @@
      Properties
      -

      The current Datachannel connection state.

      +

      The flag if event occurred during shareScreen method and not getUserMedia method.

      @@ -6520,14 +6513,14 @@
      Properties
      - error + isAudioFallback - Error + Boolean @@ -6541,7 +6534,7 @@
      Properties
      -

      The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

      +

      The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

      @@ -6549,7 +6542,7 @@
      Properties
      - channelName + streamId @@ -6565,133 +6558,27 @@
      Properties
      - - - - - -

      The Datachannel ID.

      - - - - - - - - channelType - - - - - - - SkylinkConstants.DATA_CHANNEL_TYPE - - - - - - - - - - - - - -

      The Datachannel type.

      - - - - - - - - messageType - - - - - - - SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR - - - - - - - - - - - - - -

      The Datachannel sending Datachannel message error type. - Defined only when state payload is SEND_MESSAGE_ERROR.

      - - - - - - - - bufferAmount - - - - - - - Object - - - - - - - - - - - - - -

      The Datachannel - buffered amount information.

      - -
      Properties
      - - - - - - - - - - - - + - + - - - + + - - + @@ -6713,14 +6600,14 @@
      Properties
      - + - - - - -
      NameTypeDescription
      +

      The Stream ID.

      + +
      bufferedAmountisVideo - number + boolean @@ -6705,7 +6592,7 @@
      Properties
      -

      The size of currently queued data to send on the Datachannel connection.

      +

      The flag if the incoming stream has a video track.

      bufferedAmountLowThresholdisAudio - number + boolean @@ -6734,15 +6621,7 @@
      Properties
      -

      Threshold The current buffered amount low threshold configured.

      - -
      - +

      The flag if the incoming stream has an audio track.

      @@ -6794,7 +6673,7 @@
      Properties
      @@ -6827,13 +6706,13 @@
      Properties
      - + -

      - onIncomingMessage +

      + ON_INCOMING_MESSAGE

      @@ -6929,7 +6808,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -7118,10 +6997,10 @@
      Properties

      The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

      +defined in Skylink#sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

      @@ -7161,7 +7040,7 @@
      Properties

      The list of Peers that the message has been sent to. - Defined only when isSelf payload value is true.

      +Defined only when isSelf payload value is true.

      @@ -7199,9 +7078,9 @@
      Properties

      The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in - Skylink#sendP2PMessage or - Skylink#sendMessage.

      +off the targetPeerId parameter being defined in +sendP2PMessage or +sendMessage.

      @@ -7239,7 +7118,7 @@
      Properties

      The flag if message is sent from - Skylink#sendP2PMessage.

      +sendP2PMessage.

      @@ -7343,8 +7222,8 @@
      Properties

      The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

      +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

      @@ -7458,13 +7337,13 @@
      Properties
      - + -

      - onIncomingScreenStream +

      + ON_INCOMING_SCREEN_STREAM

      @@ -7473,7 +7352,7 @@

      -

      Event triggered when receving Peer Screenshare Stream.

      +

      Event triggered when receiving Peer Screenshare Stream.

      @@ -7560,7 +7439,7 @@

      Properties
      - SkylinkRoom + roomInfo @@ -7748,7 +7627,8 @@
      Properties
      -

      The flag if the incoming screenshare stream results from shareScreen() called with replaceUserMediaStream = true.

      +

      The flag if the incoming screenshare stream results from shareScreen called +with replaceUserMediaStream=true.

      @@ -7858,7 +7738,7 @@
      Properties
      @@ -7891,13 +7771,13 @@
      Properties
      - + -

      - onIncomingStream +

      + ON_INCOMING_STREAM

      @@ -7993,7 +7873,7 @@
      Properties
      - SkylinkRoom + roomInfo @@ -8353,13 +8233,13 @@
      Properties
      - + -

      - peerConnectionState +

      + PEER_CONNECTION_STATE

      @@ -8368,11 +8248,11 @@

      -

      Event triggered when a Peer connection session description exchanging state has changed. +

      Event triggered when a Peer connection session description exchanging state has changed.

      Learn more about how ICE works in this article here. -

      +

@@ -8554,7 +8434,7 @@
Properties
@@ -8587,13 +8467,13 @@
Properties
- + -

- peerJoined +

+ PEER_JOINED

@@ -8603,6 +8483,11 @@

Event triggered when a Peer joins the room.

+
PEER_JOINED event with isSelf=true indicates that the local peer has successfully joined the +room. All call actions should be done after the PEER_JOINED event is registered. +If MCU feature is enabled on the appKey, SERVER PEER JOINED is the +corresponding event. +
@@ -8689,7 +8574,7 @@

Properties
- SkylinkRoom + roomInfo @@ -8875,13 +8760,13 @@
Properties
- + -

- peerLeft +

+ PEER_LEFT

@@ -9101,7 +8986,7 @@
Properties
@@ -9134,13 +9019,13 @@
Properties
- + -

- peerUpdated +

+ PEER_UPDATED

@@ -9236,7 +9121,7 @@
Properties
- SkylinkRoom + roomInfo @@ -9337,7 +9222,7 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -9422,13 +9307,13 @@
Properties
- + -

- persistentMessageState +

+ PERSISTENT_MESSAGE_STATE

@@ -9524,7 +9409,7 @@
Properties
- SkylinkRoom + roomInfo @@ -9626,8 +9511,8 @@
Properties

The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

+Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

@@ -9712,13 +9597,13 @@
Properties
- + -

- readyStateChange +

+ READY_STATE_CHANGE

@@ -9828,7 +9713,7 @@
Properties
-

The current init() ready state.

+

The current ready state when instantiating new Skylink().

@@ -10084,13 +9969,13 @@
Properties
- + -

- recordingState +

+ RECORDING_STATE

@@ -10349,13 +10234,13 @@
Properties
- + -

- roomLock +

+ ROOM_LOCK

@@ -10523,7 +10408,7 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -10604,7 +10489,238 @@
Properties
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ ROOM_REJOIN +

+
+ + + + + +
+

Event triggered when joinRoom can be re-initiated. This event is preceded by leaveRoom initiated by the +SDK in response to peer connection changing to FAILED state.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
detail + + + + Object + + + + + + + +

Event's payload

+ +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
room + + + + roomInfo + + + + + + + +

The previous room

+ +
peerId + + + + String + + + + + + + +

The previous peer id

+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+
@@ -10637,13 +10753,13 @@
Properties
- + -

- rtmpState +

+ RTMP_STATE

@@ -10902,13 +11018,13 @@
Properties
- + -

- serverPeerJoined +

+ SERVER_PEER_JOINED

@@ -10918,6 +11034,15 @@

Event triggered when a server Peer joins the room.

+
    +
  • +
    SERVER_PEER_JOINED event indicates that the MCU has successfully joined the +
  • +
+

room. All call actions should be done after the SERVER_PEER_JOINED event is registered. +For P2P key, PEER JOINED is the +corresponding event.

+
@@ -11004,7 +11129,7 @@

Properties
- SkylinkRoom + roomInfo @@ -11128,7 +11253,7 @@
Properties
@@ -11161,13 +11286,13 @@
Properties
- + -

- serverPeerLeft +

+ SERVER_PEER_LEFT

@@ -11292,7 +11417,7 @@
Properties
- SkylinkRoom + roomInfo @@ -11387,7 +11512,7 @@
Properties
@@ -11420,13 +11545,13 @@
Properties
- + -

- sessionDisconnect +

+ SESSION_DISCONNECT

@@ -11565,7 +11690,7 @@
Properties
-

The User's Room session information. Object signature matches the peerInfo parameter payload received in thepeerJoined event.

+

The User's Room session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -11617,7 +11742,7 @@
Properties
@@ -11650,13 +11775,13 @@
Properties
- + -

- socketError +

+ SOCKET_ERROR

@@ -11950,13 +12075,13 @@
Properties
- + -

- storedMessages +

+ STORED_MESSAGES

@@ -12052,7 +12177,7 @@
Properties
- SkylinkRoom + roomInfo @@ -12143,10 +12268,10 @@
Properties

The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

+defined in sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

@@ -12281,8 +12406,8 @@
Properties

The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in Skylink#sendP2PMessage or Skylink#sendMessage. Value will always - be false for stored messages.

+off the targetPeerId parameter being defined in sendP2PMessage or sendMessage. Value will always +be false for stored messages.

@@ -12311,7 +12436,7 @@
Properties
-

The flag if message is sent from Skylink#sendP2PMessage. Value will always be +

The flag if message is sent from sendP2PMessage. Value will always be true for stored messages.

@@ -12379,8 +12504,8 @@
Properties

The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

+Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

@@ -12494,13 +12619,13 @@
Properties
- + -

- streamEnded +

+ STREAM_ENDED

@@ -12625,7 +12750,7 @@
Properties
- SkylinkRoom + roomInfo @@ -12668,7 +12793,8 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received +in the PEER JOINED event.

@@ -12898,13 +13024,13 @@
Properties
- + -

- streamMuted +

+ STREAM_MUTED

@@ -13043,7 +13169,7 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -13211,7 +13337,7 @@
Properties
@@ -13244,13 +13370,13 @@
Properties
- + -

- systemAction +

+ SYSTEM_ACTION

@@ -13360,8 +13486,7 @@
Properties
-

The current Signaling server reaction state. - [Rel: Skylink.SYSTEM_ACTION]

+

The current Signaling server reaction state.

diff --git a/publish/2.x/docs/SkylinkLogger.html b/publish/2.x/docs/SkylinkLogger.html index 19010df6d..7a5ef8ec8 100644 --- a/publish/2.x/docs/SkylinkLogger.html +++ b/publish/2.x/docs/SkylinkLogger.html @@ -76,7 +76,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -170,7 +170,7 @@

@@ -479,7 +479,7 @@

Properties:
@@ -546,7 +546,7 @@

@@ -613,7 +613,7 @@

@@ -703,7 +703,7 @@

@@ -794,7 +794,7 @@

@@ -969,7 +969,7 @@

Parameters:
diff --git a/publish/2.x/docs/compatibility_ice-connection.js.html b/publish/2.x/docs/compatibility_ice-connection.js.html index 00a78e1af..15779152f 100644 --- a/publish/2.x/docs/compatibility_ice-connection.js.html +++ b/publish/2.x/docs/compatibility_ice-connection.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -93,7 +93,10 @@

-
/**
+    
import { isAgent } from '../utils/helpers';
+import { BROWSER_AGENT } from '../constants';
+
+/**
  * @description Gets TCP and UDP ports based on the browser
  * @param {Object} params
  * @param {boolean} params.forceTURNSSL
@@ -103,8 +106,7 @@ 

* @return {{tcp: Array, udp: Array, both: Array, iceServerProtocol: string}} */ const getConnectionPortsAndProtocolByBrowser = (params) => { - const { forceTURNSSL, CONSTANTS, serverConfig } = params; - const { AdapterJS } = window; + const { forceTURNSSL, serverConfig } = params; const connectionConfig = { tcp: serverConfig.iceServerPorts.tcp, udp: serverConfig.iceServerPorts.udp, @@ -113,24 +115,11 @@

iceServerPorts: serverConfig.iceServerPorts, }; - if (AdapterJS.webrtcDetectedBrowser === 'edge') { - connectionConfig.tcp = []; - connectionConfig.udp = [3478]; - connectionConfig.iceServerPorts.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else if (forceTURNSSL) { - if (AdapterJS.webrtcDetectedBrowser === 'firefox' && AdapterJS.webrtcDetectedVersion < 53) { - connectionConfig.udp = []; - connectionConfig.tcp = [443]; - connectionConfig.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else { - connectionConfig.iceServerPorts.udp = []; - connectionConfig.iceServerProtocol = 'turns'; - } - } else if (AdapterJS.webrtcDetectedBrowser === 'firefox') { + if (forceTURNSSL) { + connectionConfig.iceServerPorts.udp = []; + connectionConfig.iceServerProtocol = 'turns'; + } else if (isAgent(BROWSER_AGENT.FIREFOX)) { // default configs are specific to Chrome connectionConfig.udp = [3478]; - connectionConfig.tcp = [443, 80]; connectionConfig.both = []; } diff --git a/publish/2.x/docs/constants.js.html b/publish/2.x/docs/constants.js.html index c362e9873..f7531acd6 100644 --- a/publish/2.x/docs/constants.js.html +++ b/publish/2.x/docs/constants.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -97,7 +97,80 @@

/** * @namespace SkylinkConstants - * @description Constants used by SkylinkJS are described here. + * @description + * <ul> + * <li>{@link SkylinkConstants.BUNDLE_POLICY|BUNDLE_POLICY} </li> + * <li>{@link SkylinkConstants.CANDIDATE_GENERATION_STATE|CANDIDATE_GENERATION_STATE} </li> + * <li>{@link SkylinkConstants.CANDIDATE_PROCESSING_STATE|CANDIDATE_PROCESSING_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_STATE|DATA_CHANNEL_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_TYPE|DATA_CHANNEL_TYPE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR|DATA_CHANNEL_MESSAGE_ERROR} </li> + * <li>{@link SkylinkEvents|EVENTS} </li> + * <li>{@link SkylinkConstants.GET_CONNECTION_STATUS_STATE|GET_CONNECTION_STATUS_STATE} </li> + * <li>{@link SkylinkConstants.GET_PEERS_STATE|GET_PEERS_STATE} </li> + * <li>{@link SkylinkConstants.HANDSHAKE_PROGRESS|HANDSHAKE_PROGRESS} </li> + * <li>{@link SkylinkConstants.ICE_CONNECTION_STATE|ICE_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.LOG_LEVEL|LOG_LEVEL} </li> + * <li>{@link SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE|MEDIA_ACCESS_FALLBACK_STATE} </li> + * <li>{@link SkylinkConstants.MEDIA_SOURCE|MEDIA_SOURCE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATUS|MEDIA_STATUS} </li> + * <li>{@link SkylinkConstants.MEDIA_TYPE|MEDIA_TYPE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATE|MEDIA_STATE} </li> + * <li>{@link SkylinkConstants.PEER_CERTIFICATE|PEER_CERTIFICATE} </li> + * <li>{@link SkylinkConstants.PEER_CONNECTION_STATE|PEER_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE_ERROR|READY_STATE_CHANGE_ERROR} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE|READY_STATE_CHANGE} </li> + * <li>{@link SkylinkConstants.RTCP_MUX_POLICY|RTCP_MUX_POLICY} </li> + * <li>{@link SkylinkConstants.RTMP_STATE|RTMP_STATE} </li> + * <li>{@link SkylinkConstants.RECORDING_STATE|RECORDING_STATE} </li> + * <li>{@link SkylinkConstants.SDP_SEMANTICS|SDP_SEMANTICS} </li> + * <li>{@link SkylinkConstants.SERVER_PEER_TYPE|SERVER_PEER_TYPE} </li> + * <li>{@link SkylinkConstants.SOCKET_ERROR|SOCKET_ERROR} </li> + * <li>{@link SkylinkConstants.SOCKET_FALLBACK|SOCKET_FALLBACK} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION|SYSTEM_ACTION} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION_REASON|SYSTEM_ACTION_REASON} </li> + * <li>{@link SkylinkConstants.SM_PROTOCOL_VERSION|SM_PROTOCOL_VERSION} </li> + * <li>{@link SkylinkConstants.TURN_TRANSPORT|TURN_TRANSPORT} </li> + * <li>{@link SkylinkConstants.VIDEO_RESOLUTION|VIDEO_RESOLUTION} </li> + * <li>{@link SkylinkConstants.VIDEO_QUALITY|VIDEO_QUALITY} </li> + * </ul> + */ + +/** + * // Not implemented yet + * {@link SkylinkConstants.DATA_TRANSFER_DATA_TYPE|DATA_TRANSFER_DATA_TYPE} </br> + * {@link SkylinkConstants.DT_PROTOCOL_VERSION|DT_PROTOCOL_VERSION} </br> + * {@link SkylinkConstants.DATA_TRANSFER_TYPE|DATA_TRANSFER_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_SESSION_TYPE|DATA_TRANSFER_SESSION_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_STATE|DATA_TRANSFER_STATE} </br> + * {@link SkylinkConstants.DATA_STREAM_STATE|DATA_STREAM_STATE} </br> + * {@link SkylinkConstants.INTRODUCE_STATE|INTRODUCE_STATE} </br> + * {@link SkylinkConstants.REGIONAL_SERVER|REGIONAL_SERVER} </br> + * {@link SkylinkConstants.PRIORITY_WEIGHT_SCHEME|PRIORITY_WEIGHT_SCHEME} </br> + * {@link SkylinkConstants.CHUNK_FILE_SIZE|CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_CHUNK_FILE_SIZE|MOZ_CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.BINARY_FILE_SIZE|BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_BINARY_FILE_SIZE|MOZ_BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.CHUNK_DATAURL_SIZE|CHUNK_DATAURL_SIZE} </br> + * {@link SkylinkConstants.DC_PROTOCOL_TYPE|DC_PROTOCOL_TYPE} </br> + * // Private + * {@link SkylinkConstants.SIG_MESSAGE_TYPE|SIG_MESSAGE_TYPE} </br> + * {@link SkylinkConstants.AUTH_STATE|AUTH_STATE} </br> + * {@link SkylinkConstants.STREAM_STATUS|STREAM_STATUS} </br> + * {@link SkylinkConstants.GROUP_MESSAGE_LIST|GROUP_MESSAGE_LIST} </br> + * {@link SkylinkConstants.TAGS|TAGS} </br> + * {@link SkylinkConstants.TRACK_READY_STATE|TRACK_READY_STATE} </br> + * {@link SkylinkConstants.TRACK_KIND|TRACK_KIND} </br> + * {@link SkylinkConstants.MEDIA_INFO|MEDIA_INFO} </br> + * {@link SkylinkConstants.SDK_VERSION|SDK_VERSION} </br> + * {@link SkylinkConstants.SDK_NAME|SDK_NAME} </br> + * {@link SkylinkConstants.API_VERSION|API_VERSION} </br> + * {@link SkylinkConstants.SIGNALING_VERSION|SIGNALING_VERSION} </br> + * {@link SkylinkConstants.BROWSER_AGENT|BROWSER_AGENT} </br> + * {@link SkylinkConstants.PEER_TYPE|PEER_TYPE} </br> + * {@link SkylinkConstants.SOCKET_EVENTS|SOCKET_EVENTS} </br> + * {@link SkylinkConstants.SOCKET_TYPE|SOCKET_TYPE} </br> + * {@link SkylinkConstants.STATES|STATES} </br> */ /** @@ -118,12 +191,12 @@

* @property {String} BUFFERED_AMOUNT_LOW Value <code>"bufferedAmountLow"</code> * The value of the state when Datachannel when the amount of data buffered to be sent * falls below the Datachannel threshold. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} SEND_MESSAGE_ERROR Value <code>"sendMessageError"</code> * The value of the state when Datachannel when data transfer packets or P2P message fails to send. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @constant * @type object * @readOnly @@ -146,18 +219,19 @@

* @typedef DATA_CHANNEL_TYPE * @property {String} MESSAGING Value <code>"messaging"</code> * The value of the Datachannel type that is used only for messaging in - * {@link Skylink#sendP2PMessage}. + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * However for Peers that do not support simultaneous data transfers, this Datachannel * type will be used to do data transfers (1 at a time). * Each Peer connections will only have one of this Datachannel type and the - * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:peerConnectionState|peerConnectionStateEvent} triggers parameter payload <code>state</code> as + * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:PEER_CONNECTION_STATE|PEER CONNECTION + * STATE} event triggers parameter payload <code>state</code> as * <code>CLOSED</code> for Peer). - * @property {String} DATA Value <code>"data"</code> + * @property {String} DATA [UNAVAILABLE] Value <code>"data"</code> * The value of the Datachannel type that is used only for a data transfer in - * {@link Skylink#sendURLData} and - * {@link Skylink#sendBlobData}. + * {@link Skylink#sendURLData|sendURLData} and + * {@link Skylink#sendBlobData|sendBlobData}. * The connection will close after the data transfer has been completed or terminated (happens when - * {@link SkylinkEvents.event:dataTransferStatedataTransferStateEvent} triggers parameter payload + * {@link SkylinkEvents.event:DATA_TRANSFER_STATE|DATA TRANSFER STATE} triggers parameter payload * <code>state</code> as <code>DOWNLOAD_COMPLETED</code>, <code>UPLOAD_COMPLETED</code>, * <code>REJECTED</code>, <code>CANCEL</code> or <code>ERROR</code> for Peer). * @constant @@ -176,11 +250,11 @@

* @typedef DATA_CHANNEL_MESSAGE_ERROR * @property {String} MESSAGE Value <code>"message"</code> * The value of the Datachannel sending message error type when encountered during - * sending P2P message from {@link Skylink#sendP2PMessage}. + * sending P2P message from {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} TRANSFER Value <code>"transfer"</code> * The value of the Datachannel sending message error type when encountered during - * data transfers from {@link Skylink#sendURLData} or - * {@link Skylink#sendBlobData}. + * data transfers from {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendBlobData|sendBlobData}. * @constant * @type object * @readOnly @@ -198,22 +272,22 @@

* @property {String} BINARY_STRING Value <code>"binaryString"</code> * The value of data transfer data type when Blob binary data chunks encoded to Base64 encoded string are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>false</code>. * @property {String} ARRAY_BUFFER Value <code>"arrayBuffer"</code> * The value of data transfer data type when ArrayBuffer binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} BLOB Value <code>"blob"</code> * The value of data transfer data type when Blob binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} STRING Value <code>"string"</code> * The value of data transfer data type when only string data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendURLData}. + * Used only in {@link Skylink#sendURLData|sendURLData}. * @constant * @type Object * @readOnly @@ -267,10 +341,10 @@

* @typedef DATA_TRANSFER_SESSION_TYPE * @property {String} BLOB Value <code>"blob"</code> * The value of the session type for - * {@link Skylink#sendURLData} data transfer. + * {@link Skylink#sendURLData|sendURLData} data transfer. * @property {String} DATA_URL Value <code>"dataURL"</code> * The value of the session type for - * {@link Skylink#sendBlobData} data transfer. + * {@link Skylink#sendBlobData|sendBlobData} data transfer. * @constant * @type Object * @readOnly @@ -343,6 +417,28 @@

START_ERROR: 'startError', }; +/** + * The list of auth states. + * @typedef AUTH_STATE + * @property {String} REQUEST Value <code>"request"</code> + * The value of the state when the SDK authenticates with API. + * @property {String} SUCCESS Value <code>"success"</code> + * The value of the state when the auth request is successful. + * @property {String} ERROR Value <code>"error"</code> + * The value of the state when the auth request fails. + * @constant + * @type Object + * @readOnly + * @memberOf SkylinkConstants + * @since 2.0.0 + * @ignore + */ +export const AUTH_STATE = { + REQUEST: 'request', + SUCCESS: 'success', + ERROR: 'error', +}; + /** * The list of data streaming states. * @typedef DATA_STREAM_STATE @@ -456,7 +552,7 @@

* @property {String} CHECKING Value <code>"checking"</code> * The value of the state when Peer connection is checking for a suitable matching pair of * ICE candidates to establish ICE connection. - * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|candidateGenerationStateEvent}. + * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|{@link SkylinkEvents.event:CANDIDATE_GENERATION_STATE|CANDIDATE GENERATION STATE} event}. * @property {String} CONNECTED Value <code>"connected"</code> * The value of the state when Peer connection has found a suitable matching pair of * ICE candidates to establish ICE connection but is still checking for a better @@ -467,7 +563,7 @@

* The value of the state when Peer connection has found the best suitable matching pair * of ICE candidates to establish ICE connection and checking has stopped. * At this state, ICE connection is already established and audio, video and - * data streaming has already started. This may happpen after <code>CONNECTED</code>. + * data streaming has already started. This may happen after <code>CONNECTED</code>. * @property {String} FAILED Value <code>"failed"</code> * The value of the state when Peer connection ICE connection has failed. * @property {String} DISCONNECTED Value <code>"disconnected"</code> @@ -477,8 +573,6 @@

* @property {String} CLOSED Value <code>"closed"</code> * The value of the state when Peer connection ICE connection has closed. * This happens when Peer connection is closed and no streaming can occur at this stage. - * @property {String} TRICKLE_FAILED Value <code>"trickleFailed"</code> - * The value of the state when Peer connection ICE connection has failed during trickle ICE. * @constant * @type Object * @readOnly @@ -492,7 +586,6 @@

COMPLETED: 'completed', CLOSED: 'closed', FAILED: 'failed', - TRICKLE_FAILED: 'trickleFailed', DISCONNECTED: 'disconnected', }; @@ -575,21 +668,27 @@

* @since 0.5.0 */ export const PEER_CONNECTION_STATE = { + // onsignalingstatechange STABLE: 'stable', HAVE_LOCAL_OFFER: 'have-local-offer', HAVE_REMOTE_OFFER: 'have-remote-offer', CLOSED: 'closed', + // onconnectionstatechange + CONNECTING: 'connecting', + FAILED: 'failed', + DISCONNECTED: 'disconnected', + CONNECTED: 'connected', }; /** * The list of {@link Skylink#getConnectionStatus} retrieval states. * @typedef GET_CONNECTION_STATUS_STATE * @property {number} RETRIEVING Value <code>0</code> - * The value of the state when {@link Skylink#getConnectionStatus} is retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} is retrieving the Peer connection stats. * @property {number} RETRIEVE_SUCCESS Value <code>1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has retrieved the Peer connection stats successfully. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has retrieved the Peer connection stats successfully. * @property {number} RETRIEVE_ERROR Value <code>-1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has failed retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has failed retrieving the Peer connection stats. * @constant * @type Object * @readOnly @@ -619,7 +718,6 @@

*/ export const SERVER_PEER_TYPE = { MCU: 'mcu', - // SIP: 'sip' }; /** @@ -749,13 +847,13 @@

* <a href="http://support.temasys.io/support/solutions/articles/12000012342-what-is-a-privileged-key-"> * Read more about privileged App Key feature here</a>. * </blockquote> - * The list of <a href="#method_getPeers"><code>getPeers()</code> method</a> retrieval states. + * The list of <code>{@link Skylink#getPeers|getPeers}</code> method retrieval states. * @typedef GET_PEERS_STATE * @property {String} ENQUIRED Value <code>"enquired"</code> - * The value of the state when <code>getPeers()</code> is retrieving the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> is retrieving the list of Peer IDs * from Rooms within the same App space from the Signaling server. * @property {String} RECEIVED Value <code>"received"</code> - * The value of the state when <code>getPeers()</code> has retrieved the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> has retrieved the list of Peer IDs * from Rooms within the same App space from the Signaling server successfully. * @readOnly * @type Object @@ -799,7 +897,7 @@

}; /** - * The list of Signaling server reaction states during {@link Skylink#joinRoom}. + * The list of Signaling server reaction states during {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION * @property {String} WARNING Value <code>"warning"</code> * The value of the state when Room session is about to end. @@ -821,41 +919,37 @@

/** * The list of Signaling server reaction states reason of action code during - * {@link Skylink#joinRoom}. + * {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION_REASON * @property {String} CREDENTIALS_EXPIRED Value <code>"oldTimeStamp"</code> * The value of the reason code when Room session token has expired. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} CREDENTIALS_ERROR Value <code>"credentialError"</code> * The value of the reason code when Room session token provided is invalid. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * @property {String} DUPLICATED_LOGIN Value <code>"duplicatedLogin"</code> * The value of the reason code when Room session token has been used already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_NOT_STARTED Value <code>"notStart"</code> * The value of the reason code when Room session has not started. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} EXPIRED Value <code>"expired"</code> * The value of the reason code when Room session has ended already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_LOCKED Value <code>"locked"</code> * The value of the reason code when Room is locked. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} FAST_MESSAGE Value <code>"fastmsg"</code> * The value of the reason code when User is flooding socket messages to the Signaling server * that is sent too quickly within less than a second interval. * Happens after Room session has started. This can be caused by various methods like - * {@link Skylink#sendMessage}, - * {@link Skylink#muteStreams}, - * {@link Skylink#enableAudio}, - * {@link Skylink#enableVideo}, - * {@link Skylink#disableAudio}, - * {@link Skylink#disableVideo}, + * {@link Skylink#sendMessage|sendMessage}, + * {@link Skylink#muteStreams|muteStreams} * Results with: <code>WARNING</code> * @property {String} ROOM_CLOSING Value <code>"toClose"</code> * The value of the reason code when Room session is ending. @@ -868,12 +962,12 @@

* Results with: <code>REJECT</code> * @property {String} SERVER_ERROR Value <code>"serverError"</code> * The value of the reason code when Room session fails to start due to some technical errors. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} KEY_ERROR Value <code>"keyFailed"</code> * The value of the reason code when Room session fails to start due to some technical error pertaining to * App Key initialization. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @constant * @type Object @@ -907,7 +1001,7 @@

* The value of the state when <code>init()</code> has successfully authenticated with the Auth server. * Room session token is generated for joining the <codRoom</code> provided in <code>init()</code>. * Room session token has to be generated each time User switches to a different Room - * in {@link Skylink#joinRoom}. + * in {@link Skylink#joinRoom|joinRoom} method. * @property {number} ERROR Value <code>-1</code> * The value of the state when <code>init()</code> has failed authenticating with the Auth server. * @constant @@ -1045,7 +1139,7 @@

}; /** - * The list of User's priority weight schemes for {@link Skylink#joinRoom} connections. + * The list of User's priority weight schemes for {@link Skylink#joinRoom|joinRoom} connections. * @typedef PRIORITY_WEIGHT_SCHEME * @property {String} ENFORCE_OFFERER Value <code>"enforceOfferer"</code> * The value of the priority weight scheme to enforce User as the offerer. @@ -1102,24 +1196,24 @@

}; /** - * The list of {@link Skylink#joinRoom} socket connection failure states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection failure states. * @typedef SOCKET_ERROR * @property {number} CONNECTION_FAILED Value <code>0</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish with + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish with * the Signaling server at the first attempt. * @property {number} RECONNECTION_FAILED Value <code>-1</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish * the Signaling server after the first attempt. * @property {number} CONNECTION_ABORTED Value <code>-2</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of the first attempt in <code>CONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ABORTED Value <code>-3</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of several attempts in <code>RECONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ATTEMPT Value <code>-4</code> - * The value of the failure state when <code>joinRoom()</code> socket connection is attempting + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is attempting * to reconnect with a new port or transport after the failure of attempts in * <code>CONNECTION_FAILED</code> or <code>RECONNECTED_FAILED</code>. * @constant @@ -1137,22 +1231,22 @@

}; /** - * The list of {@link Skylink#joinRoom} socket connection reconnection states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection reconnection states. * @typedef SOCKET_FALLBACK * @property {String} NON_FALLBACK Value <code>"nonfallback"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is at its initial state + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is at its initial state * without transitioning to any new socket port or transports yet. * @property {String} FALLBACK_PORT Value <code>"fallbackPortNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} FALLBACK_PORT_SSL Value <code>"fallbackPortSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING Value <code>"fallbackLongPollingNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using Polling transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING_SSL Value <code>"fallbackLongPollingSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using Polling transports to attempt to establish connection with Signaling server. * @constant * @type Object @@ -1171,7 +1265,7 @@

/** * <blockquote class="info"> * Note that this is used only for SDK developer purposes.<br> - * Current version: <code>0.1.4</code> + * Current version: <code>2.1.0</code> * </blockquote> * The value of the current version of the Signaling socket message protocol. * @typedef SM_PROTOCOL_VERSION @@ -1205,13 +1299,13 @@

* @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const VIDEO_CODEC = { AUTO: 'auto', VP8: 'VP8', H264: 'H264', VP9: 'VP9', - // H264UC: 'H264UC' }; /** @@ -1243,6 +1337,7 @@

* @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const AUDIO_CODEC = { AUTO: 'auto', @@ -1252,12 +1347,11 @@

G722: 'G722', PCMU: 'PCMU', PCMA: 'PCMA', - // SILK: 'SILK' }; /** * The list of available screensharing media sources configured in the - * {@link Skylink#shareScreen}. + * {@link Skylink#shareScreen|shareScreen}. * @typedef MEDIA_SOURCE * @property {String} SCREEN Value <code>"screen"</code> * The value of the option to share entire screen. @@ -1298,11 +1392,11 @@

/** * <blockquote class="info"> - * Note that currently {@link Skylink#getUserMedia} only configures + * Note that currently {@link Skylink#getUserMedia|getUserMedia} method only configures * the maximum resolution of the Stream due to browser interopability and support. * </blockquote> * The list of <a href="https://en.wikipedia.org/wiki/Graphics_display_resolution#Video_Graphics_Array"> - * video resolutions</a> sets configured in the {@link Skylink#getUserMedia}. + * video resolutions</a> sets configured in the {@link Skylink#getUserMedia|getUserMedia} method. * @typedef VIDEO_RESOLUTION * @property {Object} QQVGA Value <code>{ width: 160, height: 120 }</code> * The value of the option to configure QQVGA resolution. @@ -1411,19 +1505,19 @@

}; /** - * The list of {@link Skylink#getUserMedia} or - * {@link Skylink#shareScreen} Stream fallback states. + * The list of {@link Skylink#getUserMedia|getUserMedia} or + * {@link Skylink#shareScreen|shareScreen} Stream fallback states. * @typedef MEDIA_ACCESS_FALLBACK_STATE * @property {Object} FALLBACKING Value <code>0</code> - * The value of the state when <code>getUserMedia()</code> will retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method will retrieve audio track only * when retrieving audio and video tracks failed. * This can be configured by Skylink {@link initOptions} * <code>audioFallback</code> option. * @property {Object} FALLBACKED Value <code>1</code> - * The value of the state when <code>getUserMedia()</code> or <code>shareScreen()</code> - * retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> or <code>{@link Skylink#shareScreen|shareScreen}</code> + * method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. * @property {Object} ERROR Value <code>-1</code> - * The value of the state when <code>getUserMedia()</code> failed to retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method failed to retrieve audio track only * after retrieving audio and video tracks failed. * @readOnly * @constant @@ -1657,6 +1751,7 @@

MESSAGE: 'message', GET_STORED_MESSAGES: 'getStoredMessages', STORED_MESSAGES: 'storedMessages', + RESTART: 'restart', }; export const STREAM_STATUS = { @@ -1803,6 +1898,7 @@

MESSAGING: 'MESSAGING', ASYNC_MESSAGING: 'ASYNC MESSAGING', ENCRYPTED_MESSAGING: 'ENCRYPTED MESSAGING', + STATS: 'STATS', }; /** @@ -1908,7 +2004,7 @@

* @memberOf SkylinkConstants * @since 2.0 */ -export const SDK_VERSION = '2.0.0'; +export const SDK_VERSION = '2.x.x'; /** * The SDK type. @@ -2034,55 +2130,6 @@

SIGNALING: SOCKET_EVENTS, }; -/** - * @namespace SkylinkConstants.EVENTS - * @type {object} - * @property {String} ON_INCOMING_STREAM - 'onIncomingStream' - * @property {String} ON_INCOMING_SCREEN_STREAM - 'onIncomingScreenStream' - * @property {String} STREAM_ENDED - 'streamEnded' - * @property {String} PEER_UPDATED - 'peerUpdated' - * @property {String} PEER_JOINED - 'peerJoined' - * @property {String} PEER_LEFT - 'peerLeft' - * @property {String} PEER_CONNECTION_STATE - 'peerConnectionState' - * @property {String} DATA_CHANNEL_STATE - 'dataChannelState' - * @property {String} ON_INCOMING_MESSAGE - 'onIncomingMessage' - * @property {String} HANDSHAKE_PROGRESS - 'handshakeProgress' - * @property {String} SERVER_PEER_JOINED - 'serverPeerJoined' - * @property {String} SERVER_PEER_LEFT - 'serverPeerLeft' - * @property {String} CANDIDATE_PROCESSING_STATE - 'candidateProcessingState' - * @property {String} CANDIDATE_GENERATION_STATE - 'candidateGenerationState' - * @property {String} CANDIDATES_GATHERED - 'candidatesGathered' - * @property {String} ON_INCOMING_DATA - 'onIncomingData' - * @property {String} GET_PEERS_STATE_CHANGE - 'getPeersStateChange' - * @property {String} SESSION_DISCONNECT - 'sessionDisconnect' - * @property {String} STREAM_MUTED - 'streamMuted' - * @property {String} CHANNEL_OPEN - 'channelOpen' - * @property {String} CHANNEL_CLOSE - 'channelClose' - * @property {String} CHANNEL_MESSAGE - 'channelMessage' - * @property {String} CHANNEL_ERROR - 'channelError' - * @property {String} CHANNEL_RETRY - 'channelRetry' - * @property {String} SOCKET_ERROR - 'socketError' - * @property {String} SYSTEM_ACTION - 'systemAction' - * @property {String} MEDIA_ACCESS_FALLBACK - 'mediaAccessFallback' - * @property {String} MEDIA_ACCESS_REQUIRED - 'mediaAccessRequired' - * @property {String} MEDIA_ACCESS_STOPPED - 'mediaAccessStopped' - * @property {String} MEDIA_ACCESS_SUCCESS - 'mediaAccessSuccess' - * @property {String} RECORDING_STATE - 'recordingState' - * @property {String} LOCAL_MEDIA_MUTED - 'localMediaMuted' - * @property {String} MEDIA_ACCESS_ERROR - 'mediaAccessError' - * @property {String} GET_CONNECTION_STATUS_STATE_CHANGE - 'getConnectionStatusStateChange' - * @property {String} READY_STATE_CHANGE - 'readyStateChange' - * @property {String} ROOM_LOCK - 'roomLock' - * @property {String} ICE_CONNECTION_STATE - 'iceConnectionState' - * @property {String} BYE - 'bye' - * @property {String} RTMP_STATE - 'rtmpState' - * @property {String} STORED_MESSAGES - 'storedMessages' - * @property {String} ENCRYPT_SECRETS_UPDATED - 'encryptSecretsUpdated' - * @memberOf SkylinkConstants - * @constant - * @readonly - * @since 2.0 - */ export const EVENTS = SkylinkEventsConstants;

diff --git a/publish/2.x/docs/features_messaging_encrypted-messaging_index.js.html b/publish/2.x/docs/features_messaging_encrypted-messaging_index.js.html index 9c6394b47..c5e87f69a 100644 --- a/publish/2.x/docs/features_messaging_encrypted-messaging_index.js.html +++ b/publish/2.x/docs/features_messaging_encrypted-messaging_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -103,6 +103,7 @@

import SkylinkError from '../../../utils/skylinkError'; import logger from '../../../logger'; import { TAGS } from '../../../constants'; +import Room from '../../../room'; const instance = {}; /** @@ -175,7 +176,7 @@

dispatchEncryptSecretEvent() { dispatchEvent(encryptionSecretsUpdated({ - room: this.room, + room: Room.getRoomInfo(this.room.id), encryptSecrets: this.encryptSecrets, selectedSecretId: this.selectedSecretId, peerInfo: getUserInfo(this.room), diff --git a/publish/2.x/docs/features_rtmp_index.js.html b/publish/2.x/docs/features_rtmp_index.js.html index 4a26423d2..b073fb8ad 100644 --- a/publish/2.x/docs/features_rtmp_index.js.html +++ b/publish/2.x/docs/features_rtmp_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

diff --git a/publish/2.x/docs/features_screen-sharing_index.js.html b/publish/2.x/docs/features_screen-sharing_index.js.html index fe139382a..3aeb65d0a 100644 --- a/publish/2.x/docs/features_screen-sharing_index.js.html +++ b/publish/2.x/docs/features_screen-sharing_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -99,6 +99,7 @@

import logger from '../../logger'; import MESSAGES from '../../messages'; import { isEmptyObj, isAString, updateReplacedStreamInState } from '../../utils/helpers'; +import { DEFAULTS } from '../../defaults'; import screenshareHelpers from './helpers/index'; import { TAGS } from '../../constants'; @@ -212,7 +213,7 @@

startScreenCapture() { const { navigator } = window; if (navigator.mediaDevices.getDisplayMedia) { - return navigator.mediaDevices.getDisplayMedia({ video: true }) + return navigator.mediaDevices.getDisplayMedia(DEFAULTS.MEDIA_OPTIONS.SCREENSHARE) .then(stream => stream) .catch((error) => { if (error.name === 'NotAllowedError') { diff --git a/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.eot b/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.eot old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.svg b/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.svg old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.ttf b/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.ttf old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.woff b/publish/2.x/docs/fonts/OpenSans-Semibold-webfont.woff old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.eot b/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.eot old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.svg b/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.svg old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf b/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.woff b/publish/2.x/docs/fonts/OpenSans-SemiboldItalic-webfont.woff old mode 100644 new mode 100755 diff --git a/publish/2.x/docs/global.html b/publish/2.x/docs/global.html index 9bb0c11a0..fc0d6f4cd 100644 --- a/publish/2.x/docs/global.html +++ b/publish/2.x/docs/global.html @@ -76,7 +76,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -209,7 +209,7 @@

@@ -287,7 +287,7 @@

@@ -463,7 +463,7 @@

Properties

The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -499,7 +499,7 @@
Properties

The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -710,7 +710,7 @@
Properties

The total number of bytes that were retransmitted for this SSRC, only including - payload bytes. This is a subset of bytesSent.

+payload bytes. This is a subset of bytesSent.

@@ -783,7 +783,7 @@
Properties

The Peer connection sending audio streaming selected codec information. - Defined as null if local session description is not available before parsing.

+Defined as null if local session description is not available before parsing.

Properties
@@ -912,7 +912,7 @@
Properties

The Peer connection sending audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -950,8 +950,8 @@
Properties

The Peer connection sending audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

@@ -989,7 +989,7 @@
Properties

The Peer connection sending audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1027,7 +1027,7 @@
Properties

The Peer connection sending audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1072,7 +1072,7 @@
Properties

The Peer connection audio level of the media source. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1110,7 +1110,7 @@
Properties

The Peer connection sending audio total duration in seconds. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1148,7 +1148,7 @@
Properties

The Peer connection sending audio streaming echo return loss in db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1186,8 +1186,8 @@
Properties

The Peer connection sending audio streaming - echo return loss enhancement db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

+echo return loss enhancement db (decibels). +Defined as null if it's not available in original raw statistics.before parsing.

@@ -1280,7 +1280,7 @@
Properties

The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -1316,7 +1316,7 @@
Properties

The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -1562,7 +1562,7 @@
Properties

The Peer connection receiving audio streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

+Defined as 0 if it's not present in original raw statistics before parsing.

@@ -1636,7 +1636,7 @@
Properties

The Peer connection receiving audio total duration in seconds. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -1674,9 +1674,9 @@
Properties

The Peer connection receiving audio streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

+Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

Properties
@@ -1805,7 +1805,7 @@
Properties

The Peer connection receiving audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1843,8 +1843,8 @@
Properties

The Peer connection receiving audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

@@ -1882,7 +1882,7 @@
Properties

The Peer connection receiving audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1920,7 +1920,7 @@
Properties

The Peer connection receiving audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1965,7 +1965,7 @@
Properties

The Peer connection receiving audio streaming audio level. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -2047,13 +2047,13 @@
Properties
- + -

- codecParams :Object +

+ customSettings :Object

@@ -2062,9 +2062,7 @@

-
- Note that some of these parameters are mainly used for experimental or debugging purposes. Toggling any of - these feature may result in disruptions in connectivity.
+

The peer stream and data settings.

@@ -2104,12 +2102,18 @@

Properties:
- video + data + + Boolean + + + | + JSON @@ -2123,8 +2127,6 @@
Properties:
- <optional>
- @@ -2133,43 +2135,69 @@
Properties:
-

The video codecs parameters to configure.

- -
Properties
- +

The flag if peer has any data channel connections enabled. +If isSelf value is true, this determines if user allows +data channel connections, else if value is false, this determines if peer has any active +data channel connections (where onDataChannelStateChangedEvent +triggers state as OPEN and channelType as +MESSAGING for peer) with peer.

+ + + + - - - + - + - + | - + + JSON + - + + + + + + + + + + + + + - - - + - + @@ -2191,36 +2217,51 @@
Properties
+ + + -
NameaudioType + + + + Boolean + - - AttributesDescription + + + + +

The peer stream audio settings keyed by stream id. +When defined as false, it means there is no audio being sent from peer.

+
h264audio[streamId].stereo - JSON + Boolean @@ -2181,8 +2209,6 @@
Properties
- <optional>
-
-

The H264 video codec parameters to configure.

- -
Properties
- +

The flag if stereo band is configured +when encoding audio codec is OPUS for receiving audio data.

+
- - + - + - + - - + + + + + + + + + + - - - + - + @@ -2260,14 +2298,14 @@
Properties
- + @@ -2289,13 +2325,8 @@
Properties
@@ -2303,14 +2334,20 @@
Properties
- + @@ -2332,20 +2367,8 @@
Properties
- - - - -
Nameaudio[streamId].echoCancellationType + + + + Boolean + - - AttributesDescription + + + + +

The flag if echo cancellation is enabled for audio tracks.

+
profileLevelIdaudio[streamId].deviceId @@ -2249,10 +2290,7 @@
Properties
-

- Note that this parameter should only be used for debugging purposes only.
- The H264 video codec base16 encoded string which indicates the H264 baseline, main, or the extended profiles. - When not provided, the default browser configuration is used.

+

The peer stream audio track source id of the device used.

levelAsymmetryAllowedaudio[streamId].exactConstraints - boolean + Boolean @@ -2279,8 +2317,6 @@
Properties
- <optional>
-
-

- Note that this is an experimental parameter which may result in connectivity issues when toggled.
- The flag if streaming H264 sending video data should be encoded at a different level - from receiving video data from Peer encoding to User when Peer is the offerer. - If Peer is the offerer instead of the User, the Peer's peerInfo.config.priorityWeight will be - higher than User's peerInfo.config.priorityWeight. - When not provided, the default browser configuration is used.

+

The flag if peer stream audio track is sending exact +requested values of audio.deviceId when provided.

packetizationModevideo - number + Boolean + + + | + + + JSON @@ -2322,8 +2359,6 @@
Properties
- <optional>
-
-

- Note that this is an experimental parameter which may result in connectivity issues when enabled. It is - advisable to turn off this feature off when receiving H264 decoders do not support the packetization mode, - which may result in a blank receiving video stream.
- The flag to enable H264 video codec packetization mode, which splits video frames that are larger - for a RTP packet into RTP packet chunks. - When not provided, the default browser configuration is used.

-
- +

The peer stream video settings keyed by stream id. +When defined as false, it means there is no video being sent from peer.

@@ -2353,7 +2376,7 @@
Properties
- vp8 + video[streamId].resolution @@ -2382,7 +2405,8 @@
Properties
-

The VP8 video codec parameters to configure.

+

The peer stream video resolution. +[Rel: VIDEO_RESOLUTION]

Properties
@@ -2397,8 +2421,6 @@
Properties
Type - Attributes - @@ -2411,14 +2433,20 @@
Properties
- maxFr + width - number + Number + + + | + + + JSON @@ -2428,23 +2456,14 @@
Properties
- - - <optional>
- - - - - -

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of fps (frames per second) that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

+

The peer stream video resolution width or +video resolution width settings. +When defined as a JSON Object, it is the user set resolution width settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

@@ -2452,14 +2471,20 @@
Properties
- maxFs + height - number + Number + + + | + + + JSON @@ -2469,27 +2494,14 @@
Properties
- - - <optional>
- - - - - -

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of frame size macroblocks that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

+

The peer stream video resolution height or +video resolution height settings. +When defined as a JSON Object, it is the user set resolution height settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

@@ -2504,12 +2516,18 @@
Properties
- vp9 + video[streamId].frameRate + + Number + + + | + JSON @@ -2533,43 +2551,25 @@
Properties
-

The VP9 video codec parameters to configure.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The peer stream video +frameRate per second (fps) or video frameRate settings. +When defined as a JSON Object, it is the user set frameRate settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

+ - - - + - + @@ -2591,11 +2589,7 @@
Properties
@@ -2603,14 +2597,14 @@
Properties
- + - -
NameTypeAttributesDescription
maxFrvideo[streamId].screenshare - number + Boolean @@ -2581,8 +2581,6 @@
Properties
- <optional>
-
-

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of fps (frames per second) that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

+

The flag if peer stream is a screensharing stream.

maxFsvideo[streamId].deviceId - number + String @@ -2632,29 +2626,45 @@
Properties
-

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of frame size macroblocks that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

+

The peer stream video track source id of the device used.

+ + + video[streamId].exactConstraints + + + + + + + Boolean + + + + + + + + + + + + + - + - - - + + +

The flag if peer stream video track is sending exact +requested values of video.resolution, +video.frameRate and video.deviceId +when provided.

@@ -2662,12 +2672,18 @@
Properties
- audio + video[streamId].facingMode + + String + + + | + JSON @@ -2691,43 +2707,24 @@
Properties
-

The audio codecs parameters to configure.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The peer stream video camera facing mode. +When defined as a JSON Object, it is the user set facingMode settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

+ - - - + - + @@ -2749,9 +2744,7 @@
Properties
- + @@ -2818,14 +2810,14 @@
Properties
- + @@ -2856,14 +2847,14 @@
Properties
- + + + + + +
NameTypeAttributesDescription
opusmaxBandwidth - JSON + Object @@ -2739,8 +2736,6 @@
Properties
- <optional>
-
-

- Note that this is only applicable to OPUS audio codecs with a sampling rate of 48000 Hz (hertz). -
The OPUS audio codec parameters to configure.

+

The maximum streaming bandwidth sent from peer.

Properties
@@ -2780,14 +2773,14 @@
Properties
stereoaudio - boolean + Number @@ -2809,8 +2802,7 @@
Properties
-

The flag if OPUS audio codec is able to decode or receive stereo packets. - When not provided, the default browser configuration is used.

+

The maximum audio streaming bandwidth sent from peer.

sprop-stereovideo - boolean + Number @@ -2847,8 +2839,7 @@
Properties
-

The flag if OPUS audio codec is sending stereo packets. - When not provided, the default browser configuration is used.

+

The maximum video streaming bandwidth sent from peer.

usedtxdata - boolean + Number @@ -2885,13 +2876,14 @@
Properties
-

- Note that this feature might not work depending on the browser support and implementation.
- The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

+

The maximum data streaming bandwidth sent from peer.

+
+ @@ -2899,14 +2891,14 @@
Properties
- useinbandfec + mediaStatus - boolean + Object @@ -2918,8 +2910,6 @@
Properties
- <optional>
- @@ -2928,27 +2918,41 @@
Properties
-

- Note that this parameter should only be used for debugging purposes only.
- The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

- +

The peer streaming media status.

+ +
Properties
+ + + + + + + + + + + + + + + + + - + + - + - - - - - - -
NameTypeDescription
maxplaybackrateaudioMuted - number + Boolean @@ -2958,39 +2962,14 @@
Properties
- - <optional>
- - - -
-

- Note that this parameter should only be used for debugging purposes only.
- The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

-
- - - - - - - - +

The value of the audio status. +If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present +in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. +

@@ -2998,14 +2977,14 @@
Properties
- minptime + videoMuted - number + Boolean @@ -3015,24 +2994,21 @@
Properties
- - - <optional>
- - - - - -

- Note that this parameter should only be used for debugging purposes only.
- The OPUS audio codec receiving audio data decoder minimum length of time in milleseconds should be - encapsulated in a single received encoded audio data packet. - This value must be between 3 to 120 - When not provided, the default browser configuration is used.

+

The value of the video status. +If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present +in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. +

+ + + + + + + @@ -3074,7 +3050,7 @@
Properties
@@ -3107,13 +3083,13 @@
Properties
- + -

- customSettings :Object +

+ dataChannelInfo :Object

@@ -3156,14 +3132,14 @@
Properties:
- settings + channelName - Object + String @@ -3177,47 +3153,22 @@
Properties:
-

The peer stream and data settings.

- -
Properties
- - - - - - - - - - - - - - - - +

The data channel id.

+ - - - + - + @@ -3244,20 +3190,14 @@
Properties
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
datachannelProp - Boolean - - - | - - - JSON + String @@ -3231,12 +3182,7 @@
Properties
-

The flag if peer has any data channel connections enabled. - If isSelf value is true, this determines if user allows - data channel connections, else if value is false, this determines if peer has any active - data channel connections (where onDataChannelStateChangedEvent - triggers state as OPEN and channelType as - MESSAGING for peer) with peer.

+

The data channel property.

audiochannelType - Boolean - - - | - - - JSON + String @@ -3271,47 +3211,22 @@
Properties
-

The peer stream audio settings. - When defined as false, it means there is no audio being sent from peer. - When defined as true, the settings.audio.stereo value is - considered as false and the settings.audio.exactConstraints - value is considered as false.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The data channel type.

+ - - - + - + - - @@ -3340,14 +3250,14 @@
Properties
- + - - @@ -3381,14 +3281,14 @@
Properties
- + - - @@ -3422,14 +3310,14 @@
Properties
- + - - @@ -3463,14 +3339,14 @@
Properties
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
stereocurrentTransferId - Boolean + String @@ -3321,18 +3236,13 @@
Properties
- - - - -

The flag if stereo band is configured - when encoding audio codec is OPUS for receiving audio data.

+

The data channel connection +current progressing transfer session. Defined as null when there is +currently no transfer session progressing on the data channel connection

usedtxcurrentStreamId - Boolean + String @@ -3357,23 +3267,13 @@
Properties
- - <optional>
- - - -
-

Note that this feature might not work depending on the browser support and implementation. - The flag if DTX (Discontinuous Transmission) is configured when encoding audio codec - is OPUS for sending audio data. - This might help to reduce bandwidth it reduces the bitrate during silence or background noise. - When not defined, the default browser configuration is used.

+

The data channel connection +current data streaming session id. Defined as null when there is currently +no data streaming session on the data channel connection.

useinbandfecreadyState - Boolean + String @@ -3398,23 +3298,11 @@
Properties
- - <optional>
- - - -
-

Note that this feature might not work depending on the browser support and implementation. - The flag if capability to take advantage of in-band FEC (Forward Error Correction) is - configured when encoding audio codec is OPUS for sending audio data. - This might help to reduce the harm of packet loss by encoding information about the previous packet. - When not defined, the default browser configuration is used.

+

The data channel connection readyState.

maxplaybackratebufferedAmountLow - Number + String @@ -3439,23 +3327,11 @@
Properties
- - <optional>
- - - -
-

Note that this feature might not work depending on the browser support and implementation. - The maximum output sampling rate rendered in Hertz (Hz) when encoding audio codec is - OPUS for sending audio data. - This value must be between 8000 to 48000. - When not defined, the default browser configuration is used.

+

The data channel buffered amount.

echoCancellationbufferedAmountLowThreshold - Boolean + String @@ -3480,4119 +3356,116 @@
Properties
- - - - -

The flag if echo cancellation is enabled for audio tracks.

-
optional - - - - Array - - - - - - - - - <optional>
- - - -
-

The peer stream navigator.getUserMedia() API - audio: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
-

The peer stream audio track source id of the device used.

-
exactConstraints - - - - Boolean - - - - - - - - - - - -

The flag if peer stream audio track is sending exact - requested values of settings.audio.deviceId when provided.

-
- -
video - - - - Boolean - - - | - - - JSON - - - - - - - -

The peer stream video settings. - When defined as false, it means there is no video being sent from peer. - When defined as true, the settings.video.screenshare value is - considered as false and the settings.video.exactConstraints - value is considered as false.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
resolution - - - - JSON - - - - - - - - - <optional>
- - - -
-

The peer stream video resolution. - [Rel: VIDEO_RESOLUTION]

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
width - - - - Number - - - | - - - JSON - - - - - - - -

The peer stream video resolution width or - video resolution width settings. - When defined as a JSON Object, it is the user set resolution width settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
height - - - - Number - - - | - - - JSON - - - - - - - -

The peer stream video resolution height or - video resolution height settings. - When defined as a JSON Object, it is the user set resolution height settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
- -
frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The peer stream video - frameRate per second (fps) or video frameRate settings. - When defined as a JSON Object, it is the user set frameRate settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
screenshare - - - - Boolean - - - - - - - - - - - -

The flag if peer stream is a screensharing stream.

-
optional - - - - Array - - - - - - - - - <optional>
- - - -
-

The peer stream navigator.getUserMedia() API - video: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
-

The peer stream video track source id of the device used.

-
exactConstraints - - - - Boolean - - - - - - - - - - - -

The flag if peer stream video track is sending exact - requested values of settings.video.resolution, - settings.video.frameRate and settings.video.deviceId - when provided.

-
facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The peer stream video camera facing mode. - When defined as a JSON Object, it is the user set facingMode settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
- -
bandwidth - - - - Object - - - - - - - -

The maximum streaming bandwidth sent from peer.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
audio - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum audio streaming bandwidth sent from peer.

-
video - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum video streaming bandwidth sent from peer.

-
data - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum data streaming bandwidth sent from peer.

-
- -
googleXBandwidth - - - - Object - - - - - - - -

Note that this feature might not work depending on the browser support and implementation, - and its properties and values are only defined for user's end and cannot be viewed - from peer's end (when isSelf value is false). - The experimental google video streaming bandwidth sent to peers.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
min - - - - Number - - - - - - - - - <optional>
- - - -
-

The minimum experimental google video streaming bandwidth sent to peers.

-
max - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum experimental google video streaming bandwidth sent to peers.

-
- -
- - - - - - - - - mediaStatus - - - - - - - Object - - - - - - - - - - - - - -

The peer streaming media status.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
audioMuted - - - - Boolean - - - - - - - -

The value of the audio status. - If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present - in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. -

-
videoMuted - - - - Boolean - - - - - - - -

The value of the video status. - If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present - in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. -

-
- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- dataChannelInfo :Object -

-
- - - - - - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
channelName - - - - String - - - - - - - -

The data channel id.

-
channelProp - - - - String - - - - - - - -

The data channel property.

-
channelType - - - - String - - - - - - - -

The data channel type.

-
currentTransferId - - - - String - - - - - - - -

The data channel connection - current progressing transfer session. Defined as null when there is - currently no transfer session progressing on the data channel connection

-
currentStreamId - - - - String - - - - - - - -

The data channel connection - current data streaming session id. Defined as null when there is currently - no data streaming session on the data channel connection.

-
readyState - - - - String - - - - - - - -

The data channel connection readyState.

-
bufferedAmountLow - - - - String - - - - - - - -

The data channel buffered amount.

-
bufferedAmountLowThreshold - - - - String - - - - - - - -

The data channel - buffered amount threshold.

-
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- GetUserMediaOptions :Object -

-
- - - - - -
-

The camera Stream configuration options.

-
- - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
options.useExactConstraints - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

Note that by enabling this flag, exact values will be requested when retrieving camera Stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support. - The flag if getUserMedia() should request for camera Stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

-
options.audio - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - false - - -

Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation. - The audio configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
stereo - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting. - The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

-
usedtx - - - - boolean - - - - - - - - - <optional>
- - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation. - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

-
useinbandfec - - - - boolean - - - - - - - - - <optional>
- - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only. - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

-
maxplaybackrate - - - - number - - - - - - - - - <optional>
- - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only. - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

-
mute - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if audio tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - true and mutes any existing - shareScreen() Stream audio tracks as well.

-
optional - - - - Array - - - - - - - - - <optional>
- - - -
- - -

This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the audio track, - use options.audio.deviceId instead. - The navigator.getUserMedia() API audio: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
- - -

Note this is currently not supported in Firefox browsers. - The audio track source ID of the device to use. - The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

-
echoCancellation - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones. The flag to enable echo cancellation for audio track.

-
- -
options.video - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - false - - -

Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode. - The video configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
mute - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if video tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, - but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - true and mutes any existing - shareScreen() Stream video tracks as well.

-
resolution - - - - JSON - - - - - - - - - <optional>
- - - -
- - -

The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: Skylink.VIDEO_RESOLUTION]

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
width - - - - number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The video resolution width.

-
    -
  • When provided as a number, it is the video resolution width.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
-
height - - - - number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The video resolution height.

-
    -
  • When provided as a number, it is the video resolution height.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
-
- -
frameRate - - - - number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

The video - frameRate per second (fps).

-
    -
  • When provided as a number, it is the video framerate.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
-
optional - - - - Array - - - - - - - - - <optional>
- - - -
- - -

This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the video track, - use options.video.deviceId instead. - The navigator.getUserMedia() API video: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
- - -

Note this is currently not supported in Firefox browsers. - The video track source ID of the device to use. - The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

-
facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

The video camera facing mode. - The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

-
- -
callback - - - - function - - - - - - - - - <optional>
- - - -
- - -

The callback function fired when request has completed. - Function parameters signature is function (error, success) - Function request completion is determined by the - mediaAccessSuccess event triggering isScreensharing parameter - payload value as false for request success.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
error - - - - Error - - - | - - - String - - - - - - - -

The error result in request. - Defined as null when there are no errors in request - Object signature is the getUserMedia() error when retrieving camera Stream.

-
success - - - - MediaStream - - - - - - - -

The success result in request. - Defined as null when there are errors in request - Object signature is the camera Stream object.

-
- -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- initOptions :Object -

-
- - - - - -
-
- When provided as a string, it's configured as appKey.
-
- - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + - + - - + - -
NameTypeAttributesDefaultDescription
appKey - - - - String - - - - - - - - - - - - - -

The App Key. By default, Skylink uses HTTP CORS - authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to - use credential based authentication. See the Persistent Room article - for more information.

-
defaultRoom - - - - String - - - - - - - - - <optional>
- - - -
- - appKey - - -

The default Room to connect to when no room parameter - is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. - The Room that User will be connected to is the defaultRoom provided.

-
roomServer - - - - String - - - - - - - - - <optional>
- - - -
- - -

The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

-
enableStatsGathering - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

Configure the anonymous performance and connectivity statistic collection function. - Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. - This data does not contain any personal information or session content. - To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

-
enableDataChannel - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if Datachannel connections should be enabled.

-
- Note that for Edge browsers, this value is overriden as false due to its supports. - This is required to be enabled for Skylink#sendBlobData, Skylink#sendURLData and Skylink#sendP2PMessage. -
-
enableTURNServer - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if TURN ICE servers should - be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

-
enableSTUNServer - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if STUN ICE servers should - be used when constructing Peer connections to allow TURN connections when required.

-
forceTURN - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if Peer connections should enforce - connections over the TURN server. -

This overrides enableTURNServer value to true and - enableSTUNServer value to false, filterCandidatesType.host - value to true, filterCandidatesType.srflx value to true and - filterCandidatesType.relay value to false. - Note that currently for MCU enabled Peer connections, the filterCandidatesType - configuration is not honoured as Peers connected with MCU is similar as a forced TURN connection. The flags - will act as if the value is false and ICE candidates will never be filtered regardless of the - filterCandidatesType configuration.

-
TURNServerTransport - - - - boolean - - - - - - - - - <optional>
- - - -
- - -

- Note that configuring the protocol may not necessarily result in the desired network transports protocol - used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing - the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. - Note that for Edge browsers, this value is overriden as UDP due to its supports. -
The option to configure the ?transport= - query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. - Skylink.TURN_TRANSPORT

-
disableVideoFecCodecs - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

- Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled, - and to prevent connectivity issues, these codecs will not be removed for MCU enabled Peer connections. -
The flag if video FEC (Forward Error Correction) - codecs like ulpfec and red should be removed in sending session descriptions. - This can be useful for debugging purposes to prevent redundancy and overheads in RTP encoding.

-
disableComfortNoiseCodec - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

- Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled. -
The flag if audio - Comfort Noise (CN) codec should be removed - in sending session descriptions. - This can be useful for debugging purposes to test preferred audio quality and feedback.

-
disableREMB - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

- Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled.
- The flag if video REMB feedback packets should be disabled in sending session descriptions.

-
credentials - - - - JSON - - - - - - - - - <optional>
- - - -
- - -

- Note that we strongly recommend developers to return the credentials.duration, - credentials.startDateTime and defaultRoom and generate the - credentials.credentials from a web server as secret shouldn't be exposed on client web app as - it poses a security risk itself.
- The credentials used for authenticating App Key with - credentials to retrieve the Room session token used for connection in Skylink#joinRoom. - Note that switching of Rooms is not allowed when using credentials based authentication, unless - init() is invoked again with a different set of credentials followed by invoking - the Skylink#joinRoom.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
startDateTime - - - - String - - - - - - - -

The credentials User session in Room starting DateTime - in ISO 8601 format.

-
duration - - - - number - - - - - - - -

The credentials User session in Room duration in hours.

-
credentials - - - - String - - - - - - - -

The generated credentials used to authenticate - the provided App Key with its "secret" property. -

To generate the credentials:
    -
  1. Concatenate a string that consists of the Room name you provide in the defaultRoom, - the credentials.duration and the credentials.startDateTime. - Example: var concatStr = defaultRoom + "" + duration + "" + startDateTime;
  2. -
  3. Hash the concatenated string with the App Key "secret" property using - SHA-1. - Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); - See the CryptoJS.HmacSHA1 library.
  4. -
  5. Encode the hashed string using base64 - Example: var b64Str = hash.toString(CryptoJS.enc.Base64); - See the CryptoJS.enc.Base64 library.
  6. -
  7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. - Example: var credentials = encodeURIComponent(base64String); - See encodeURIComponent() API.

-
- -
audioFallback - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when - retrieving audio and video Stream fails.

-
forceSSL - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if HTTPS connections should be enforced - during request to Auth server and socket connections to Signaling server - when accessing window.location.protocol value is "http:". - By default, "https:" protocol connections uses HTTPS connections.

-
audioCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

- Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as OPUS due to its supports.
- The option to configure the preferred audio codec to use to encode sending audio data when available for Peer connection.

-
    -
  • When not provided, its value is AUTO. -[Rel: Skylink.AUDIO_CODEC]
  • -
- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
codec - - - - String - - - - - - - - - - - -

The audio codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.AUDIO_CODEC]

-
samplingRate - - - - number - - - - - - - - - <optional>
- - - -
-

The audio codec sampling to prefer to encode sending audio data when available.

-
channels - - - - number - - - - - - - - - <optional>
- - - -
-

The audio codec channels to prefer to encode sending audio data when available.

-
- -
videoCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

- Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as H264 due to its supports.
- The option to configure the preferred video codec to use to encode sending video data when available for Peer connection.

-
    -
  • When not provided, its value is AUTO. -[Rel: Skylink.VIDEO_CODEC]
  • -
- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
NameTypeAttributesDescription
codec - - - - String - - - - - - - - - - - -

The video codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.VIDEO_CODEC]

+

The data channel +buffered amount threshold.

-
samplingRate - - - - number - - +
- -
- - <optional>
- + - -
-

The video codec sampling to prefer to encode sending video data when available.

-
- - + - - - socketTimeout - + - - - - - number - + - + + - - + +
Source:
+
+ +
+ - - - - <optional>
- + - - - + - - - - 7000 - - - + +

- -

The timeout for each attempts for socket connection - with the Signaling server to indicate that connection has timed out and has failed to establish. - Note that the minimum timeout value is 5000. If less, this value will be 5000. - Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting - using Polling transports to prevent connection errors.

- - - - - - apiTimeout - - - - - - number - - - - - - - - <optional>
- - - - - - - - 4000 - - - - -

The timeout to wait for response from Auth server.

- - - - - - forceTURNSSL - - - - boolean - - + - - + + + + + + +

+ getUserMediaOptions :Object +

+
- - - - <optional>
- + - - - - - - - false - - - - -

- Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, - TURN ICE servers using port 443 will be used instead. - Note that for Edge browsers, this value is overriden as false due to its supports and - only port 3478 is used.
- The flag if TURNS protocol should be used when enableTURNServer is enabled.

- - +
+

The camera Stream configuration options.

+
- - - - filterCandidatesType - - - - - - JSON - - - - - - - - <optional>
- - - - - - - - - - -

- Note that this a debugging feature and there might be connectivity issues when toggling these flags. -
The configuration options to filter the type of ICE candidates sent and received.

- -
Properties
- +
Properties:
+ + @@ -7613,57 +3486,14 @@
Properties
- - - - - - - - - - - - - - - - - - - - - - + - + + - + @@ -7706,7 +3543,7 @@
Properties
- + - - - - - - - - - - - - - - -
Description
host - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if local network ICE candidates should be filtered out.

-
srflxuseExactConstraints @@ -7698,7 +3528,14 @@
Properties
-

The flag if STUN ICE candidates should be filtered out.

+

Note that by enabling this flag, exact values will be requested when retrieving camera Stream, +but it does not prevent constraints related errors. By default when not enabled, +expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related +errors, with an exception for video.frameRate option in Safari and IE (any plugin-enabled) browsers, +where the expected maximum value will not be requested due to the lack of support. +The flag if getUserMedia() should request for camera Stream to match exact requested values of +audio.deviceId and video.deviceId, video.resolution +and video.frameRate when provided.

relayaudio @@ -7716,52 +3553,8 @@
Properties
boolean - - - - -
- - <optional>
- - - -
- - false - - -

The flag if TURN ICE candidates should be filtered out.

-
- - - - - - - - - throttleIntervals - + | - - - JSON @@ -7785,11 +3578,13 @@
Properties
+ false + -

The configuration options to configure the throttling method timeouts.

+

The audio configuration options.

Properties
@@ -7820,14 +3615,14 @@
Properties
- shareScreen + mute - number + boolean @@ -7849,14 +3644,16 @@
Properties
- 10000 + false -

The interval timeout for - Skylink#shareScreen throttling in milliseconds.

+

The flag if audio tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, +but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to +true and mutes any existing screen share audio tracks as well.

@@ -7864,14 +3661,14 @@
Properties
- getUserMedia + deviceId - number + String @@ -7893,14 +3690,15 @@
Properties
- 0 - -

The interval timeout for - Skylink#getUserMedia throttling in milliseconds.

+

Note this is currently not supported in Firefox browsers. +The audio track source ID of the device to use. +The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

@@ -7908,14 +3706,14 @@
Properties
- refreshConnection + echoCancellation - number + boolean @@ -7937,15 +3735,15 @@
Properties
- 5000 + true -

-
The interval timeout for Skylink#refreshConnection throttling in milliseconds. - Note that there will be no throttling when Skylink#refreshConnection is called internally.

+

For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible +feedback. It is recommended to use headphones or other microphone devices rather than the device +in-built microphones. The flag to enable echo cancellation for audio track.

@@ -7960,7 +3758,7 @@
Properties
- throttleShouldThrowError + video @@ -7970,54 +3768,10 @@
Properties
boolean - - - - - - - - - - <optional>
- - - - - - - - - - false - - - - - -

The flag if throttled methods should throw errors when - method is invoked less than the interval timeout value configured in throttleIntervals.

- - - - - - - - iceServer - - - - - - - String - - | - Array + JSON @@ -8039,15 +3793,13 @@
Properties
+ false + -

The ICE servers for debugging purposes to use.

- +

The video configuration options.

Properties
@@ -8066,6 +3818,8 @@
Properties
+ Default + Description @@ -8076,14 +3830,14 @@
Properties
- #index + mute - String + boolean @@ -8103,16 +3857,18 @@
Properties
- - -

The ICE server url for debugging purposes to use.

+ + + false + - - - - - + + +

The flag if video tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, +but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to +true and mutes any existing screen share video tracks as well.

@@ -8120,18 +3876,12 @@
Properties
- socketServer + resolution - - String - - - | - JSON @@ -8159,11 +3909,10 @@
Properties
-

The Signaling server for debugging purposes to use.

- +

The video resolution. +By default, VGA resolution option +is selected when not provided. +[Rel: Skylink.VIDEO_RESOLUTION]

Properties
@@ -8192,14 +3941,20 @@
Properties
- url + width - String + number + + + | + + + JSON @@ -8211,6 +3966,8 @@
Properties
+ <optional>
+ @@ -8219,7 +3976,14 @@
Properties
-

The Signaling server URL for debugging purposes to use.

+

The video resolution width.

+ @@ -8227,14 +3991,20 @@
Properties
- ports + height - Array + number + + + | + + + JSON @@ -8256,42 +4026,91 @@
Properties
-

The list of Signaling server ports for debugging purposes to use. - If not defined, it will use the default list of ports specified.

- -
Properties
- +

The video resolution height.

+ + + + + + + + + + + + - - - + - + + + + + + + + + + + + + + + + - - - + - + + - - - - - -
NameframeRateType + + + + number + - + | - + + JSON + - Description + + <optional>
+ + + +
+ + +

The video +frameRate per second (fps).

+
    +
  • When provided as a number, it is the video framerate.
  • +
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. +Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, +"min" for min video framerate and "max" for max video framerate. +Note that this may result in constraints related errors depending on the browser/hardware supports.
  • +
+
#indexdeviceId - number + String @@ -8301,18 +4120,27 @@
Properties
+ + <optional>
+ + +
-

The Signaling server port to fallback and use for debugging purposes.

+ +
+
+ + +

Note this is currently not supported in Firefox browsers. +The video track source ID of the device to use. +The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

@@ -8320,7 +4148,7 @@
Properties
- protocol + facingMode @@ -8330,6 +4158,12 @@
Properties
String + | + + + JSON + + @@ -8347,10 +4181,15 @@
Properties
+ + + + -

The Signaling server protocol for debugging purposes to use. - If not defined, it will use the default protocol specified.

+

The video camera facing mode. +The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

@@ -8365,14 +4204,14 @@
Properties
- codecParams + callback - codecParams + function @@ -8398,22 +4237,51 @@
Properties
-

The audio and video codecs parameters to configure.

- +

The callback function fired when request has completed. +Function parameters signature is function (error, success) +Function request completion is determined by the +mediaAccessSuccess event triggering isScreensharing parameter +payload value as false for request success.

+ +
Properties
+ + + + + + + + + + + + + + + + + - + + - + - - - - @@ -8449,14 +4305,14 @@
Properties
- + - - - - + + + + +
NameTypeDescription
beSilentOnStatsLogserror - boolean + Error + + + | + + + String @@ -8423,25 +4291,13 @@
Properties
- - <optional>
- - - -
- - false - - -

The flag if error logs triggered by the statistics module should be silent.

+

The error result in request. +Defined as null when there are no errors in request +Object signature is the getUserMedia() error when retrieving camera Stream.

beSilentOnParseLogssuccess - boolean + MediaStream @@ -8466,25 +4322,20 @@
Properties
- - <optional>
- - -
- - false - + +

The success result in request. +Defined as null when there are errors in request +Object signature is the camera Stream object.

- -

The flag if media and codec parsing logs should be silent.

@@ -8526,7 +4377,7 @@
Properties
@@ -8559,13 +4410,13 @@
Properties
- + -

- joinRoomOptions :Object +

+ initOptions :Object

@@ -8574,7 +4425,8 @@

-

The Room session configuration options.

+
+ When provided as a string, it's configured as appKey.
@@ -8607,23 +4459,152 @@

Properties:
Default - Description + Description + + + + + + + + + appKey + + + + + + + String + + + + + + + + + + + + + + + + + + + + + + + +

The App Key. By default, Skylink uses HTTP CORS +authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to +use credential based authentication. See the Persistent Room article + for more information.

+ + + + + + + + defaultRoom + + + + + + + String + + + + + + + + + + + + <optional>
+ + + + + + + + + + appKey + + + + + +

The default Room to connect to when no room parameter +is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. +The Room that User will be connected to is the defaultRoom provided.

+ + + + + + + + roomServer + + + + + + + String + + + + + + + + + + + + <optional>
+ + + + + + + + + + + + + +

The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

+ - - - + - roomName + enableStatsGathering - String + boolean @@ -8645,14 +4626,16 @@
Properties:
+ true + -

The Room name. When not provided or is provided as an empty string, its value is the defaultRoom - provided in the initOptions. - Note that if you are using credentials based authentication, you cannot switch the Room - that is not the same as the defaultRoom defined in initOptions.

+

Configure the anonymous performance and connectivity statistic collection function. +Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. +This data does not contain any personal information or session content. +To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

@@ -8660,20 +4643,14 @@
Properties:
- userData + enableDataChannel - JSON - - - | - - - String + boolean @@ -8695,13 +4672,13 @@
Properties:
+ true + -

The User custom data. - This can be set after Room session has started using the - Skylink#setUserData.

+

The flag if Datachannel connections should be enabled.

@@ -8709,7 +4686,7 @@
Properties:
- useExactConstraints + enableTURNServer @@ -8738,13 +4715,14 @@
Properties:
+ true + -

The Skylink#getUserMedia useExactConstraints parameter settings. - See the useExactConstraints parameter in the - Skylink#getUserMedia for more information.

+

The flag if TURN ICE servers should +be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

@@ -8752,7 +4730,7 @@
Properties:
- audio + enableSTUNServer @@ -8762,12 +4740,6 @@
Properties:
boolean - | - - - JSON - - @@ -8787,15 +4759,14 @@
Properties:
+ true + -

The Skylink#getUserMedia audio parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - video is not defined, it will be defined as false. - Object signature matches the audio parameter in the - Skylink#getUserMedia.

+

The flag if STUN ICE servers should +be used when constructing Peer connections to allow TURN connections when required.

@@ -8803,7 +4774,7 @@
Properties:
- video + forceTURN @@ -8813,12 +4784,6 @@
Properties:
boolean - | - - - JSON - - @@ -8838,15 +4803,16 @@
Properties:
+ false + -

The Skylink#getUserMedia video parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - audio is not defined, it will be defined as false. - Object signature matches the video parameter in the - Skylink#getUserMedia.

+

The flag if Peer connections should enforce +connections over the TURN server.

+
This overrides enableTURNServer value to true and + enableSTUNServer value to false. @@ -8854,7 +4820,7 @@
Properties:
- voiceActivityDetection + TURNServerTransport @@ -8883,23 +4849,18 @@
Properties:
- true - -

The flag if voice activity detection should be enabled. - This can only be toggled if User is and for the offerer, which is determined if User's - peerInfo.config.priorityWeight is higher than Peer's. -

- This works hand-in-hand with the disableComfortNoiseCodec flag in the - initOptions and the audio.usedtx setting in - Skylink#getUserMedia. VAD (voice activity detection) - detects if there is an active voice in the Stream, and if there is no active voice in the Stream, the - audio.usedtx (if enabled) would prevent sending these empty bits. To prevent huge differences - when there is a silence and an active voice later, the CN codec would produce an empty voice to - make it sound better.

+
+ Note that configuring the protocol may not necessarily result in the desired network transports protocol + used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. + This simply configures the TURN ICE server urls query option when constructing + the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. +
The option to configure the ?transport= + query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. + Skylink.TURN_TRANSPORT @@ -8907,7 +4868,7 @@
Properties:
- bandwidth + credentials @@ -8940,11 +4901,16 @@
Properties:
-

Note that this is currently not supported - with Firefox browsers versions 48 and below as noted in an existing - bugzilla ticket here.
- The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured - constant VIDEO_QUALITY for recommended values.

+
+ Note that we strongly recommend developers to return the credentials.duration, + credentials.startDateTime and defaultRoom and generate the + credentials.credentials from a web server as secret shouldn't be exposed on client web app as + it poses a security risk itself.
+ The credentials used for authenticating App Key with + credentials to retrieve the Room session token used for connection in Skylink#joinRoom. + Note that switching of Rooms is not allowed when using credentials based authentication, unless + init() is invoked again with a different set of credentials followed by invoking + the Skylink#joinRoom.
Properties
@@ -8959,8 +4925,6 @@
Properties
Type - Attributes - @@ -8973,14 +4937,14 @@
Properties
- audio + startDateTime - number + String @@ -8990,21 +4954,12 @@
Properties
- - - <optional>
- - - - - -

The maximum audio streaming bandwidth sent to Peers in kbps. - Recommended values are 50 to 200. 50 is sufficient enough for - an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

+

The credentials User session in Room starting DateTime +in ISO 8601 format.

@@ -9012,7 +4967,7 @@
Properties
- video + duration @@ -9029,22 +4984,11 @@
Properties
- - - <optional>
- - - - - -

The maximum video streaming bandwidth sent to Peers. - Recommended values are 256-500 for 180p quality, - 500-1024 for 360p quality, 1024-2048 for 720p quality - and 2048-4096 for 1080p quality.

+

The credentials User session in Room duration in hours.

@@ -9052,14 +4996,14 @@
Properties
- data + credentials - number + String @@ -9069,21 +5013,27 @@
Properties
- - - <optional>
- - - - - -

The maximum data streaming bandwidth sent to Peers. - This affects the P2P messaging in Skylink#sendP2PMessage, - and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

+

The generated credentials used to authenticate +the provided App Key with its "secret" property.

+
To generate the credentials:
    +
  1. Concatenate a string that consists of the Room name you provide in the defaultRoom, + the credentials.duration and the credentials.startDateTime. + Example: var concatStr = defaultRoom + "_" + duration + "_" + startDateTime;
  2. +
  3. Hash the concatenated string with the App Key "secret" property using + SHA-1. + Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); + See the CryptoJS.HmacSHA1 library.
  4. +
  5. Encode the hashed string using base64 + Example: var b64Str = hash.toString(CryptoJS.enc.Base64); + See the CryptoJS.enc.Base64 library.
  6. +
  7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. + Example: var credentials = encodeURIComponent(base64String); + See encodeURIComponent() API.
@@ -9098,14 +5048,14 @@
Properties
- googleXBandwidth + audioFallback - JSON + boolean @@ -9127,51 +5077,29 @@
Properties
+ false + -

Note that this is an experimental configuration - and may cause disruptions in connections or connectivity issues when toggled, or may not work depending on - browser supports. Currently, this only toggles the video codec bandwidth configuration.
- The configuration to set the experimental google video streaming bandwidth sent to Peers. - Note that Peers may override the "receive from" streaming bandwidth depending on the Peers configuration.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when +retrieving audio and video Stream fails.

+ - - - + - + + @@ -9202,7 +5138,7 @@
Properties
- + - - - - -
NameTypeAttributesDescription
minforceSSL - number + boolean @@ -9191,10 +5119,18 @@
Properties
+
+ + true + + -

The minimum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-min-bitrate" flag in the session description.

+

The flag if HTTPS connections should be enforced +during request to Auth server and socket connections to Signaling server +when accessing window.location.protocol value is "http:". +By default, "https:" protocol connections uses HTTPS connections.

maxsocketTimeout @@ -9229,17 +5165,19 @@
Properties
- -
-

The maximum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-max-bitrate" flag in the session description.

+
+ + 7000 +
+ + +

The timeout for each attempts for socket connection +with the Signaling server to indicate that connection has timed out and has failed to establish. +Note that the minimum timeout value is 5000. If less, this value will be 5000. +Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting +using Polling transports to prevent connection errors.

@@ -9247,7 +5185,7 @@
Properties
- manualGetUserMedia + forceTURNSSL @@ -9276,16 +5214,16 @@
Properties
+ false + -

The flag if Skylink#joinRoom should trigger - mediaAccessRequired in which the - Skylink#getUserMedia stream or - Skylink#shareScreen stream - must be retrieved as a requirement before Room session may begin. - This ignores the audio and video configuration.

+

The flag if TURNS protocol should be used when enableTURNServer is enabled.

+
+ Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, + TURN ICE servers using port 443 will be used instead. @@ -9293,80 +5231,20 @@
Properties
- sdpSettings + iceServer - JSON + String - - - - - - - - - - <optional>
- - - - - - - - - - - - - -

- Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled. Note that it might not work - with MCU enabled Peer connections or break MCU enabled Peer connections.
- The configuration to set the session description settings.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - @@ -9421,14 +5303,14 @@
Properties
- + - + + + + +
NameTypeAttributesDescription
connection - - + | + - JSON + Array @@ -9386,11 +5264,17 @@
Properties
+
+ + -

The configuration to set the session description connection settings. - Note that this configuration may disable the media streaming and these settings will be enabled for - MCU server Peer connection regardless of the flags configured.

+

The ICE servers for debugging purposes to use.

+
    +
  • When defined as string, the value is considered as [iceServer]. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
  • +
Properties
@@ -9409,8 +5293,6 @@
Properties
-
DefaultDescription
audio#index - boolean + String @@ -9448,15 +5330,16 @@
Properties
-
- - true - - -

The configuration to enable audio session description connection.

+

The ICE server url for debugging purposes to use.

+
+ @@ -9464,14 +5347,20 @@
Properties
- video + socketServer - boolean + String + + + | + + + JSON @@ -9493,28 +5382,51 @@
Properties
- true - -

The configuration to enable video session description connection.

- +

The Signaling server for debugging purposes to use.

+
    +
  • When defined as string, the value is considered as { url: socketServer }. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
  • +
+ +
Properties
+ + + + + + + + + + + + + + + + + + + - + + - + - - - - - - -
NameTypeAttributesDescription
dataurl - boolean + String @@ -9526,30 +5438,15 @@
Properties
- <optional>
-
- - true - - -

The configuration to enable Datachannel session description connection.

-
- +

The Signaling server URL for debugging purposes to use.

@@ -9557,14 +5454,14 @@
Properties
- direction + ports - JSON + Array @@ -9586,9 +5483,8 @@
Properties
-

The configuration to set the session description connection direction - to enable or disable uploading and downloading audio or video media streaming. - Note that this configuration does not prevent RTCP packets from being sent and received.

+

The list of Signaling server ports for debugging purposes to use. +If not defined, it will use the default list of ports specified.

Properties
@@ -9603,8 +5499,6 @@
Properties
Type - Attributes - @@ -9617,14 +5511,50 @@
Properties
- audio + #index - JSON + number + + + + + + + + + + + + + +

The Signaling server port to fallback and use for debugging purposes.

+ + + + + + + + + + + + + + + protocol + + + + + + + String @@ -9646,39 +5576,23 @@
Properties
-

The configuration to set the session description - connection direction for audio streaming.

- -
Properties
- - - - - - - - - - - - - - +

The Signaling server protocol for debugging purposes to use. +If not defined, it will use the default protocol specified.

+ + - - - + + +
NameTypeAttributes
Default
- Description + - - - + - send + beSilentOnStatsLogs @@ -9707,14 +5621,13 @@
Properties
- true + false -

The flag if uploading audio streaming - should be enabled when available.

+

The flag if all logs triggered by the statistics module should be silent.

@@ -9722,7 +5635,7 @@
Properties
- receive + beSilentOnParseLogs @@ -9744,69 +5657,124 @@
Properties
<optional>
- - - + + + + + + + + false + + + + + +

The flag if media and codec parsing logs should be silent.

+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + - - - true - - - + - -

The flag if downloading audio - streaming should be enabled when available.

- - - - - - + + + + + + +

+ joinRoomOptions :Object +

+
- - - video - - - - - - JSON - - +
+

The Room session configuration options.

+
- - - - - - <optional>
- - - - - - -

The configuration to set the session description - connection direction for video streaming.

- -
Properties
- + + + + +
Properties:
+ + @@ -9834,14 +5802,14 @@
Properties
- + @@ -9878,14 +5846,20 @@
Properties
- + - - - - -
sendroomName - boolean + String @@ -9863,14 +5831,14 @@
Properties
- true - -

The flag if uploading video streaming - should be enabled when available.

+

The Room name. When not provided or is provided as an empty string, its value is the defaultRoom +provided in the initOptions. +Note that if you are using credentials based authentication, you cannot switch the Room +that is not the same as the defaultRoom defined in initOptions.

receiveuserData - boolean + JSON + + + | + + + String @@ -9907,35 +5881,13 @@
Properties
- true - -

The flag if downloading video streaming - should be enabled when available.

-
- - - - - - - - - - - - - - - +

The User custom data. +This can be set after Room session has started using the +Skylink#setUserData.

@@ -9943,20 +5895,14 @@
Properties
- publishOnly + useExactConstraints - JSON - - - | - - - Boolean + boolean @@ -9982,114 +5928,30 @@
Properties
-

- For MCU enabled Peer connections, defining this flag would make Peer not know other Peers presence in the Room. - For non-MCU enable Peer connections, defining this flag would cause other Peers in the Room to - not to send Stream to Peer, and overrides the config - sdpSettings.direction.audio.receive value to false, - sdpSettings.direction.video.receive value to false, - sdpSettings.direction.video.send value to true and - sdpSettings.direction.audio.send value to true. - Note that this feature is currently is beta, and for any enquiries on enabling and its support for MCU enabled - Peer connections, please contact our support portal. - How does the publish only functionality work? Imagine several Skylink instances like A1, B1, C1 and A1 - opening a new instance A2 with publish only enabled with configured A1 as parent. - - - - - - -
MCU enabled roomMCU disabled room
PresenceStreamPresenceStream
A1B1, C1B1, C1B1, C1B1, C1
B1A1, C1, A2A1, C1, A2A1, C1, A2A1, C1, A2
C1B1, C1, A2B1, C1, A2B1, C1, A2B1, C1, A2
A2B1, C1
- Parent and child will not receive each other presence and stream because they are related to each other in the same client page, - hence no uploading or downloading is required. If A2 did not configure A1 as the parent, A1 will receive A2.
- The config if Peer would publish only.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The Skylink#getUserMedia useExactConstraints parameter settings. +See the useExactConstraints parameter in the +Skylink#getUserMedia for more information.

+ - - - + - + - - - - - - - - - - - - -
NameTypeAttributesDescription
parentIdaudio - String + boolean - - - - - - - <optional>
- - - -
-

Deprecation Warning! - This property has been deprecated. Use parentId instead. -
The parent Peer ID to match to when Peer is connected. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

-
- - - - - - - - - parentId - + | - - - - String + JSON @@ -10115,12 +5977,11 @@
Properties
-

The parent Peer ID to match to when Peer is connected. - Note that configuring this value overrides the publishOnly.parentId value. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

+

The Skylink#getUserMedia audio parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +video is not defined, it will be defined as false. +Object signature matches the audio parameter in the +Skylink#getUserMedia.

@@ -10128,12 +5989,18 @@
Properties
- peerConnection + video + + boolean + + + | + JSON @@ -10161,47 +6028,26 @@
Properties
-

- Note that this is mainly used for debugging purposes, so it may cause disruptions in connections or - connectivity issues when configured.
The Peer connection constraints settings.

- -
Properties
- - - - - - - - - - - - - - - - - - - - +

The Skylink#getUserMedia video parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +audio is not defined, it will be defined as false. +Object signature matches the video parameter in the +Skylink#getUserMedia.

+ - - - + - + @@ -10239,14 +6085,14 @@
Properties
- + +

The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured +constant VIDEO_QUALITY for recommended values.

+
Note that this is currently not supported + with Firefox browsers versions 48 and below as noted in an existing + bugzilla ticket here. This option will override the autoBandwidthAdjustment option below.
+ +
Properties
+ + +
NameTypeAttributesDefaultDescription
bundlePolicyvoiceActivityDetection - String + boolean @@ -10223,15 +6069,15 @@
Properties
+ true + -

The Peer connection media bundle policy.

-
    -
  • When not provided, its value is BALANCED. -[Rel: Skylink.BUNDLE_POLICY]
  • -
+

The flag if voice activity detection should be enabled. +This can only be toggled if User is and for the offerer, which is determined if User's +peerInfo.config.priorityWeight is higher than Peer's.

rtcpMuxPolicybandwidth - String + JSON @@ -10272,19 +6118,40 @@
Properties
-

The Peer connection RTP and RTCP ICE candidates mux policy.

-
    -
  • When not provided, its value is REQUIRE. -[Rel: Skylink.RTCP_MUX_POLICY]
  • -
-
+ + + + + + + + + + + + + + + + - + + - + - @@ -10328,14 +6190,14 @@
Properties
- + - @@ -10374,14 +6230,14 @@
Properties
- + - @@ -10466,11 +6317,11 @@
Properties
@@ -10582,7 +6433,7 @@
Properties
@@ -10626,7 +6477,7 @@
Properties
@@ -10675,7 +6526,7 @@
Properties
@@ -10907,7 +6758,7 @@
Properties:
@@ -11265,7 +7116,7 @@
Properties:
@@ -11439,7 +7290,7 @@
Properties:
@@ -11478,7 +7329,7 @@
Properties:

- peerInfo :Object + peerInfo

@@ -11486,10 +7337,6 @@

-
-

The Peer session information.

-
- @@ -11513,8 +7360,6 @@

Properties:
- - @@ -11550,12 +7395,6 @@
Properties:
- - @@ -11585,17 +7424,11 @@
Properties:
- - @@ -11620,12 +7453,6 @@
Properties:
- - @@ -11687,7 +7514,7 @@
Properties
@@ -11723,8 +7550,8 @@
Properties
@@ -11762,7 +7589,7 @@
Properties
@@ -11800,7 +7627,7 @@
Properties
@@ -11892,7 +7719,7 @@
Properties
- String + roomInfo @@ -11902,12 +7729,6 @@
Properties
- - @@ -11937,12 +7758,6 @@
Properties
- - @@ -12025,7 +7840,7 @@
Properties
@@ -12055,66 +7870,8 @@
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12126,82 +7883,6 @@
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
iceCandidatePoolSizeaudio @@ -10311,16 +6178,11 @@
Properties
-
- - 0 - - -

The number of ICE candidates to gather before - gathering it when setting local offer / answer session description.

+

The maximum audio streaming bandwidth sent to Peers in kbps. +Recommended values are 50 to 200. 50 is sufficient enough for +an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

certificatevideo - String + number @@ -10355,18 +6217,12 @@
Properties
-
- - -

The type of certificate that Peer connection should - generate and use when available.

-
    -
  • When not provided, its value is AUTO. -[Rel: Skylink.PEER_CERTIFICATE]
  • -
+

The maximum video streaming bandwidth sent to Peers. +Recommended values are 256-500 for 180p quality, +500-1024 for 360p quality, 1024-2048 for 720p quality +and 2048-4096 for 1080p quality.

disableBundledata - String + number @@ -10401,16 +6257,11 @@
Properties
-
- - false - - -

The flag if for each Peer connection instead of bundling all - media connections into 1 connection, should have all of them negotiated as different separate media connections.

+

The maximum data streaming bandwidth sent to Peers. +This affects the P2P messaging in Skylink#sendP2PMessage, +and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

-

- Note that this is an experimental feature which may be removed or changed in the future releases. - This feature is also only available for non-MCU enabled Peer connections and Edge Peer connections. -
The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted - each time based on a specified interval. Note this would cause the peer connection to restart.

+

The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted +each time based on a specified interval.

+
+ This feature is also only available for non-MCU enabled Peer connections. Note this will cause the peer connection to restart. If bandwidth option is set above, autoBandwidthAdjustment will not be honoured. +
Properties
@@ -10537,8 +6388,8 @@
Properties

The interval each time to adjust bandwidth - connections in seconds. - Note that the minimum value is 10.

+connections in seconds. +Note that the minimum value is 10.

The percentage of the average bandwidth to adjust to. - E.g. avgBandwidth * (limitPercentage / 100).

+E.g. avgBandwidth * (limitPercentage / 100).

The flag if average bandwidth computation - should only consist of the upload bandwidth.

+should only consist of the upload bandwidth.

TypeAttributes - - - - - - - - -

The Peer sending Stream settings.

+

The Peer sending stream settings.

- - - -

The Peer agent name. - Data may be accessing browser or non-Web SDK name.

+Data may be accessing browser or non-Web SDK name.

The Peer agent version. - Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", - it will be interpreted as 0.90601 where 0 helps to seperate the minor dots.

+Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", +it will be interpreted as 0.90601 where 0 helps to separate the minor dots.

The Peer platform name. - Data may be accessing OS platform version from Web SDK.

+Data may be accessing OS platform version from Web SDK.

The Peer Temasys Plugin version. - Defined only when Peer is using the Temasys Plugin (IE / Safari).

+Defined only when Peer is using the Temasys Plugin (IE / Safari).

- - - - - - - -

The flag if Peer connection has ICE connection restart support. - Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

+Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

The flag if Peer or User should be the offerer. - If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. - However for the case where the MCU is connected, User will always be the offerer.

-
publishOnly - - - - boolean - - - - - - - -

The flag if Peer is publishing only stream but not receiving streams.

-
receiveOnly - - - - boolean - - - - - - - -

The flag if Peer is receiving only streams but not publishing stream.

+If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. +However for the case where the MCU is connected, User will always be the offerer.

connected - - - - boolean - - - - - - - - - <optional>
- - - -
-

The flag if Peer ICE connection has been established successfully. - Defined only when isSelf payload value is false.

-
init - - - - boolean - - - - - - - - - <optional>
- - - -
-

The flag if Peer connection has been created successfully. - Defined only when isSelf payload value is false.

-
@@ -12239,7 +7920,7 @@
Properties
@@ -12714,7 +8395,7 @@
Properties

streams keyed by stream id. - /**

+/**

@@ -12772,7 +8453,7 @@
Properties
@@ -12998,8 +8679,8 @@
Properties

The recording session started DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the start event is received.

+ISO.Note that this value may not be +very accurate as this value is recorded when the start event is received.

@@ -13029,9 +8710,9 @@
Properties

The recording session ended DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the stop event is received. - Defined only after state has triggered STOP.

+ISO.Note that this value may not be +very accurate as this value is recorded when the stop event is received. +Defined only after state has triggered STOP.

@@ -13061,9 +8742,9 @@
Properties

The recording session mixing completed DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the mixing completed event is received. - Defined only when state is LINK.

+ISO.Note that this value may not be +very accurate as this value is recorded when the mixing completed event is received. +Defined only when state is LINK.

@@ -13093,8 +8774,8 @@
Properties

The recording session links. - Object signature matches the link parameter payload received in the - recordingStateEvent event.

+Object signature matches the link parameter payload received in the +RECORDING STATE event event.

@@ -13124,7 +8805,7 @@
Properties

The recording session error. - Defined only when state is ERROR.

+Defined only when state is ERROR.

@@ -13173,7 +8854,7 @@
Properties
@@ -13347,7 +9028,7 @@
Properties:
@@ -13380,13 +9061,13 @@
Properties:
- + -

- screenSources :Object +

+ roomInfo

@@ -13394,10 +9075,6 @@

-
-

The list of screensharing media sources and screen sources.

-
- @@ -13433,14 +9110,14 @@

Properties:
- mediaSource + roomName - Array.<String> + String @@ -13454,7 +9131,7 @@
Properties:
-

The screensharing media source item.

+

The room name

@@ -13462,62 +9139,14 @@
Properties:
- mediaSourceInput - - - - - - - Array.<Object> - - - - - - - - - - - - - -

The list of specific media source screen inputs.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - + @@ -13539,14 +9168,14 @@
Properties
- + @@ -13568,14 +9197,14 @@
Properties
- + - - - - -
NameTypeDescription
sourceIdduration - String + Number @@ -13531,7 +9160,7 @@
Properties
-

The screen input item id.

+

The maximum allowed room duration

labelid - Object + String @@ -13560,7 +9189,7 @@
Properties
-

The screen input item label name.

+

The room id

mediaSourceinRoom - Object + Boolean @@ -13589,14 +9218,7 @@
Properties
-

The screen input item media source it belongs to.

-
- +

The flag if the peer is in the room

@@ -13638,7 +9260,7 @@
Properties
@@ -13862,7 +9484,7 @@
Properties:

The socket connection current last attempts - for the last available transports and port.

+for the last available transports and port.

@@ -13904,7 +9526,7 @@
Properties:
@@ -14241,7 +9863,7 @@
Properties

The Peer connection selected - local ICE candidate IP address.

+local ICE candidate IP address.

@@ -14277,7 +9899,7 @@
Properties

The Peer connection selected - local ICE candidate port number.

+local ICE candidate port number.

@@ -14313,7 +9935,7 @@
Properties

The Peer connection selected - local ICE candidate IP transport type.

+local ICE candidate IP transport type.

@@ -14349,7 +9971,7 @@
Properties

The Peer connection selected - local ICE candidate type.

+local ICE candidate type.

@@ -14387,9 +10009,9 @@
Properties

The Peer connection possible - transport used when relaying local media to TURN server. - Types are "UDP" (UDP connections), "TCP" (TCP connections) and - "TCP/TLS" (TCP over TLS connections).

+transport used when relaying local media to TURN server. +Types are "UDP" (UDP connections), "TCP" (TCP connections) and +"TCP/TLS" (TCP over TLS connections).

@@ -14480,7 +10102,7 @@
Properties

The Peer connection selected - remote ICE candidate IP address.

+remote ICE candidate IP address.

@@ -14510,7 +10132,7 @@
Properties

The Peer connection selected - remote ICE candidate port number.

+remote ICE candidate port number.

@@ -14540,7 +10162,7 @@
Properties

The Peer connection selected - remote ICE candidate IP transport type.

+remote ICE candidate IP transport type.

@@ -14570,7 +10192,7 @@
Properties

The Peer connection selected - remote ICE candidate type.

+remote ICE candidate type.

@@ -14615,7 +10237,7 @@
Properties

The flag if Peer has gotten ACK to an ICE request. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14653,7 +10275,7 @@
Properties

The current STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14691,7 +10313,7 @@
Properties

The total STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14785,7 +10407,7 @@
Properties

The current ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14823,7 +10445,7 @@
Properties

The current ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14861,7 +10483,7 @@
Properties

The total ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14899,7 +10521,7 @@
Properties

The total ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15000,7 +10622,7 @@
Properties

The current ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15038,7 +10660,7 @@
Properties

The current ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15076,7 +10698,7 @@
Properties

The total ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15114,7 +10736,7 @@
Properties

The total ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15215,7 +10837,7 @@
Properties

The current ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15253,7 +10875,7 @@
Properties

The total ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15411,7 +11033,7 @@
Properties

The Peer connection local certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15449,8 +11071,8 @@
Properties

The Peer connection local - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

+certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15488,8 +11110,8 @@
Properties

The Peer connection local - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

+base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15590,7 +11212,7 @@
Properties

The Peer connection remote certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15628,8 +11250,8 @@
Properties

The Peer connection remote - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

+certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15667,8 +11289,8 @@
Properties

The Peer connection remote - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

+base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15713,7 +11335,7 @@
Properties

The certificates SRTP cipher. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15751,7 +11373,7 @@
Properties

The certificates DTLS cipher. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15789,7 +11411,7 @@
Properties

The certificates DTLS TLS Version agreed. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -16035,7 +11657,7 @@
Properties

The Peer connection local session description type. - Defined as null when local session description is not available.

+Defined as null when local session description is not available.

@@ -16065,7 +11687,7 @@
Properties

The Peer connection local session description SDP. - Defined as null when local session description is not available.

+Defined as null when local session description is not available.

@@ -16156,7 +11778,7 @@
Properties

The Peer connection remote session description type. - Defined as null when remote session description is not available.

+Defined as null when remote session description is not available.

@@ -16186,7 +11808,7 @@
Properties

The Peer connection remote session description sdp. - Defined as null when remote session description is not available.

+Defined as null when remote session description is not available.

@@ -16325,7 +11947,7 @@
Properties

The Peer connection list of local - "host" (local network) ICE candidates sent.

+"host" (local network) ICE candidates sent.

Properties
@@ -16374,7 +11996,7 @@
Properties

The Peer connection local - "host" (local network) ICE candidate.

+"host" (local network) ICE candidate.

Properties
@@ -16423,7 +12045,7 @@
Properties

The Peer connection local - "host" (local network) ICE candidate connection description.

+"host" (local network) ICE candidate connection description.

@@ -16453,7 +12075,7 @@
Properties

The Peer connection local - "host" (local network) ICE candidate identifier based on the local session description.

+"host" (local network) ICE candidate identifier based on the local session description.

@@ -16483,8 +12105,8 @@
Properties

The Peer connection local - "host" (local network) ICE candidate media description index (starting from 0) - based on the local session description.

+"host" (local network) ICE candidate media description index (starting from 0) +based on the local session description.

@@ -16528,7 +12150,7 @@
Properties

The Peer connection list of local - "srflx" (STUN) ICE candidates sent.

+"srflx" (STUN) ICE candidates sent.

Properties
@@ -16577,7 +12199,7 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate.

+"srflx" (STUN) ICE candidate.

Properties
@@ -16626,7 +12248,7 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate connection description.

+"srflx" (STUN) ICE candidate connection description.

@@ -16656,7 +12278,7 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate identifier based on the local session description.

+"srflx" (STUN) ICE candidate identifier based on the local session description.

@@ -16686,8 +12308,8 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the local session description.

+"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the local session description.

@@ -16731,7 +12353,7 @@
Properties

The Peer connection list of local - "relay" (TURN) candidates sent.

+"relay" (TURN) candidates sent.

Properties
@@ -16780,7 +12402,7 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate.

+"relay" (TURN) ICE candidate.

Properties
@@ -16829,7 +12451,7 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate connection description.

+"relay" (TURN) ICE candidate connection description.

@@ -16859,7 +12481,7 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate identifier based on the local session description.

+"relay" (TURN) ICE candidate identifier based on the local session description.

@@ -16889,8 +12511,8 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the local session description.

+"relay" (TURN) ICE candidate media description index (starting from 0) +based on the local session description.

@@ -16989,7 +12611,7 @@
Properties

The Peer connection list of remote - "host" (local network) ICE candidates received.

+"host" (local network) ICE candidates received.

Properties
@@ -17038,7 +12660,7 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate.

+"host" (local network) ICE candidate.

Properties
@@ -17087,7 +12709,7 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate connection description.

+"host" (local network) ICE candidate connection description.

@@ -17117,7 +12739,7 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate identifier based on the remote session description.

+"host" (local network) ICE candidate identifier based on the remote session description.

@@ -17147,8 +12769,8 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate media description index (starting from 0) - based on the remote session description.

+"host" (local network) ICE candidate media description index (starting from 0) +based on the remote session description.

@@ -17192,7 +12814,7 @@
Properties

The Peer connection list of remote - "srflx" (STUN) ICE candidates received.

+"srflx" (STUN) ICE candidates received.

Properties
@@ -17241,7 +12863,7 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate.

+"srflx" (STUN) ICE candidate.

Properties
@@ -17290,7 +12912,7 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate connection description.

+"srflx" (STUN) ICE candidate connection description.

@@ -17320,7 +12942,7 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate identifier based on the remote session description.

+"srflx" (STUN) ICE candidate identifier based on the remote session description.

@@ -17350,8 +12972,8 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the remote session description.

+"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the remote session description.

@@ -17395,7 +13017,7 @@
Properties

The Peer connection list of remote - "relay" (TURN) ICE candidates received.

+"relay" (TURN) ICE candidates received.

Properties
@@ -17444,7 +13066,7 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate.

+"relay" (TURN) ICE candidate.

Properties
@@ -17493,7 +13115,7 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate connection description.

+"relay" (TURN) ICE candidate connection description.

@@ -17523,7 +13145,7 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate identifier based on the remote session description.

+"relay" (TURN) ICE candidate identifier based on the remote session description.

@@ -17553,8 +13175,8 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the remote session description.

+"relay" (TURN) ICE candidate media description index (starting from 0) +based on the remote session description.

@@ -17743,7 +13365,7 @@
Properties

The Peer connection Datachannel connection readyState. - [Rel: Skylink.DATA_CHANNEL_STATE]

+[Rel: Skylink.DATA_CHANNEL_STATE]

@@ -17773,7 +13395,7 @@
Properties

The Peer connection Datachannel connection type. - [Rel: Skylink.DATA_CHANNEL_TYPE]

+[Rel: Skylink.DATA_CHANNEL_TYPE]

@@ -17803,8 +13425,8 @@
Properties

The Peer connection - Datachannel connection current progressing transfer session ID. - Defined as null when there is currently no transfer session progressing on the Datachannel connection.

+Datachannel connection current progressing transfer session ID. +Defined as null when there is currently no transfer session progressing on the Datachannel connection.

@@ -17834,8 +13456,8 @@
Properties

The Peer connection - Datachannel connection current data streaming session ID. - Defined as null when there is currently no data streaming session on the Datachannel connection.

+Datachannel connection current data streaming session ID. +Defined as null when there is currently no data streaming session on the Datachannel connection.

@@ -17993,7 +13615,7 @@
Properties

The error object received. - Defined only when state payload is RETRIEVE_ERROR.

+Defined only when state payload is RETRIEVE_ERROR.

@@ -18035,7 +13657,7 @@
Properties
@@ -18221,7 +13843,7 @@
Properties:
@@ -18673,7 +14295,7 @@
Properties
@@ -19129,7 +14751,7 @@
Properties

The Peer connection current sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -19165,7 +14787,7 @@
Properties

The Peer connection total sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -19271,7 +14893,7 @@
Properties

The Peer connection sending video streaming Round-trip delay time. - Defined as 0 if it's not present in original raw statistics before parsing.

+Defined as 0 if it's not present in original raw statistics before parsing.

@@ -19306,11 +14928,11 @@
Properties
-

+
This property has been deprecated and would be removed in future releases as it should not be in sending property.
The Peer connection sending video streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

+ Defined as 0 if it's not present in original raw statistics before parsing. @@ -19348,7 +14970,7 @@
Properties

The Peer connection sending video streaming sum of the QP values of frames passed. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19386,7 +15008,7 @@
Properties

The Peer connection sending video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19424,7 +15046,7 @@
Properties

The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19462,7 +15084,7 @@
Properties

The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19501,7 +15123,7 @@
Properties

The Peer connection sending video streaming number of huge frames sent by this RTP stream. Huge frames, by definition, are frames that have an encoded size at least 2.5 times the average size of the frames. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19539,7 +15161,7 @@
Properties

The Peer connection sending video streaming fps. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19577,7 +15199,7 @@
Properties

The Peer connection sending video streaming frames encoded. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19615,7 +15237,7 @@
Properties

The Peer connection current sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19653,7 +15275,7 @@
Properties

The Peer connection total sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19691,7 +15313,7 @@
Properties

The Peer connection current sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19729,7 +15351,7 @@
Properties

The Peer connection total sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19767,7 +15389,7 @@
Properties

The Peer connection current sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19805,7 +15427,7 @@
Properties

The Peer connection total sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19843,7 +15465,7 @@
Properties

The Peer connection sending video streaming selected codec information. - Defined as null if local session description is not available before parsing.

+Defined as null if local session description is not available before parsing.

Properties
@@ -19972,7 +15594,7 @@
Properties

The Peer connection sending video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20010,8 +15632,8 @@
Properties

The Peer connection sending video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

@@ -20049,7 +15671,7 @@
Properties

The Peer connection sending video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20087,7 +15709,7 @@
Properties

The Peer connection sending video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20222,7 +15844,7 @@
Properties

The Peer connection current receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -20258,7 +15880,7 @@
Properties

The Peer connection total receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -20436,7 +16058,7 @@
Properties

The Peer connection receiving video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20474,7 +16096,7 @@
Properties

The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20512,7 +16134,7 @@
Properties

The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20550,7 +16172,7 @@
Properties

The Peer connection receiving video streaming frames decoded. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20588,7 +16210,7 @@
Properties

The Peer connection receiving video streaming frames dropped. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20626,7 +16248,7 @@
Properties

The Peer connection current receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20664,7 +16286,7 @@
Properties

The Peer connection total receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20702,7 +16324,7 @@
Properties

The Peer connection current receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20740,7 +16362,7 @@
Properties

The Peer connection total receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20778,7 +16400,7 @@
Properties

The Peer connection current receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20816,7 +16438,7 @@
Properties

The Peer connection total receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20854,9 +16476,9 @@
Properties

The Peer connection receiving video streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

+Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

Properties
@@ -20985,7 +16607,7 @@
Properties

The Peer connection receiving video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -21023,8 +16645,8 @@
Properties

The Peer connection receiving video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

@@ -21062,7 +16684,7 @@
Properties

The Peer connection receiving video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -21100,7 +16722,7 @@
Properties

The Peer connection receiving video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

diff --git a/publish/2.x/docs/ice-connection_index.js.html b/publish/2.x/docs/ice-connection_index.js.html index 1ce775538..d47537c96 100644 --- a/publish/2.x/docs/ice-connection_index.js.html +++ b/publish/2.x/docs/ice-connection_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -132,7 +132,7 @@

* @param {String} candidateType - Type of the ICE Candidate * @param {RTCIceCandidate} nativeCandidate - An RTCIceCandidate Object | {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate} * @param {SkylinkState} roomState - Skylink State - * @fires candidateProcessingState + * @fires CANDIDATE_PROCESSING_STATE */ static addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState) { return helpers.addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState); @@ -143,7 +143,7 @@

* @param targetMid - The mid of the target peer * @param {RTCPeerConnectionIceEvent} rtcIceConnectionEvent - {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnectionIceEvent} * @param {SkylinkRoom} room - Current room - * @fires candidateGenerationState + * @fires CANDIDATE_GENERATION_STATE * @return {null} */ static onIceCandidate(targetMid, rtcIceConnectionEvent, room) { diff --git a/publish/2.x/docs/index.html b/publish/2.x/docs/index.html index 13ba81723..2ebcb384f 100644 --- a/publish/2.x/docs/index.html +++ b/publish/2.x/docs/index.html @@ -75,7 +75,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -93,11 +93,13 @@

Classes

@@ -2293,7 +2444,7 @@
Parameters:
@@ -2341,106 +2492,6 @@
Example
- - - - - - -

- getScreenSources() → {Promise.<screenSources>} -

-
- - - - - -
-

Method that returns the screensharing sources.

-
- - - - - - - - - - -
- - - - -
Since:
-
-
    -
  • - 2.0.0 -
  • -
-
- - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - @@ -2593,7 +2644,7 @@
Parameters:
@@ -2748,7 +2799,7 @@
Parameters:
@@ -2769,7 +2820,7 @@
Fires:
@@ -2938,7 +2989,7 @@
Parameters:
@@ -3029,7 +3080,7 @@

@@ -3228,7 +3279,7 @@

Parameters:
@@ -3396,7 +3447,7 @@
Parameters:
- JSON + getUserMediaOptions @@ -3426,1094 +3477,11 @@
Parameters:

The camera stream configuration options.

    -
  • When not provided, the value is set to { audio: true, video: true }. -To fallback to retrieve audio track only when retrieving of audio and video tracks failed, -enable the audioFallback flag in the initOptions.
  • +
  • When not provided, the value is set to { audio: true, video: true }.
-
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
useExactConstraints - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

- Note that by enabling this flag, exact values will be requested when retrieving camera stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source id) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support.
- The flag if getUserMedia() should request for camera stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

- -
audio - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - false - - -

- Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation.
- The audio configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
stereo - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting.
- The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

- -
usedtx - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation.
- The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

- -
useinbandfec - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only.
- The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

- -
maxplaybackrate - - - - Number - - - - - - - - - <optional>
- - - - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only.
- The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

- -
mute - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

The flag if audio tracks should be muted upon receiving them. - Providing the value as false sets peerInfo.mediaStatus.audioMuted to 1, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - 0 and mutes any existing - shareScreen() stream audio tracks as well.

- -
optional - - - - Array - - - - - - - - - <optional>
- - - - - -
- - -

- This property has been deprecated. "optional" constraints has been moved from specs.
- Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the audio track, - use options.audio.deviceId instead.
- The navigator.getUserMedia() API audio: { optional [..] } property.

- -
deviceId - - - - String - - - - - - - - - <optional>
- - - - - -
- - -

- Note this is currently not supported in Firefox browsers. -
The audio track source id of the device to use. - The list of available audio source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

- -
echoCancellation - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - true - - -

- For Chrome/Opera/IE/Safari/Bowser, the echo cancellation @description Methodality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones.
The flag to enable echo cancellation for audio track.

- -
- - -
video - - - - Boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - false - - -

- Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode.
- The video configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
mute - - - - Boolean - - - - - - - - - <optional>
- - - - - -
- - false - - -

The flag if video tracks should be muted upon receiving them. - Providing the value as false sets the peerInfo.mediaStatus.videoMuted value to - 1, but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - 0 and mutes any existing - shareScreen() stream video tracks as well.

- -
resolution - - - - JSON - - - - - - - - - <optional>
- - - - - -
- - -

The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: VIDEO_RESOLUTION]

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
width - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
-

The video resolution width.

-
    -
  • When provided as a number, it is the video resolution width.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
- -
height - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
-

The video resolution height.

-
    -
  • When provided as a number, it is the video resolution height.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
- -
- - -
frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - -

The video https://en.wikipedia.org/wiki/Frame_rate per second (fps).

-
    -
  • When provided as a number, it is the video framerate.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
- -
optional - - - - Array - - - - - - - - - <optional>
- - - - - -
- - -

- This property has been deprecated. "optional" constraints has been moved from specs.
- Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source id of the video track, - use options.video.deviceId instead.
- The navigator.getUserMedia() API video: { optional [..] } property.

- -
deviceId - - - - String - - - - - - - - - <optional>
- - - - - -
- - -

- Note this is currently not supported in Firefox browsers. -
The video track source id of the device to use. - The list of available video source id can be retrieved by the mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices.

- -
facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - - - -
- - -

The video camera facing mode. - The list of available video source id can be retrieved by the /en-US/docs/Web/API/MediaTrackConstraints/facingMode.

- -
- - -
- - - - + + @@ -4563,7 +3531,7 @@
Properties
@@ -4584,19 +3552,19 @@
Fires:
  • - If retrieval of fallback audio stream is successful:
    - mediaAccessSuccessEvent with parameter payload isScreensharing=false and isAudioFallback=false if initial retrieval is successful. + If retrieval of fallback audio stream is successful:
    - MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and isAudioFallback=false if initial retrieval is successful.
  • - If initial retrieval is unsuccessful:
    Fallback to retrieve audio only stream is triggered (configured in initOptions audioFallback)
      - mediaAccessFallbackEvent with parameter payload state=FALLBACKING, isScreensharing=false and isAudioFallback=true and options.video=true and options.audio=true.
    No fallback to retrieve audio only stream
    - mediaAccessErrorEvent with parameter payload isScreensharing=false and isAudioFallbackError=false. + If initial retrieval is unsuccessful:
    Fallback to retrieve audio only stream is triggered (configured in initOptions audioFallback)
      - MEDIA ACCESS SUCCESS eventMEDIA ACCESS FALLBACK event with parameter payload state=FALLBACKING, isScreensharing=false and isAudioFallback=true and options.video=true and options.audio=true.
    No fallback to retrieve audio only stream
    - MEDIA ACCESS ERROR event with parameter payload isScreensharing=false and isAudioFallbackError=false.
  • - If retrieval of fallback audio stream is successful:
    - mediaAccessSuccessEvent with parameter payload isScreensharing=false and isAudioFallback=true. + If retrieval of fallback audio stream is successful:
    - MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and isAudioFallback=true.
  • - If retrieval of fallback audio stream is unsuccessful:
    - mediaAccessFallbackEvent with parameter payload state=ERROR, isScreensharing=false and isAudioFallback=true.
    - mediaAccessErrorEvent with parameter payload isScreensharing=false and isAudioFallbackError=true. + If retrieval of fallback audio stream is unsuccessful:
    - MEDIA ACCESS SUCCESS eventMEDIA ACCESS FALLBACK event with parameter payload state=ERROR, isScreensharing=false and isAudioFallback=true.
    - MEDIA ACCESS ERROR event with parameter payload isScreensharing=false and isAudioFallbackError=true.
@@ -5018,7 +3986,7 @@

@@ -5173,7 +4141,7 @@

Parameters:
@@ -5194,7 +4162,7 @@
Fires:
  • - peerLeft on the remote end of the connection. + PEER LEFT event on the remote end of the connection.
@@ -5363,7 +4331,7 @@
Parameters:
@@ -5384,7 +4352,7 @@
Fires:
  • - roomLockEvent with payload parameters isLocked=true when the room is successfully locked. + ROOM LOCK event with payload parameters isLocked=true when the room is successfully locked.
@@ -5622,7 +4590,7 @@
Properties

The flag if all streams audio - tracks should be muted or not.

+tracks should be muted or not.

@@ -5668,7 +4636,7 @@
Properties

The flag if all streams video - tracks should be muted or not.

+tracks should be muted or not.

@@ -5768,7 +4736,7 @@
Properties
@@ -5789,11 +4757,11 @@
Fires:
  • - On local peer: localMediaMutedEvent, streamMuted, peerUpdatedEvent with payload parameters isSelf=true and isAudio=true if a local audio stream is muted or isVideo if local video stream is muted. + On local peer: LOCAL MEDIA MUTED event, STREAM MUTED event, PEER UPDATED event with payload parameters isSelf=true and isAudio=true if a local audio stream is muted or isVideo if local video stream is muted.
  • - On remote peer: streamMuted, peerUpdatedEvent with with parameter payload isSelf=false and isAudio=true if a remote audio stream is muted or isVideo if remote video stream is muted. + On remote peer: STREAM MUTED event, PEER UPDATED event with with parameter payload isSelf=false and isAudio=true if a remote audio stream is muted or isVideo if remote video stream is muted.
@@ -5870,9 +4838,9 @@

For MCU enabled peer connections with options.mcuUseRenegoRestart set to false in the initOptions, the restart method may differ, you may learn more about how to workaround it in this article - here. + here. For restarts with peers connecting from Android, iOS or C++ SDKs, restarts might not work as written in this article - here. + here. Note that this functionality should be used when peer connection stream freezes during a connection. For a better user experience for only MCU enabled peer connections, the method is throttled when invoked many times in less than the milliseconds interval configured in initOptions. @@ -5995,17 +4963,13 @@

Parameters:
-

+
Note that this is ignored if MCU is enabled for the App Key provided in - initOptions. refreshConnection() will "refresh" - all peer connections.

-
    -
  • The target peer id to refresh connection with.
      -
    • When provided as an Array, it will refresh all connections with all the peer ids provided.
    • -
    • When not provided, it will refresh all the currently connected peers in the room.
    • -
    -
  • -
+ initOptions. refreshConnection() will "refresh" + all peer connections.
+ - The target peer id to refresh connection with. +- When provided as an Array, it will refresh all connections with all the peer ids provided. +- When not provided, it will refresh all the currently connected peers in the room. @@ -6049,64 +5013,286 @@
Parameters:
- -

- Note that this flag will not be honoured for MCU enabled peer connections where - options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU - "restart" case is to invoke Skylink#joinRoomagain, or that it is - not supported by the MCU.
- The flag if ICE connections should restart when refreshing peer connections. - This is used when ICE connection state is FAILED or DISCONNECTED, which state - can be retrieved with the iceConnectionStateEvent

- - - + +
+ Note that this flag will not be honoured for MCU enabled peer connections where + options.mcuUseRenegoRestart flag is set to false as it is not necessary since for MCU + "restart" case is to invoke joinRoom again, or that it is + not supported by the MCU.
+ The flag if ICE connections should restart when refreshing peer connections. + This is used when ICE connection state is FAILED or DISCONNECTED, which + can be retrieved with the ICE CONNECTION STATE event. + + + + + + + + options + + + + + + + JSON + + + + + + + + + + + + <optional>
+ + + + + + + + + + + + + + + +
+ Note that for MCU connections, the bandwidth + settings will override for all peers or the current room connection session settings.
+ The custom peer configuration settings. + +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
bandwidth + + + + JSON + + + + + + + + + <optional>
+ + + + + +
+

The configuration to set the maximum streaming bandwidth to send to peers. +Object signature follows joinRoom +options.bandwidth settings.

+ +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
+
    +
  • + 0.5.5 +
  • +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + +
Examples
+ + +
Example 1: Refreshing a peer connection
+
+skylink.refreshConnection(roomName, peerId)
+.then((result) => {
+  const failedRefreshIds = Object.keys(result.refreshErrors);
+  failedRefreshIds.forEach((peerId) => {
+    // handle error
+  });
+});
+ + +
Example 2: Refreshing a list of peer connections
+let selectedPeers = ["peerID_1", "peerID_2"];
+
+skylink.refreshConnection(roomName, selectedPeers)
+.then((result) => {
+  const failedRefreshIds = Object.keys(result.refreshErrors);
+  failedRefreshIds.forEach((peerId) => {
+    // handle error
+  });
+});
+ + +
Example 3: Refreshing all peer connections
+
+skylink.refreshConnection(roomName)
+.then((result) => {
+  const failedRefreshIds = Object.keys(result.refreshErrors);
+  failedRefreshIds.forEach((peerId) => {
+   // handle error
+  });
+});
+ + +
+ + + + + + + + + + + + + + +

+ refreshDatachannel(roomName, peerId) → {null} +

+
+ + - - - - options - - - - - - JSON - - +
+

Method that refreshes the main messaging data channel.

+
- - - - - - <optional>
- - - - - - - - - - - -

- Note that for MCU connections, the bandwidth or googleXBandwidth - settings will override for all peers or the current room connection session settings.
- The custom peer configuration settings.

- -
Properties
- +
Parameters:
+ @@ -6118,8 +5304,6 @@
Properties
- - @@ -6131,14 +5315,14 @@
Properties
- + - - @@ -6172,14 +5344,14 @@
Properties
- + - - - - - - -
TypeAttributes
bandwidthroomName - JSON + String @@ -6148,23 +5332,11 @@
Properties
- - <optional>
- - - - - -
-

The configuration to set the maximum streaming bandwidth to send to peers. - Object signature follows Skylink#joinRoom - options.bandwidth settings.

+

The room name.

googleXBandwidthpeerId - JSON + String @@ -6189,32 +5361,11 @@
Properties
- - <optional>
- - - - - -
-

The configuration to set the experimental google - video streaming bandwidth sent to peers. - Object signature follows Skylink#joinRoom - options.googleXBandwidth settings.

- -
- +

The target peer id of the peer data channel to refresh.

@@ -6236,7 +5387,7 @@
Properties
  • - 0.5.5 + 0.6.30
@@ -6267,7 +5418,7 @@
Properties
@@ -6293,46 +5444,17 @@
Properties
- + -
Examples
+
Example
-
Example 1: Refreshing a peer connection
-
-skylink.refreshConnection(roomName, peerId)
-.then((result) => {
-  const failedRefreshIds = Object.keys(result.refreshErrors);
-  failedRefreshIds.forEach((peerId) => {
-    // handle error
-  });
-});
- - -
Example 2: Refreshing a list of peer connections
-let selectedPeers = ["peerID_1", "peerID_2"];
-
-skylink.refreshConnection(roomName, selectedPeers)
-.then((result) => {
-  const failedRefreshIds = Object.keys(result.refreshErrors);
-  failedRefreshIds.forEach((peerId) => {
-    // handle error
-  });
-});
- - -
Example 3: Refreshing all peer connections
+  
Example 1: Initiate refresh data channel
 
-skylink.refreshConnection(roomName)
-.then((result) => {
-  const failedRefreshIds = Object.keys(result.refreshErrors);
-  failedRefreshIds.forEach((peerId) => {
-   // handle error
-  });
-});
+skylink.refreshDatachannel("Room_1", "peerID_1");
@@ -6345,13 +5467,13 @@
Examples
- + -

- refreshDatachannel(roomName, peerId) → {null} +

+ sendMessage(roomName, message, targetPeerIdopt)

@@ -6360,7 +5482,8 @@

-

Method that refreshes the main messaging data channel.

+

Function that sends a message to peers via the Signaling socket connection.

+

sendMessage can also be used to trigger call actions on the remote. Refer to Example 3 for muting the remote peer.

@@ -6382,6 +5505,8 @@

Parameters:
Type + Attributes + @@ -6410,11 +5535,19 @@
Parameters:
+ + + + + + + + -

The room name.

+

room name to send the message.

@@ -6422,7 +5555,7 @@
Parameters:
- peerId + message @@ -6432,6 +5565,12 @@
Parameters:
String
+ | + + + JSON + + @@ -6439,11 +5578,68 @@
Parameters:
+ + + + + + + + -

The target peer id of the peer data channel to refresh.

+

The message.

+ + + + + + + + targetPeerId + + + + + + + String + + + | + + + Array + + + + + + + + + + + + <optional>
+ + + + + + + + + + + +

The target peer id to send message to.

+
    +
  • When provided as an Array, it will send the message to only peers which ids are in the list.
  • +
  • When not provided, it will broadcast the message to all connected peers in the room.
  • +
@@ -6465,7 +5661,7 @@
Parameters:
  • - 0.6.30 + 0.4.0
@@ -6496,7 +5692,7 @@
Parameters:
@@ -6513,6 +5709,15 @@
Parameters:
+
Fires:
+ + @@ -6522,17 +5727,46 @@
Parameters:
- + -
Example
+
Examples
-
Example 1: Initiate refresh data channel
+  
Example 1: Broadcasting to all peers
 
-skylink.refreshDatachannel("Room_1", "peerID_1");
+let sendMessage = (roomName) => { + const message = "Hi!"; + const selectedPeers = this.state[location]['selectedPeers']; + skylink.sendMessage(roomName, message, selectedPeers); +}
+ + +
Example 2: Broadcasting to selected peers
+
+let sendMessage = (roomName) => {
+   const message = "Hi all!";
+   const selectedPeers = ["PeerID_1", "PeerID_2"];
+   skylink.sendMessage(roomName, message, selectedPeers);
+}
+ + +
Example 3: Muting the remote peer
+
+// The local peer - send custom message object
+const msgObject = JSON.stringify({ data: "data-content", type: "muteStreams", audio: true, video: false });
+this.skylink.sendP2PMessage(roomName, msgObject);
+
+// The remote peer - add an event listener for ON_INCOMING_MESSAGE and check for the custom message object
+SkylinkEventManager.addEventListener(skylinkConstants.EVENTS.ON_INCOMING_MESSAGE, (evt) => {
+   const {message, peerId, isSelf, room} = evt.detail;
+   const msg = JSON.parse(message.content);
+   if (msg.type === "muteStreams") {
+      skylink.muteStreams(roomName, { audioMuted: msg.audio, videoMuted: msg.video });
+     }
+   });
@@ -6545,13 +5779,13 @@
Example
- + - -

- sendMessage(roomName, message, targetPeerIdopt) + +

+ sendP2PMessage(roomNameopt, message, targetPeerIdopt)

@@ -6560,7 +5794,7 @@

-

Function that sends a message to peers via the Signaling socket connection.

+

Method that sends a message to peers via the data channel connection.

@@ -6614,6 +5848,8 @@

Parameters:
+ <optional>
+ @@ -6624,7 +5860,9 @@
Parameters:
-

room name to send the message.

+

The name of the room the message is intended for. +When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). +Note when roomName is provided, targetPeerId should be provided as null.

@@ -6712,11 +5950,9 @@
Parameters:
-

The target peer id to send message to.

-
    -
  • When provided as an Array, it will send the message to only peers which ids are in the list.
  • -
  • When not provided, it will broadcast the message to all connected peers in the room.
  • -
+

The target peer id to send message to. +When provided as an Array, it will send the message to only peers which ids are in the list. +When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

@@ -6734,15 +5970,6 @@
Parameters:
-
Since:
-
-
    -
  • - 0.4.0 -
  • -
-
- @@ -6769,7 +5996,7 @@
Parameters:
@@ -6790,7 +6017,7 @@
Fires:
@@ -6804,29 +6031,63 @@
Fires:
- + -
Examples
+
Examples
-
Example 1: Broadcasting to all peers
+  
Example 1: Broadcasting to all peers in all rooms
 
-let sendMessage = (roomName) => {
-   const message = "Hi!";
-   const selectedPeers = this.state[location]['selectedPeers'];
-   this.skylink.sendMessage(roomName, message, selectedPeers);
-}
+const message = "Hello everyone!"; +skylink.sendP2PMessage(message);
-
Example 2: Broadcasting to selected peers
 
-let sendMessage = (roomName) => {
-   const message = "Hi all!";
-   const selectedPeers = ["PeerID_1", "PeerID_2"];
-   this.skylink.sendMessage(roomName, message, selectedPeers);
+  
Example 2: Broadcasting to all peers in a room
+
+const message = "Hello everyone!";
+const roomName = "Room_1";
+
+skylink.sendP2PMessage(message, null, roomName);
+ + +
Example 3: Sending message to a peer in all rooms
+
+const message = "Hello!";
+const targetPeerId = "peerId";
+
+skylink.sendP2PMessage(message, targetPeerId);
+ + +
Example 4: Sending message to a peer in a room
+
+const message = "Hello!";
+const targetPeerId = "peerId";
+const roomName = "Room_1";
+
+skylink.sendP2PMessage(message, targetPeerId, roomName);
+ + +
Example 5: Sending message to selected Peers in a room
+
+const message = "Hello!";
+const selectedPeers = ["peerId_1", "peerId_2"];
+const roomName = "Room_1";
+
+skylink.sendP2PMessage(message, selectedPeers, roomName);
+ + +
// Listen for onIncomingMessage event
+skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
+  const detail = evt.detail;
+  if (detail.isSelf) {
+    // handle message from self
+  } else {
+    // handle message from remote peer
+  }
 }
@@ -6840,13 +6101,13 @@
Examples
- + -

- sendP2PMessage(roomNameopt, message, targetPeerIdopt) +

+ sendStream(roomName, options) → {Promise.<MediaStreams>}

@@ -6855,8 +6116,9 @@

-

Method that sends a message to peers via the data channel connection. -Consider using sendURLData if you are sending large strings to peers.

+

Method that sends a new userMedia stream to all connected peers in a room.

+

Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is +MediaStream of kind video.

@@ -6878,8 +6140,6 @@

Parameters:
Type - Attributes - @@ -6908,23 +6168,11 @@
Parameters:
- - - <optional>
- - - - - - - -

The name of the room the message is intended for. -When not provided, the message will be broadcast to all rooms where targetPeerId(s) are found (if provided). -Note when roomName is provided, targetPeerId should be provided as null.

+

The room name.

@@ -6932,63 +6180,20 @@
Parameters:
- message + options - - String - - - | - JSON - - - - - - - - - - - - - - - - - - - -

The message.

- - - - - - - - targetPeerId - - - - - - - String - - | - Array + MediaStream @@ -6998,23 +6203,17 @@
Parameters:
- - - <optional>
- - - - - - - -

The target peer id to send message to. -When provided as an Array, it will send the message to only peers which ids are in the list. -When not provided, it will broadcast the message to all connected peers with data channel connection in a room.

+

The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

+
    +
  • When provided as a MediaStream object, this configures the options.audio and +options.video based on the tracks available in the MediaStream object. +Object signature matches the options parameter in the +getUserMedia method.
  • +
@@ -7032,6 +6231,15 @@
Parameters:
+
Since:
+
+
    +
  • + 0.5.6 +
  • +
+
+ @@ -7058,7 +6266,7 @@
Parameters:
@@ -7079,7 +6287,18 @@
Fires:
  • - onIncomingMessage + MEDIA ACCESS SUCCESS event with parameter payload isScreensharing=false and +isAudioFallback=false if userMedia options is passed into +sendStream method.event: +
  • + +
  • + ON INCOMING STREAM event with parameter payload isSelf=true and +stream as userMedia stream.event: +
  • + +
  • + PEER UPDATED event with parameter payload isSelf=true.
@@ -7093,63 +6312,51 @@
Fires:
- + -
Examples
+
Example
-
Example 1: Broadcasting to all peers in all rooms
-
-const message = "Hello everyone!";
-
-skylink.sendP2PMessage(message);
- - -
Example 2: Broadcasting to all peers in a room
-
-const message = "Hello everyone!";
-const roomName = "Room_1";
-
-skylink.sendP2PMessage(message, null, roomName);
- - -
Example 3: Sending message to a peer in all rooms
-
-const message = "Hello!";
-const targetPeerId = "peerId";
-
-skylink.sendP2PMessage(message, targetPeerId);
- - -
Example 4: Sending message to a peer in a room
-
-const message = "Hello!";
-const targetPeerId = "peerId";
-const roomName = "Room_1";
-
-skylink.sendP2PMessage(message, targetPeerId, roomName);
+
Example 1: Send new MediaStream with audio and video
 
+let sendStream = (roomName) => {
+const options = { audio: true, video: true };
 
-  
Example 5: Sending message to selected Peers in a room
+// Add listener to incomingStream event
+SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
+  const { detail } = evt;
+  window.attachMediaStream(localVideoEl, detail.stream);
+})
 
-const message = "Hello!";
-const selectedPeers = ["peerId_1", "peerId_2"];
-const roomName = "Room_1";
+skylink.sendStream(roomName, options)
+ // streams can also be obtained from resolved promise
+ .then((streams) => {
+       if (streams[0]) {
+         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
+       }
+       if (streams[1]) {
+         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
+       }
+   })
+  .catch((error) => { console.error(error) });
+}
 
-skylink.sendP2PMessage(message, selectedPeers, roomName);
+Example 2: Use pre-fetched media streams +const prefetchedStreams = null; +skylink.getUserMedia(null, { + audio: { stereo: true }, + video: true, + }) + .then((streams) => { + prefetchedStream = streams +}); -
// Listen for onIncomingMessage event
-skylink.addEventListener(SkylinkEvents.ON_INCOMING_MESSAGE, (evt) => {
-  const detail = evt.detail;
-  if (detail.isSelf) {
-    // handle message from self
-  } else {
-    // handle message from remote peer
-  }
+skylink.sendStream(roomName, prefetchedStreams)
+  .catch((error) => { console.error(error) });
 }
@@ -7163,13 +6370,13 @@
Examples
- + -

- sendStream(roomName, options) → {Promise.<MediaStreams>} +

+ setEncryptSecret(roomName, secret, secretId)

@@ -7178,9 +6385,7 @@

-

Method that sends a new userMedia stream to all connected peers in a room.

-

Resolves with an array of MediaStreams. First item in array is MediaStream of kind audio and second item is -MediaStream of kind video.

+

Method that stores a secret and secret id pair used for encrypting and decrypting messages.

@@ -7242,20 +6447,43 @@

Parameters:
- options + secret - JSON + String - | + + + + + + + + + + +

A secret to use for encrypting and decrypting messages.

+ + + + + + + + secretId + + + + + - MediaStream + String @@ -7269,13 +6497,7 @@
Parameters:
-

The getUserMedia options parameter settings. The MediaStream to send to the remote peer.

-
    -
  • When provided as a MediaStream object, this configures the options.audio and -options.video based on the tracks available in the MediaStream object. -Object signature matches the options parameter in the -getUserMedia method.
  • -
+

The id of the secret.

@@ -7297,7 +6519,7 @@
Parameters:
  • - 0.5.6 + 2.0.0
@@ -7328,7 +6550,7 @@
Parameters:
@@ -7345,84 +6567,13 @@
Parameters:
-
Fires:
- - - - - - - - - - -
- - - - - -
Example
- - -
Example 1: Send new MediaStream with audio and video
-
-let sendStream = (roomName) => {
-const options = { audio: true, video: true };
 
-// Add listener to incomingStream event
-SkylinkEventManager.addEventListener(SkylinkConstants.EVENTS.ON_INCOMING_STREAM, (evt) => {
-  const { detail } = evt;
-  window.attachMediaStream(localVideoEl, detail.stream);
-})
 
-skylink.sendStream(roomName, options)
- // streams can also be obtained from resolved promise
- .then((streams) => {
-       if (streams[0]) {
-         window.attachMediaStream(audioEl, streams[0]); // first item in array is an audio stream
-       }
-       if (streams[1]) {
-         window.attachMediaStream(videoEl, streams[1]); // second item in array is a video stream
-       }
-   })
-  .catch((error) => { console.error(error) });
-}
 
-Example 2: Use pre-fetched media streams
 
-const prefetchedStreams = null;
-skylink.getUserMedia(null, {
-   audio: { stereo: true },
-   video: true,
-   })
-   .then((streams) => {
-     prefetchedStream = streams
-});
 
-skylink.sendStream(roomName, prefetchedStreams)
-  .catch((error) => { console.error(error) });
-}
-
@@ -7432,13 +6583,13 @@
Example
- + -

- setEncryptSecret(roomName, secret, secretId) +

+ setMessagePersistence(roomName, isPersistent)

@@ -7447,7 +6598,12 @@

-

Method that stores a secret and secret id pair used for encrypting and decrypting messages.

+

Method that overrides the persistent message feature configured at the key level.

+
+ Note that to set message persistence at the app level, the persistent message feature MUST be enabled at the key level in the Temasys + Developers Console. Messages will also only be persisted if the messages are encrypted, are public messages and, are sent via the signaling + server using the sendMessage method. +
@@ -7509,43 +6665,14 @@

Parameters:
- secret - - - - - - - String - - - - - - - - - - - - - -

A secret to use for encrypting and decrypting messages.

- - - - - - - - secretId + isPersistent - String + Boolean @@ -7559,7 +6686,7 @@
Parameters:
-

The id of the secret.

+

The flag if messages should be persisted.

@@ -7612,7 +6739,7 @@
Parameters:
@@ -7796,7 +6923,7 @@
Parameters:
@@ -7977,7 +7104,7 @@
Parameters:
@@ -7998,7 +7125,7 @@
Fires:
@@ -8048,7 +7175,7 @@
Example

- shareScreen(roomName, replaceUserMediaStream, streamIdopt) → {MediaStream|null} + shareScreen(roomName) → {MediaStream|null}

@@ -8079,8 +7206,6 @@
Parameters:
Type - Attributes - @@ -8109,14 +7234,6 @@
Parameters:
- - - - - - - - @@ -8127,83 +7244,6 @@
Parameters:
- - - replaceUserMediaStream - - - - - - - Boolean - - - - - - - - - - - - - - - - - - - - - -

The flag if screenshare replaces the userMedia stream.

- - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - <optional>
- - - - - - - - - - - -

The stream id of the userMedia stream to replace. streamId must be provided if there is more than -one userMedia stream on the peer connection and replaceUserMediaStream is true.

- - - - - @@ -8251,7 +7291,7 @@
Parameters:
@@ -8325,7 +7365,7 @@

Note that this feature requires MCU and recording to be enabled for the App Key provided in initOptions. If recording feature is not available to - be enabled in the Temasys Developer Console, please contact us on our support portal here. + be enabled in the Temasys Developer Console, please contact us on our support portal here.

@@ -8433,7 +7473,7 @@
Parameters:
@@ -8454,11 +7494,12 @@
Fires:
  • - recordingStateEvent with payload state=START if recording has started successfully. + RECORDING STATE event with payload state=START if recording has started +successfully.event:
  • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
@@ -8685,7 +7726,7 @@
Parameters:
@@ -8706,7 +7747,7 @@
Fires:
@@ -8769,8 +7810,8 @@

  • Note that this feature requires MCU and recording to be enabled for the App Key provided in the - initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, - please contact us on our support portal here. + initOptions. If recording feature is not available to be enabled in the Temasys Developer Console, + please contact us on our support portal here.
  • It is mandatory for the recording session to have elapsed for more than 4 minutes before calling stopRecording method. @@ -8883,7 +7924,7 @@
    Parameters:
    @@ -8904,11 +7945,12 @@
    Fires:
    • - recordingStateEvent with payload state=STOP if recording has stopped successfully. + RECORDING STATE event with payload state=STOP if recording has stopped +successfully.event:
    • - recordingStateEvent with payload error if an error occurred during recording. + RECORDING STATE event with payload error if an error occurred during recording.
    @@ -9105,7 +8147,7 @@
    Parameters:
    @@ -9126,7 +8168,7 @@
    Fires:
    @@ -9291,7 +8333,7 @@
    Parameters:
    @@ -9312,19 +8354,19 @@
    Fires:
    • - mediaAccessStoppedEvent with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream + MEDIA ACCESS STOPPED event with parameter payload isScreensharing value as true and isAudioFallback value as false if there is a screen stream
    • - streamEndedEvent with parameter payload isSelf value as true and isScreensharing value as true if user is in the room + STREAM ENDED event with parameter payload isSelf value as true and isScreensharing value as true if user is in the room
    • - peerUpdatedEvent with parameter payload isSelf value as true + PEER UPDATED event with parameter payload isSelf value as true
    • - onIncomingStreamEvent with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream + ON INCOMING STREAM event with parameter payload isSelf value as true and stream as Skylink#event:getUserMedia stream if there is an existing userMedia stream
    @@ -9512,7 +8554,7 @@
    Parameters:
    @@ -9533,15 +8575,15 @@
    Fires:
    • - mediaAccessStoppedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream. + MEDIA ACCESS STOPPED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream.
    • - streamEndedEvent with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room. + STREAM ENDED event with parameter payload isSelf=true and isScreensharing=false if there is a getUserMedia stream and user is in a room.
    • - peerUpdatedEvent with parameter payload isSelf=true. + PEER UPDATED event with parameter payload isSelf=true.
    @@ -9699,7 +8741,7 @@
    Parameters:
    @@ -9720,7 +8762,7 @@
    Fires:
    • - roomLockEvent with payload parameters isLocked=false when the room is successfully locked. + ROOM LOCK event with payload parameters isLocked=false when the room is successfully locked.
    diff --git a/publish/latest/docs/SkylinkConstants.html b/publish/latest/docs/SkylinkConstants.html index ae20e5d76..9011e2257 100644 --- a/publish/latest/docs/SkylinkConstants.html +++ b/publish/latest/docs/SkylinkConstants.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -106,7 +106,42 @@

    @@ -177,21 +212,19 @@

    Members

    -

    - (static, constant) AUDIO_CODEC :Object +

    + (static, constant) BUNDLE_POLICY :Object

    -

    - Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. +
    + Learn more about how ICE works in this + article here.
    -The list of available audio codecs to set as the preferred audio codec to use to encode -sending audio data when available encoded audio codec for Peer connections -configured in Skylink initOptions.

    +The list of available Peer connection bundle policies.
    @@ -223,7 +256,7 @@
    Properties:
    - AUTO + MAX_COMPAT @@ -244,9 +277,9 @@
    Properties:
    -

    Value "auto" - The value of the option to not prefer any audio codec but rather use the created - local "offer" / "answer" session description audio codec preference.

    +

    Value "max-compat" +The value of the bundle policy to generate ICE candidates for each media type +so each media type flows through different transports.

    @@ -254,7 +287,7 @@
    Properties:
    - OPUS + MAX_BUNDLE @@ -275,8 +308,9 @@
    Properties:
    -

    Value "opus" - The value of the option to prefer the OPUS audio codec.

    +

    Value "max-bundle" +The value of the bundle policy to generate ICE candidates for one media type +so all media type flows through a single transport.

    @@ -284,7 +318,7 @@
    Properties:
    - ISAC + BALANCED @@ -305,8 +339,9 @@
    Properties:
    -

    Value "ISAC" - The value of the option to prefer the ISAC audio codec.

    +

    Value "balanced" +The value of the bundle policy to use MAX_BUNDLE if Peer supports it, +else fallback to MAX_COMPAT.

    @@ -314,7 +349,7 @@
    Properties:
    - ILBC + NONE @@ -335,46 +370,126 @@
    Properties:
    -

    Value "ILBC" - The value of the option to prefer the iLBC audio codec.

    +

    Value "none" +The value of the bundle policy to not use any media bundle. +This removes the a=group:BUNDLE line from session descriptions.

    + + - - - G722 - - - - - - String - - + +
    + + + + +
    Since:
    +
    +
      +
    • + 0.6.18 +
    • +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    - - - + + + + - -

    Value "G722" - The value of the option to prefer the G722 audio codec.

    - - +

    + (static, constant) CANDIDATE_GENERATION_STATE :Object +

    + + + + +
    +
    + Learn more about how ICE works in this + article here. +
    +The list of Peer connection ICE gathering states. +
    + + + + +
    Properties:
    + + + + + + + + + + + + + + + + + + + + - + @@ -404,7 +524,7 @@
    Properties:
    - + @@ -446,7 +566,7 @@
    Properties:
    • - 0.5.10 + 0.4.1
    @@ -477,7 +597,7 @@
    Properties:
    @@ -499,19 +619,19 @@
    Properties:
    -

    - (static, constant) BUNDLE_POLICY :Object +

    + (static, constant) CANDIDATE_PROCESSING_STATE :Object

    -

    - Learn more about how ICE works in this - article here. +
    + Learn more about how ICE works in this + article here.
    -The list of available Peer connection bundle policies.

    +The list of Peer connection remote ICE candidate processing states for trickle ICE connections.
    @@ -543,7 +663,7 @@
    Properties:
    - + @@ -574,7 +693,7 @@
    Properties:
    - + @@ -605,7 +723,7 @@
    Properties:
    - + @@ -636,7 +753,7 @@
    Properties:
    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -679,7 +857,7 @@
    Properties:
    • - 0.6.18 + 0.6.16
    @@ -710,7 +888,7 @@
    Properties:
    @@ -732,19 +910,15 @@
    Properties:
    -

    - (static, constant) CANDIDATE_GENERATION_STATE :Object +

    + (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object

    -

    - Learn more about how ICE works in this - article here. -
    -The list of Peer connection ICE gathering states.

    +

    The list of Datachannel sending message error types.

    @@ -776,7 +950,7 @@
    Properties:
    - + @@ -811,7 +981,7 @@
    Properties:
    - + @@ -853,7 +1025,7 @@
    Properties:
    • - 0.4.1 + 0.6.16
    @@ -884,7 +1056,7 @@
    Properties:
    @@ -906,19 +1078,15 @@
    Properties:
    -

    - (static, constant) CANDIDATE_PROCESSING_STATE :Object +

    + (static, constant) DATA_CHANNEL_STATE :object

    -

    - Learn more about how ICE works in this - article here. -
    -The list of Peer connection remote ICE candidate processing states for trickle ICE connections.

    +

    The list of Datachannel connection states.

    @@ -950,7 +1118,7 @@
    Properties:
    - + @@ -980,7 +1148,7 @@
    Properties:
    - + @@ -1010,7 +1178,7 @@
    Properties:
    - + @@ -1040,7 +1208,7 @@
    Properties:
    - + @@ -1070,7 +1238,7 @@
    Properties:
    - + @@ -1102,7 +1268,7 @@
    Properties:
    - + - -
    NameTypeDescription
    PCMAGATHERING @@ -395,8 +510,13 @@
    Properties:
    -

    Value "PCMA" - The value of the option to prefer the G711u audio codec.

    +

    Value "gathering" +The value of the state when Peer connection is gathering ICE candidates. +These ICE candidates are sent to Peer for its connection to check for a suitable matching +pair of ICE candidates to establish an ICE connection for stream audio, video and data. +See ICE_CONNECTION_STATE for ICE connection status. +This state cannot happen until Peer connection remote "offer" / "answer" +session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

    PCMUCOMPLETED @@ -425,8 +545,8 @@
    Properties:
    -

    Value "PCMU" - The value of the option to prefer the G711a audio codec.

    +

    Value "completed" +The value of the state when Peer connection gathering of ICE candidates has completed.

    MAX_COMPATRECEIVED @@ -564,9 +684,8 @@
    Properties:
    -

    Value "max-compat" - The value of the bundle policy to generate ICE candidates for each media type - so each media type flows through different transports.

    +

    Value "received" +The value of the state when the remote ICE candidate was received.

    MAX_BUNDLEDROPPED @@ -595,9 +714,8 @@
    Properties:
    -

    Value "max-bundle" - The value of the bundle policy to generate ICE candidates for one media type - so all media type flows through a single transport.

    +

    Value "received" +The value of the state when the remote ICE candidate is dropped.

    BALANCEDBUFFERED @@ -626,9 +744,8 @@
    Properties:
    -

    Value "balanced" - The value of the bundle policy to use MAX_BUNDLE if Peer supports it, - else fallback to MAX_COMPAT.

    +

    Value "buffered" +The value of the state when the remote ICE candidate is buffered.

    NONEPROCESSING @@ -657,9 +774,70 @@
    Properties:
    -

    Value "none" - The value of the bundle policy to not use any media bundle. - This removes the a=group:BUNDLE line from session descriptions.

    +

    Value "processing" +The value of the state when the remote ICE candidate is being processed.

    +
    PROCESS_SUCCESS + + + + String + + + + + + + +

    Value "processSuccess" +The value of the state when the remote ICE candidate has been processed successfully. +The ICE candidate that is processed will be used to check against the list of +locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

    +
    PROCESS_ERROR + + + + String + + + + + + + +

    Value "processError" +The value of the state when the remote ICE candidate has failed to be processed.

    GATHERINGMESSAGE @@ -797,13 +971,9 @@
    Properties:
    -

    Value "gathering" - The value of the state when Peer connection is gathering ICE candidates. - These ICE candidates are sent to Peer for its connection to check for a suitable matching - pair of ICE candidates to establish an ICE connection for stream audio, video and data. - See ICE_CONNECTION_STATE for ICE connection status. - This state cannot happen until Peer connection remote "offer" / "answer" - session description is set. See PEER_CONNECTION_STATE for session description exchanging status.

    +

    Value "message" +The value of the Datachannel sending message error type when encountered during +sending P2P message from sendP2PMessage.

    COMPLETEDTRANSFER @@ -832,8 +1002,10 @@
    Properties:
    -

    Value "completed" - The value of the state when Peer connection gathering of ICE candidates has completed.

    +

    Value "transfer" +The value of the Datachannel sending message error type when encountered during +data transfers from sendURLData or +sendBlobData.

    RECEIVEDCONNECTING @@ -971,8 +1139,8 @@
    Properties:
    -

    Value "received" - The value of the state when the remote ICE candidate was received.

    +

    Value "connecting" +The value of the state when Datachannel is attempting to establish a connection.

    DROPPEDOPEN @@ -1001,8 +1169,8 @@
    Properties:
    -

    Value "received" - The value of the state when the remote ICE candidate is dropped.

    +

    Value "open" +The value of the state when Datachannel has established a connection.

    BUFFEREDCLOSING @@ -1031,8 +1199,8 @@
    Properties:
    -

    Value "buffered" - The value of the state when the remote ICE candidate is buffered.

    +

    Value "closing" +The value of the state when Datachannel connection is closing.

    PROCESSINGCLOSED @@ -1061,8 +1229,8 @@
    Properties:
    -

    Value "processing" - The value of the state when the remote ICE candidate is being processed.

    +

    Value "closed" +The value of the state when Datachannel connection has closed.

    PROCESS_SUCCESSERROR @@ -1091,10 +1259,8 @@
    Properties:
    -

    Value "processSuccess" - The value of the state when the remote ICE candidate has been processed successfully. - The ICE candidate that is processed will be used to check against the list of - locally generated ICE candidate to start matching for the suitable pair for the best ICE connection.

    +

    Value "error" +The value of the state when Datachannel has encountered an exception during connection.

    PROCESS_ERRORCREATE_ERROR @@ -1123,121 +1289,16 @@
    Properties:
    -

    Value "processError" - The value of the state when the remote ICE candidate has failed to be processed.

    +

    Value "createError" +The value of the state when Datachannel has failed to establish a connection.

    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.6.16 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - -

    - (static, constant) DATA_CHANNEL_MESSAGE_ERROR :object -

    - - - - -
    -

    The list of Datachannel sending message error types.

    -
    - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - + @@ -1268,7 +1331,7 @@
    Properties:
    - + @@ -1312,7 +1375,7 @@
    Properties:
    • - 0.6.16 + 0.1.0
    @@ -1343,7 +1406,7 @@
    Properties:
    @@ -1365,15 +1428,15 @@
    Properties:
    -

    - (static, constant) DATA_CHANNEL_STATE :object +

    + (static, constant) DATA_CHANNEL_TYPE :object

    -

    The list of Datachannel connection states.

    +

    The list of Datachannel types.

    @@ -1394,1672 +1457,18 @@
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    MESSAGEBUFFERED_AMOUNT_LOW @@ -1258,9 +1319,11 @@
    Properties:
    -

    Value "message" - The value of the Datachannel sending message error type when encountered during - sending P2P message from Skylink#sendP2PMessage.

    +

    Value "bufferedAmountLow" +The value of the state when Datachannel when the amount of data buffered to be sent +falls below the Datachannel threshold. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

    TRANSFERSEND_MESSAGE_ERROR @@ -1289,10 +1352,10 @@
    Properties:
    -

    Value "transfer" - The value of the Datachannel sending message error type when encountered during - data transfers from Skylink#sendURLData or - Skylink#sendBlobData.

    +

    Value "sendMessageError" +The value of the state when Datachannel when data transfer packets or P2P message fails to send. +This state should occur only during after sendBlobData or sendURLData or +sendP2PMessage.

    Description
    CONNECTING - - - - String - - - - - - - -

    Value "connecting" - The value of the state when Datachannel is attempting to establish a connection.

    -
    OPEN - - - - String - - - - - - - -

    Value "open" - The value of the state when Datachannel has established a connection.

    -
    CLOSING - - - - String - - - - - - - -

    Value "closing" - The value of the state when Datachannel connection is closing.

    -
    CLOSED - - - - String - - - - - - - -

    Value "closed" - The value of the state when Datachannel connection has closed.

    -
    ERROR - - - - String - - - - - - - -

    Value "error" - The value of the state when Datachannel has encountered an exception during connection.

    -
    CREATE_ERROR - - - - String - - - - - - - -

    Value "createError" - The value of the state when Datachannel has failed to establish a connection.

    -
    BUFFERED_AMOUNT_LOW - - - - String - - - - - - - -

    Value "bufferedAmountLow" - The value of the state when Datachannel when the amount of data buffered to be sent - falls below the Datachannel threshold. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

    -
    SEND_MESSAGE_ERROR - - - - String - - - - - - - -

    Value "sendMessageError" - The value of the state when Datachannel when data transfer packets or P2P message fails to send. - This state should occur only during after Skylink#sendBlobData or Skylink#sendURLData or - Skylink#sendP2PMessage.

    -
    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.1.0 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - -

    - (static, constant) DATA_CHANNEL_TYPE :object -

    - - - - -
    -

    The list of Datachannel types.

    -
    - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    MESSAGING - - - - String - - - - - - - -

    Value "messaging" - The value of the Datachannel type that is used only for messaging in - Skylink#sendP2PMessage. - However for Peers that do not support simultaneous data transfers, this Datachannel - type will be used to do data transfers (1 at a time). - Each Peer connections will only have one of this Datachannel type and the - connection will only close when the Peer connection is closed (happens when peerConnectionStateEvent triggers parameter payload state as - CLOSED for Peer).

    -
    DATA - - - - String - - - - - - - -

    Value "data" - The value of the Datachannel type that is used only for a data transfer in - Skylink#sendURLData and - Skylink#sendBlobData. - The connection will close after the data transfer has been completed or terminated (happens when - SkylinkEvents.event:dataTransferStatedataTransferStateEvent triggers parameter payload - state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, - REJECTED, CANCEL or ERROR for Peer).

    -
    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.6.1 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - -

    - (static, constant) EVENTS :object -

    - - - - - - - -
    Properties:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - + + - + @@ -3088,7 +1504,7 @@
    Properties:
    - + @@ -3129,7 +1552,7 @@
    Properties:
    • - 2.0 + 0.6.1
    @@ -3160,7 +1583,7 @@
    Properties:
    @@ -3244,7 +1667,7 @@
    Properties:
    @@ -3274,7 +1697,7 @@
    Properties:
    @@ -3304,7 +1727,7 @@
    Properties:
    @@ -3355,7 +1778,7 @@
    Properties:
    @@ -3385,15 +1808,15 @@

    -

    - Note that this feature requires "isPrivileged" flag to be enabled for the App Key +
    + Note that this feature requires "isPrivileged" flag to be enabled for the App Key provided in Skylink initOptions, as only Users connecting using the App Key with this flag enabled (which we call privileged Users / Peers) can retrieve the list of Peer IDs from Rooms within the same App space. Read more about privileged App Key feature here.
    -The list of getPeers() method retrieval states.

    +The list of getPeers method retrieval states.
    @@ -3447,8 +1870,8 @@

    Properties:
    @@ -3478,8 +1901,8 @@
    Properties:
    @@ -3530,7 +1953,7 @@
    Properties:
    @@ -3614,9 +2037,9 @@
    Properties:
    @@ -3646,9 +2069,9 @@
    Properties:
    @@ -3678,8 +2101,8 @@
    Properties:
    @@ -3709,8 +2132,8 @@
    Properties:
    @@ -3740,8 +2163,8 @@
    Properties:
    @@ -3771,9 +2194,9 @@
    Properties:
    @@ -3824,7 +2247,7 @@
    Properties:
    @@ -3854,11 +2277,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of Peer connection ICE connection states.

    +The list of Peer connection ICE connection states.
    @@ -3912,9 +2335,9 @@

    Properties:
    @@ -3944,11 +2367,11 @@
    Properties:
    @@ -3978,10 +2401,10 @@
    Properties:
    @@ -4011,7 +2434,7 @@
    Properties:
    @@ -4041,9 +2464,9 @@
    Properties:
    @@ -4073,38 +2496,8 @@
    Properties:
    - - - - - - - - - - - - - - - - @@ -4155,7 +2548,7 @@
    Properties:
    @@ -4239,8 +2632,8 @@
    Properties:
    @@ -4270,8 +2663,8 @@
    Properties:
    @@ -4301,8 +2694,8 @@
    Properties:
    @@ -4332,8 +2725,8 @@
    Properties:
    @@ -4363,7 +2756,7 @@
    Properties:
    @@ -4393,7 +2786,7 @@
    Properties:
    @@ -4444,7 +2837,7 @@
    Properties:
    @@ -4474,8 +2867,8 @@

    -

    The list of Skylink#getUserMedia or -Skylink#shareScreen Stream fallback states.

    +

    The list of getUserMedia or +shareScreen Stream fallback states.

    @@ -4529,10 +2922,10 @@

    Properties:
    @@ -4562,8 +2955,8 @@
    Properties:
    @@ -4593,8 +2986,8 @@
    Properties:
    @@ -4645,7 +3038,7 @@
    Properties:
    @@ -4676,7 +3069,7 @@

    The list of available screensharing media sources configured in the -Skylink#shareScreen.

    +shareScreen.

    @@ -4730,7 +3123,7 @@

    Properties:
    @@ -4760,7 +3153,7 @@
    Properties:
    @@ -4790,8 +3183,8 @@
    Properties:
    @@ -4821,9 +3214,9 @@
    Properties:
    @@ -4853,8 +3246,8 @@
    Properties:
    @@ -4884,9 +3277,9 @@
    Properties:
    @@ -4916,8 +3309,8 @@
    Properties:
    @@ -4968,7 +3361,7 @@
    Properties:
    @@ -5189,7 +3582,7 @@
    Properties:
    @@ -5384,7 +3777,7 @@
    Properties:
    @@ -5663,7 +4056,7 @@
    Properties:
    @@ -5693,11 +4086,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of available Peer connection certificates cryptographic algorithm to use.

    +The list of available Peer connection certificates cryptographic algorithm to use.
    @@ -5751,7 +4144,7 @@

    Properties:
    @@ -5781,7 +4174,7 @@
    Properties:
    @@ -5811,7 +4204,7 @@
    Properties:
    @@ -5862,7 +4255,7 @@
    Properties:
    @@ -5892,11 +4285,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of Peer connection session description exchanging states.

    +The list of Peer connection session description exchanging states.
    @@ -5950,7 +4343,7 @@

    Properties:
    @@ -5980,11 +4373,11 @@
    Properties:
    @@ -6014,11 +4407,11 @@
    Properties:
    @@ -6048,7 +4441,7 @@
    Properties:
    @@ -6099,7 +4492,7 @@
    Properties:
    @@ -6183,7 +4576,7 @@
    Properties:
    @@ -6213,8 +4606,8 @@
    Properties:
    @@ -6244,10 +4637,10 @@
    Properties:
    @@ -6277,7 +4670,7 @@
    Properties:
    @@ -6328,7 +4721,7 @@
    Properties:
    @@ -6412,9 +4805,9 @@
    Properties:
    @@ -6444,9 +4837,9 @@
    Properties:
    @@ -6476,9 +4869,9 @@
    Properties:
    @@ -6508,10 +4901,10 @@
    Properties:
    @@ -6541,12 +4934,12 @@
    Properties:
    @@ -6576,9 +4969,9 @@
    Properties:
    @@ -6608,9 +5001,9 @@
    Properties:
    @@ -6641,10 +5034,10 @@
    Properties:
    @@ -6674,8 +5067,8 @@
    Properties:
    @@ -6705,9 +5098,9 @@
    Properties:
    @@ -6737,7 +5130,7 @@
    Properties:
    @@ -6767,7 +5160,7 @@
    Properties:
    @@ -6797,9 +5190,9 @@
    Properties:
    @@ -6829,10 +5222,10 @@
    Properties:
    @@ -6862,13 +5255,13 @@
    Properties:
    @@ -6898,7 +5291,7 @@
    Properties:
    @@ -6928,10 +5321,10 @@
    Properties:
    @@ -6961,7 +5354,7 @@
    Properties:
    @@ -7012,7 +5405,7 @@
    Properties:
    @@ -7096,7 +5489,7 @@
    Properties:
    @@ -7126,8 +5519,8 @@
    Properties:
    @@ -7157,7 +5550,7 @@
    Properties:
    @@ -7187,9 +5580,9 @@
    Properties:
    @@ -7240,7 +5633,7 @@
    Properties:
    @@ -7270,11 +5663,11 @@

    -

    +
    Learn more about how ICE works in this article here.
    -The list of available Peer connection RTCP mux policies.

    +The list of available Peer connection RTCP mux policies.
    @@ -7328,7 +5721,7 @@

    Properties:
    @@ -7358,7 +5751,7 @@
    Properties:
    @@ -7409,7 +5802,7 @@
    Properties:
    @@ -7493,7 +5886,7 @@
    Properties:
    @@ -7523,8 +5916,8 @@
    Properties:
    @@ -7554,7 +5947,7 @@
    Properties:
    @@ -7605,7 +5998,7 @@
    Properties:
    @@ -7768,7 +6161,7 @@
    Properties:
    @@ -7798,11 +6191,11 @@

    -

    +
    As there are more features getting implemented, there will be eventually more different types of server Peers.
    -The list of available types of server Peer connections.

    +The list of available types of server Peer connections.
    @@ -7856,7 +6249,7 @@

    Properties:
    @@ -7907,7 +6300,7 @@
    Properties:
    @@ -7937,11 +6330,11 @@

    -

    +
    Note that this is used only for SDK developer purposes.
    - Current version: 0.1.4 + Current version: 2.1.0
    -The value of the current version of the Signaling socket message protocol.

    +The value of the current version of the Signaling socket message protocol.
    @@ -7987,7 +6380,7 @@

    @@ -8017,7 +6410,7 @@

    -

    The list of Skylink#joinRoom socket connection failure states.

    +

    The list of joinRoom socket connection failure states.

    @@ -8071,8 +6464,8 @@

    Properties:
    @@ -8102,8 +6495,8 @@
    Properties:
    @@ -8133,9 +6526,9 @@
    Properties:
    @@ -8165,9 +6558,9 @@
    Properties:
    @@ -8197,9 +6590,9 @@
    Properties:
    @@ -8250,7 +6643,7 @@
    Properties:
    @@ -8280,7 +6673,7 @@

    -

    The list of Skylink#joinRoom socket connection reconnection states.

    +

    The list of joinRoom socket connection reconnection states.

    @@ -8334,8 +6727,8 @@

    Properties:
    @@ -8365,8 +6758,8 @@
    Properties:
    @@ -8396,8 +6789,8 @@
    Properties:
    @@ -8427,8 +6820,8 @@
    Properties:
    @@ -8458,8 +6851,8 @@
    Properties:
    @@ -8510,7 +6903,7 @@
    Properties:
    @@ -8540,7 +6933,7 @@

    -

    The list of Signaling server reaction states during Skylink#joinRoom.

    +

    The list of Signaling server reaction states during joinRoom.

    @@ -8594,7 +6987,7 @@

    Properties:
    @@ -8624,7 +7017,7 @@
    Properties:
    @@ -8654,7 +7047,7 @@
    Properties:
    @@ -8705,7 +7098,7 @@
    Properties:
    @@ -8736,7 +7129,7 @@

    The list of Signaling server reaction states reason of action code during -Skylink#joinRoom.

    +joinRoom.

    @@ -8790,9 +7183,9 @@

    Properties:
    @@ -8822,8 +7215,8 @@
    Properties:
    @@ -8853,9 +7246,9 @@
    Properties:
    @@ -8885,9 +7278,9 @@
    Properties:
    @@ -8917,9 +7310,9 @@
    Properties:
    @@ -8949,9 +7342,9 @@
    Properties:
    @@ -8981,16 +7374,12 @@
    Properties:
    @@ -9020,10 +7409,10 @@
    Properties:
    @@ -9053,9 +7442,9 @@
    Properties:
    @@ -9085,9 +7474,9 @@
    Properties:
    @@ -9117,10 +7506,10 @@
    Properties:
    @@ -9171,7 +7560,7 @@
    Properties:
    @@ -9201,16 +7590,16 @@

    -

    +
    Note that configuring the protocol may not necessarily result in the desired network transports protocol used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing + This simply configures the TURN ICE server urls query option when constructing the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols.
    The list of TURN network transport protocols options when constructing Peer connections configured in Skylink initOptions. -Example .urls inital input: ["turn:server.com?transport=tcp", -"turn:server1.com:3478", "turn:server.com?transport=udp"]

    +Example .urls inital input: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]
    @@ -9264,9 +7653,9 @@

    Properties:
    @@ -9296,9 +7685,9 @@
    Properties:
    @@ -9328,9 +7717,9 @@
    Properties:
    @@ -9360,11 +7749,11 @@
    Properties:
    @@ -9394,10 +7783,10 @@
    Properties:
    @@ -9448,239 +7837,7 @@
    Properties:
    -
    - - - - - - - - - - - - - - - - - - -

    - (static, constant) VIDEO_CODEC :Object -

    - - - - -
    -

    - Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. -
    -The list of available video codecs to set as the preferred video codec to use to encode -sending video data when available encoded video codec for Peer connections -configured in Skylink initOptions.

    -
    - - - - -
    Properties:
    - - - -
    NameTypeDescription
    ON_INCOMING_STREAM - - - - String - - - - - - - -

    'onIncomingStream'

    -
    ON_INCOMING_SCREEN_STREAM - - - - String - - - - - - - -

    'onIncomingScreenStream'

    -
    STREAM_ENDED - - - - String - - - - - - - -

    'streamEnded'

    -
    PEER_UPDATED - - - - String - - - - - - - -

    'peerUpdated'

    -
    PEER_JOINED - - - - String - - - - - - - -

    'peerJoined'

    -
    PEER_LEFT - - - - String - - - - - - - -

    'peerLeft'

    -
    PEER_CONNECTION_STATE - - - - String - - - - - - - -

    'peerConnectionState'

    -
    DATA_CHANNEL_STATE - - - - String - - - - - - - -

    'dataChannelState'

    -
    ON_INCOMING_MESSAGE - - - - String - - - - - - - -

    'onIncomingMessage'

    -
    HANDSHAKE_PROGRESS - - - - String - - - - - - - -

    'handshakeProgress'

    -
    SERVER_PEER_JOINED - - - - String - - - - - - - -

    'serverPeerJoined'

    -
    SERVER_PEER_LEFT - - - - String - - - - - - - -

    'serverPeerLeft'

    -
    CANDIDATE_PROCESSING_STATE - - - - String - - - - - - - -

    'candidateProcessingState'

    -
    CANDIDATE_GENERATION_STATE - - - - String - - - - - - - -

    'candidateGenerationState'

    -
    CANDIDATES_GATHERED - - - - String - - - - - - - -

    'candidatesGathered'

    -
    ON_INCOMING_DATA - - - - String - - - - - - - -

    'onIncomingData'

    -
    GET_PEERS_STATE_CHANGE - - - - String - - - - - - - -

    'getPeersStateChange'

    -
    SESSION_DISCONNECT - - - - String - - - - - - - -

    'sessionDisconnect'

    -
    STREAM_MUTED - - - - String - - - - - - - -

    'streamMuted'

    -
    CHANNEL_OPEN - - - - String - - - - - - - -

    'channelOpen'

    -
    CHANNEL_CLOSE - - - - String - - - - - - - -

    'channelClose'

    -
    CHANNEL_MESSAGE - - - - String - - - - - - - -

    'channelMessage'

    -
    CHANNEL_ERROR - - - - String - - - - - - - -

    'channelError'

    -
    CHANNEL_RETRY - - - - String - - - - - - - -

    'channelRetry'

    -
    SOCKET_ERROR - - - - String - - - - - - - -

    'socketError'

    -
    SYSTEM_ACTION - - - - String - - - - - - - -

    'systemAction'

    -
    MEDIA_ACCESS_FALLBACK - - - - String - - - - - - - -

    'mediaAccessFallback'

    -
    MEDIA_ACCESS_REQUIRED - - - - String - - - - - - - -

    'mediaAccessRequired'

    -
    MEDIA_ACCESS_STOPPED - - - - String - - - - - - - -

    'mediaAccessStopped'

    -
    MEDIA_ACCESS_SUCCESS - - - - String - - - - - - - -

    'mediaAccessSuccess'

    -
    RECORDING_STATE - - - - String - - - - - - - -

    'recordingState'

    -
    LOCAL_MEDIA_MUTED - - - - String - - - - - - - -

    'localMediaMuted'

    -
    MEDIA_ACCESS_ERROR - - - - String - - - - - - - -

    'mediaAccessError'

    -
    GET_CONNECTION_STATUS_STATE_CHANGE - - - - String - - - - - - - -

    'getConnectionStatusStateChange'

    -
    READY_STATE_CHANGE - - - - String - - - - - - - -

    'readyStateChange'

    -
    ROOM_LOCK - - - - String - - - - - - - -

    'roomLock'

    -
    ICE_CONNECTION_STATE - - - - String - - - - - - - -

    'iceConnectionState'

    -
    BYE - - - - String - - - - - - - -

    'bye'

    -
    RTMP_STATE - - - - String - - - - - - - -

    'rtmpState'

    -
    Description
    STORED_MESSAGESMESSAGING @@ -3080,7 +1489,14 @@
    Properties:
    -

    'storedMessages'

    +

    Value "messaging" +The value of the Datachannel type that is used only for messaging in +sendP2PMessage. +However for Peers that do not support simultaneous data transfers, this Datachannel +type will be used to do data transfers (1 at a time). +Each Peer connections will only have one of this Datachannel type and the +connection will only close when the Peer connection is closed (happens when PEER CONNECTION STATE event triggers parameter payload state as +CLOSED for Peer).

    ENCRYPT_SECRETS_UPDATEDDATA @@ -3109,7 +1525,14 @@
    Properties:
    -

    'encryptSecretsUpdated'

    +

    [UNAVAILABLE] Value "data" +The value of the Datachannel type that is used only for a data transfer in +sendURLData and +sendBlobData. +The connection will close after the data transfer has been completed or terminated (happens when +DATA TRANSFER STATE triggers parameter payload +state as DOWNLOAD_COMPLETED, UPLOAD_COMPLETED, +REJECTED, CANCEL or ERROR for Peer).

    Value 0 - The value of the state when Skylink#getConnectionStatus is retrieving the Peer connection stats.

    +The value of the state when getConnectionStatus is retrieving the Peer connection stats.

    Value 1 - The value of the state when Skylink#getConnectionStatus has retrieved the Peer connection stats successfully.

    +The value of the state when getConnectionStatus has retrieved the Peer connection stats successfully.

    Value -1 - The value of the state when Skylink#getConnectionStatus has failed retrieving the Peer connection stats.

    +The value of the state when getConnectionStatus has failed retrieving the Peer connection stats.

    Value "enquired" - The value of the state when getPeers() is retrieving the list of Peer IDs - from Rooms within the same App space from the Signaling server.

    +The value of the state when getPeers is retrieving the list of Peer IDs +from Rooms within the same App space from the Signaling server.

    Value "received" - The value of the state when getPeers() has retrieved the list of Peer IDs - from Rooms within the same App space from the Signaling server successfully.

    +The value of the state when getPeers has retrieved the list of Peer IDs +from Rooms within the same App space from the Signaling server successfully.

    Value "enter" - The value of the connection state when Peer has just entered the Room. - At this stage, PEER_JOINED - is triggered.

    +The value of the connection state when Peer has just entered the Room. +At this stage, PEER_JOINED +is triggered.

    Value "welcome" - The value of the connection state when Peer is aware that User has entered the Room. - At this stage, PEER_JOINED - is triggered and Peer connection may commence.

    +The value of the connection state when Peer is aware that User has entered the Room. +At this stage, PEER_JOINED +is triggered and Peer connection may commence.

    Value "offer" - The value of the connection state when Peer connection has set the local / remote "offer" - session description to start streaming connection.

    +The value of the connection state when Peer connection has set the local / remote "offer" +session description to start streaming connection.

    Value "answer" - The value of the connection state when Peer connection has set the local / remote "answer" - session description to establish streaming connection.

    +The value of the connection state when Peer connection has set the local / remote "answer" +session description to establish streaming connection.

    Value "answerAck" - The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is - complete.

    +The value of the connection state when Peer connection is aware that the user has received the answer and the handshake is +complete.

    Value "error" - The value of the connection state when Peer connection has failed to establish streaming connection. - This happens when there are errors that occurs in creating local "offer" / - "answer", or when setting remote / local "offer" / "answer".

    +The value of the connection state when Peer connection has failed to establish streaming connection. +This happens when there are errors that occurs in creating local "offer" / +"answer", or when setting remote / local "offer" / "answer".

    Value "checking" - The value of the state when Peer connection is checking for a suitable matching pair of - ICE candidates to establish ICE connection. - Exchanging of ICE candidates happens during candidateGenerationStateEvent.

    +The value of the state when Peer connection is checking for a suitable matching pair of +ICE candidates to establish ICE connection. +Exchanging of ICE candidates happens during CANDIDATE GENERATION STATE event.

    Value "connected" - The value of the state when Peer connection has found a suitable matching pair of - ICE candidates to establish ICE connection but is still checking for a better - suitable matching pair of ICE candidates for the best ICE connectivity. - At this state, ICE connection is already established and audio, video and - data streaming has already started.

    +The value of the state when Peer connection has found a suitable matching pair of +ICE candidates to establish ICE connection but is still checking for a better +suitable matching pair of ICE candidates for the best ICE connectivity. +At this state, ICE connection is already established and audio, video and +data streaming has already started.

    Value "completed" - The value of the state when Peer connection has found the best suitable matching pair - of ICE candidates to establish ICE connection and checking has stopped. - At this state, ICE connection is already established and audio, video and - data streaming has already started. This may happpen after CONNECTED.

    +The value of the state when Peer connection has found the best suitable matching pair +of ICE candidates to establish ICE connection and checking has stopped. +At this state, ICE connection is already established and audio, video and +data streaming has already started. This may happen after CONNECTED.

    Value "failed" - The value of the state when Peer connection ICE connection has failed.

    +The value of the state when Peer connection ICE connection has failed.

    Value "disconnected" - The value of the state when Peer connection ICE connection is disconnected. - At this state, the Peer connection may attempt to revive the ICE connection. - This may happen due to flaky network conditions.

    +The value of the state when Peer connection ICE connection is disconnected. +At this state, the Peer connection may attempt to revive the ICE connection. +This may happen due to flaky network conditions.

    Value "closed" - The value of the state when Peer connection ICE connection has closed. - This happens when Peer connection is closed and no streaming can occur at this stage.

    -
    TRICKLE_FAILED - - - - String - - - - - - - -

    Value "trickleFailed" - The value of the state when Peer connection ICE connection has failed during trickle ICE.

    +The value of the state when Peer connection ICE connection has closed. +This happens when Peer connection is closed and no streaming can occur at this stage.

    Value 4 - The value of the log level that displays console debug, - log, info, warn and error logs.

    +The value of the log level that displays console debug, +log, info, warn and error logs.

    Value 3 - The value of the log level that displays only console log, - info, warn and error logs.

    +The value of the log level that displays only console log, +info, warn and error logs.

    Value 2 - The value of the log level that displays only console info, - warn and error logs.

    +The value of the log level that displays only console info, +warn and error logs.

    Value 1 - The value of the log level that displays only console warn - and error logs.

    +The value of the log level that displays only console warn +and error logs.

    Value 0 - The value of the log level that displays only console error logs.

    +The value of the log level that displays only console error logs.

    Value -1 - The value of the log level that displays no logs.

    +The value of the log level that displays no logs.

    Value 0 - The value of the state when getUserMedia() will retrieve audio track only - when retrieving audio and video tracks failed. - This can be configured by Skylink initOptions - audioFallback option.

    +The value of the state when getUserMedia method will retrieve audio track only +when retrieving audio and video tracks failed. +This can be configured by Skylink initOptions +audioFallback option.

    Value 1 - The value of the state when getUserMedia() or shareScreen() - retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

    +The value of the state when getUserMedia or shareScreen +method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks.

    Value -1 - The value of the state when getUserMedia() failed to retrieve audio track only - after retrieving audio and video tracks failed.

    +The value of the state when getUserMedia method failed to retrieve audio track only +after retrieving audio and video tracks failed.

    Value "screen" - The value of the option to share entire screen.

    +The value of the option to share entire screen.

    Value "window" - The value of the option to share application windows.

    +The value of the option to share application windows.

    Value "tab" - The value of the option to share browser tab. - Note that this is only supported by from Chrome 52+ and Opera 39+.

    +The value of the option to share browser tab. +Note that this is only supported by from Chrome 52+ and Opera 39+.

    Value "audio" - The value of the option to share browser tab audio. - Note that this is only supported by Chrome 52+ and Opera 39+. - options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

    +The value of the option to share browser tab audio. +Note that this is only supported by Chrome 52+ and Opera 39+. +options.audio has to be enabled with TAB also requested to enable sharing of tab audio.

    Value "application" - The value of the option to share applications. - Note that this is only supported by Firefox currently.

    +The value of the option to share applications. +Note that this is only supported by Firefox currently.

    Value "browser" - The value of the option to share browser. - Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled - in about:config.

    +The value of the option to share browser. +Note that this is only supported by Firefox currently, and requires toggling the media.getUserMedia.browser.enabled +in about:config.

    Value "camera" - The value of the option to share camera. - Note that this is only supported by Firefox currently.

    +The value of the option to share camera. +Note that this is only supported by Firefox currently.

    Value "RSA" - The value of the Peer connection certificate algorithm to use RSA-1024.

    +The value of the Peer connection certificate algorithm to use RSA-1024.

    Value "ECDSA" - The value of the Peer connection certificate algorithm to use ECDSA.

    +The value of the Peer connection certificate algorithm to use ECDSA.

    Value "AUTO" - The value of the Peer connection to use the default certificate generated.

    +The value of the Peer connection to use the default certificate generated.

    Value "stable" - The value of the state when there is no session description being exchanged between Peer connection.

    +The value of the state when there is no session description being exchanged between Peer connection.

    Value "have-local-offer" - The value of the state when local "offer" session description is set. - This should transition to STABLE state after remote "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

    +The value of the state when local "offer" session description is set. +This should transition to STABLE state after remote "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

    Value "have-remote-offer" - The value of the state when remote "offer" session description is set. - This should transition to STABLE state after local "answer" - session description is set. - See HANDSHAKE_PROGRESS for a more - detailed exchanging of session description states.

    +The value of the state when remote "offer" session description is set. +This should transition to STABLE state after local "answer" +session description is set. +See HANDSHAKE_PROGRESS for a more +detailed exchanging of session description states.

    Value "closed" - The value of the state when Peer connection is closed and no session description can be exchanged and set.

    +The value of the state when Peer connection is closed and no session description can be exchanged and set.

    Value 0 - The value of the state when init() has just started.

    +The value of the state when init() has just started.

    Value 1 - The value of the state when init() is authenticating App Key provided - (and with credentials if provided as well) with the Auth server.

    +The value of the state when init() is authenticating App Key provided +(and with credentials if provided as well) with the Auth server.

    Value 2 - The value of the state when init() has successfully authenticated with the Auth server. - Room session token is generated for joining the <codRoom provided in init(). - Room session token has to be generated each time User switches to a different Room - in Skylink#joinRoom.

    +The value of the state when init() has successfully authenticated with the Auth server. +Room session token is generated for joining the <codRoom provided in init(). +Room session token has to be generated each time User switches to a different Room +in joinRoom method.

    Value -1 - The value of the state when init() has failed authenticating with the Auth server.

    +The value of the state when init() has failed authenticating with the Auth server.

    Value 4001 - The value of the failure code when provided App Key in init() does not exists. - To resolve this, check that the provided App Key exists in - the Temasys Console.

    +The value of the failure code when provided App Key in init() does not exists. +To resolve this, check that the provided App Key exists in +the Temasys Console.

    Value 4002 - The value of the failure code when "domainName" property in the App Key does not - match the accessing server IP address. - To resolve this, contact our support portal.

    +The value of the failure code when "domainName" property in the App Key does not +match the accessing server IP address. +To resolve this, contact our support portal.

    Value 4003 - The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. - To resolve this, configure the App Key CORS in - the Temasys Console.

    +The value of the failure code when "corsurl" property in the App Key does not match accessing CORS. +To resolve this, configure the App Key CORS in +the Temasys Console.

    Value 4004 - The value of the failure code when there is no CORS - present in the HTTP headers during the request to the Auth server present nor - options.credentials.credentials configuration provided in the init(). - To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

    +The value of the failure code when there is no CORS +present in the HTTP headers during the request to the Auth server present nor +options.credentials.credentials configuration provided in the init(). +To resolve this, ensure that CORS are present in the HTTP headers during the request to the Auth server.

    Value 4005 - The value of the failure code when the options.credentials.credentials configuration provided in the - init() does not match up with the options.credentials.startDateTime, - options.credentials.duration or that the "secret" used to generate - options.credentials.credentials does not match the App Key's "secret property provided. - To resolve this, check that the options.credentials.credentials is generated correctly and - that the "secret" used to generate it is from the App Key provided in the init().

    +The value of the failure code when the options.credentials.credentials configuration provided in the +init() does not match up with the options.credentials.startDateTime, +options.credentials.duration or that the "secret" used to generate +options.credentials.credentials does not match the App Key's "secret property provided. +To resolve this, check that the options.credentials.credentials is generated correctly and +that the "secret" used to generate it is from the App Key provided in the init().

    Value 4006 - The value of the failure code when the App Key provided does not belong to any existing App. - To resolve this, check that the provided App Key exists in - the Developer Console.

    +The value of the failure code when the App Key provided does not belong to any existing App. +To resolve this, check that the provided App Key exists in +the Developer Console.

    Value 4010 - The value of the failure code when provided options.credentials - does not match any scheduled meetings available for the "Persistent Room" enabled App Key provided. - See the Persistent Room article to learn more.

    Value 4020 - The value of the failure code when App Key has reached its current concurrent users limit. - To resolve this, use another App Key. To create App Keys dynamically, see the - Application REST API - docs for more information.

    +The value of the failure code when App Key has reached its current concurrent users limit. +To resolve this, use another App Key. To create App Keys dynamically, see the +Application REST API +docs for more information.

    Value 4021 - The value of the failure code when App Key retrieval of authentication token fails. - If this happens frequently, contact our support portal.

    +The value of the failure code when App Key retrieval of authentication token fails. +If this happens frequently, contact our support portal.

    Value 5005 - The value of the failure code when App Key makes request to the incorrect Auth server. - To resolve this, ensure that the roomServer is not configured. If this persists even without - roomServer configuration, contact our support portal.

    +The value of the failure code when App Key makes request to the incorrect Auth server. +To resolve this, ensure that the roomServer is not configured. If this persists even without +roomServer configuration, contact our support portal.

    Value -1 - The value of the failure code when requesting to Auth server has timed out.

    +The value of the failure code when requesting to Auth server has timed out.

    Value -2 - The value of the failure code when response from Auth server is empty or timed out.

    +The value of the failure code when response from Auth server is empty or timed out.

    Value 1 - The value of the failure code when dependency Socket.IO client is not loaded. - To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. - You may use the provided Socket.IO client CDN here.

    +The value of the failure code when dependency Socket.IO client is not loaded. +To resolve this, ensure that the Socket.IO client dependency is loaded before the Skylink SDK. +You may use the provided Socket.IO client CDN here.

    Value 2 - The value of the failure code when - XMLHttpRequest API required to make request to Auth server is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here.

    +The value of the failure code when +XMLHttpRequest API required to make request to Auth server is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here.

    Value 3 - The value of the failure code when - RTCPeerConnection API required for Peer connections is not supported. - To resolve this, display in the Web UI to ask clients to switch to the list of supported browser - as listed in here. - For plugin supported browsers, if the clients - does not have the plugin installed, there will be an installation toolbar that will prompt for installation - to support the RTCPeerConnection API.

    +The value of the failure code when +RTCPeerConnection API required for Peer connections is not supported. +To resolve this, display in the Web UI to ask clients to switch to the list of supported browser +as listed in here. +For plugin supported browsers, if the clients +does not have the plugin installed, there will be an installation toolbar that will prompt for installation +to support the RTCPeerConnection API.

    Value 4 - The value of the failure code when provided init() configuration has errors.

    +The value of the failure code when provided init() configuration has errors.

    Value 7 - The value of the failure code when dependency AdapterJS - is not loaded. - To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. - You may use the provided AdapterJS CDN here.

    +The value of the failure code when dependency AdapterJS +is not loaded. +To resolve this, ensure that the AdapterJS dependency is loaded before the Skylink dependency. +You may use the provided AdapterJS CDN here.

    Value 8 - The value of the failure code when codecs support cannot be parsed and retrieved.

    +The value of the failure code when codecs support cannot be parsed and retrieved.

    Value 0 - The value of the state when recording session has started.

    +The value of the state when recording session has started.

    Value 1 - The value of the state when recording session has stopped.
    - At this stage, the recorded videos will go through the mixin server to compile the videos.

    +The value of the state when recording session has stopped.
    +At this stage, the recorded videos will go through the mixin server to compile the videos.

    Value 2 - The value of the state when recording session mixin request has been completed.

    +The value of the state when recording session mixin request has been completed.

    Value -1 - The value of the state state when recording session has errors. - This can happen during recording session or during mixin of recording videos, - and at this stage, any current recording session or mixin is aborted.

    +The value of the state state when recording session has errors. +This can happen during recording session or during mixin of recording videos, +and at this stage, any current recording session or mixin is aborted.

    Value "require" - The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

    +The value of the RTCP mux policy to generate ICE candidates for RTP only and RTCP shares the same ICE candidates.

    Value "negotiate" - The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

    +The value of the RTCP mux policy to generate ICE candidates for both RTP and RTCP each.

    Value 0 - The value of the state when live streaming session has started.

    +The value of the state when live streaming session has started.

    Value 1 - The value of the state when live streaming session has stopped.
    - At this stage, the recorded videos will go through the mixin server to compile the videos.

    +The value of the state when live streaming session has stopped.
    +At this stage, the recorded videos will go through the mixin server to compile the videos.

    Value -1 - The value of the state state when live streaming session has errors.

    +The value of the state state when live streaming session has errors.

    Value "mcu" - The value of the server Peer type that is used for MCU connection.

    +The value of the server Peer type that is used for MCU connection.

    Value 0 - The value of the failure state when joinRoom() socket connection failed to establish with - the Signaling server at the first attempt.

    +The value of the failure state when joinRoom socket connection failed to establish with +the Signaling server at the first attempt.

    Value -1 - The value of the failure state when joinRoom() socket connection failed to establish - the Signaling server after the first attempt.

    +The value of the failure state when joinRoom socket connection failed to establish +the Signaling server after the first attempt.

    Value -2 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of the first attempt in CONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

    +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of the first attempt in CONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

    Value -3 - The value of the failure state when joinRoom() socket connection will not attempt - to reconnect after the failure of several attempts in RECONNECTION_FAILED as there - are no more ports or transports to attempt for reconnection.

    +The value of the failure state when joinRoom socket connection will not attempt +to reconnect after the failure of several attempts in RECONNECTION_FAILED as there +are no more ports or transports to attempt for reconnection.

    Value -4 - The value of the failure state when joinRoom() socket connection is attempting - to reconnect with a new port or transport after the failure of attempts in - CONNECTION_FAILED or RECONNECTED_FAILED.

    +The value of the failure state when joinRoom socket connection is attempting +to reconnect with a new port or transport after the failure of attempts in +CONNECTION_FAILED or RECONNECTED_FAILED.

    Value "nonfallback" - The value of the reconnection state when joinRoom() socket connection is at its initial state - without transitioning to any new socket port or transports yet.

    +The value of the reconnection state when joinRoom socket connection is at its initial state +without transitioning to any new socket port or transports yet.

    Value "fallbackPortNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server.

    Value "fallbackPortSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server.

    Value "fallbackLongPollingNonSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTP port using Polling transports to attempt to establish connection with Signaling server.

    Value "fallbackLongPollingSSL" - The value of the reconnection state when joinRoom() socket connection is reconnecting with - another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

    +The value of the reconnection state when joinRoom socket connection is reconnecting with +another new HTTPS port using Polling transports to attempt to establish connection with Signaling server.

    Value "warning" - The value of the state when Room session is about to end.

    +The value of the state when Room session is about to end.

    Value "reject" - The value of the state when Room session has failed to start or has ended.

    +The value of the state when Room session has failed to start or has ended.

    Value "locked" - The value of the state when Room sis locked.

    +The value of the state when Room sis locked.

    Value "oldTimeStamp" - The value of the reason code when Room session token has expired. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session token has expired. +Happens during joinRoom request. +Results with: REJECT

    Value "credentialError" - The value of the reason code when Room session token provided is invalid. - Happens during Skylink#joinRoom request.

    +The value of the reason code when Room session token provided is invalid. +Happens during joinRoom request.

    Value "duplicatedLogin" - The value of the reason code when Room session token has been used already. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session token has been used already. +Happens during joinRoom request. +Results with: REJECT

    Value "notStart" - The value of the reason code when Room session has not started. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session has not started. +Happens during joinRoom request. +Results with: REJECT

    Value "expired" - The value of the reason code when Room session has ended already. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session has ended already. +Happens during joinRoom request. +Results with: REJECT

    Value "locked" - The value of the reason code when Room is locked. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room is locked. +Happens during joinRoom request. +Results with: REJECT

    Value "fastmsg" - The value of the reason code when User is flooding socket messages to the Signaling server - that is sent too quickly within less than a second interval. - Happens after Room session has started. This can be caused by various methods like - Skylink#sendMessage, - Skylink#muteStreams, - Skylink#enableAudio, - Skylink#enableVideo, - Skylink#disableAudio, - Skylink#disableVideo, - Results with: WARNING

    +The value of the reason code when User is flooding socket messages to the Signaling server +that is sent too quickly within less than a second interval. +Happens after Room session has started. This can be caused by various methods like +sendMessage, +muteStreams +Results with: WARNING

    Value "toClose" - The value of the reason code when Room session is ending. - Happens after Room session has started. This serves as a prerequisite warning before - ROOM_CLOSED occurs. - Results with: WARNING

    +The value of the reason code when Room session is ending. +Happens after Room session has started. This serves as a prerequisite warning before +ROOM_CLOSED occurs. +Results with: WARNING

    Value "roomclose" - The value of the reason code when Room session has just ended. - Happens after Room session has started. - Results with: REJECT

    +The value of the reason code when Room session has just ended. +Happens after Room session has started. +Results with: REJECT

    Value "serverError" - The value of the reason code when Room session fails to start due to some technical errors. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session fails to start due to some technical errors. +Happens during joinRoom request. +Results with: REJECT

    Value "keyFailed" - The value of the reason code when Room session fails to start due to some technical error pertaining to - App Key initialization. - Happens during Skylink#joinRoom request. - Results with: REJECT

    +The value of the reason code when Room session fails to start due to some technical error pertaining to +App Key initialization. +Happens during joinRoom request. +Results with: REJECT

    Value "tcp" - The value of the option to configure using only TCP network transport protocol. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478?transport=tcp"]

    +The value of the option to configure using only TCP network transport protocol. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478?transport=tcp"]

    Value "udp" - The value of the option to configure using only UDP network transport protocol. - Example .urls output: ["turn:server.com?transport=udp", - "turn:server1.com:3478?transport=udp"]

    +The value of the option to configure using only UDP network transport protocol. +Example .urls output: ["turn:server.com?transport=udp", +"turn:server1.com:3478?transport=udp"]

    Value "any" - The value of the option to configure using any network transport protocols configured from the Signaling server. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server1.com:3478", "turn:server.com?transport=udp"]

    +The value of the option to configure using any network transport protocols configured from the Signaling server. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server1.com:3478", "turn:server.com?transport=udp"]

    Value "none" - The value of the option to not configure using any network transport protocols. - Example .urls output: ["turn:server.com", "turn:server1.com:3478"] - Configuring this does not mean that no protocols will be used, but - rather removing ?transport=(protocol) query option in - the TURN ICE server .urls when constructing the Peer connection.

    +The value of the option to not configure using any network transport protocols. +Example .urls output: ["turn:server.com", "turn:server1.com:3478"] +Configuring this does not mean that no protocols will be used, but +rather removing ?transport=(protocol) query option in +the TURN ICE server .urls when constructing the Peer connection.

    Value "all" - The value of the option to configure using both TCP and UDP network transport protocols. - Example .urls output: ["turn:server.com?transport=tcp", - "turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", - "turn:server1.com:3478?transport=udp"]

    +The value of the option to configure using both TCP and UDP network transport protocols. +Example .urls output: ["turn:server.com?transport=tcp", +"turn:server.com?transport=udp", "turn:server1.com:3478?transport=tcp", +"turn:server1.com:3478?transport=udp"]

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    AUTO - - - - String - - - - - - - -

    Value "auto" - The value of the option to not prefer any video codec but rather use the created - local "offer" / "answer" session description video codec preference.

    -
    VP8 - - - - String - - - - - - - -

    Value "VP8" - The value of the option to prefer the VP8 video codec.

    -
    VP9 - - - - String - - - - - - - -

    Value "VP9" - The value of the option to prefer the VP9 video codec.

    -
    H264 - - - - String - - - - - - - -

    Value "H264" - The value of the option to prefer the H264 video codec.

    -
    - - - - -
    - - - - -
    Since:
    -
    -
      -
    • - 0.5.10 -
    • -
    -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    -
    @@ -9764,7 +7921,7 @@
    Properties:

    Value { video: 3200, audio: 80 } - The value of option to prefer high definition video and audio bitrates.

    +The value of option to prefer high definition video and audio bitrates.

    @@ -9794,7 +7951,7 @@
    Properties:

    Value { video: 1200, audio: 50 } - The value of option to prefer high quality video and audio bitrates.

    +The value of option to prefer high quality video and audio bitrates.

    @@ -9824,7 +7981,7 @@
    Properties:

    Value { video: 800, audio: 30 } - The value of option to prefer standard quality video and audio bitrates.

    +The value of option to prefer standard quality video and audio bitrates.

    @@ -9854,7 +8011,7 @@
    Properties:

    Value { video: 500, audio: 20 } - The value of option to prefer low quality video and audio bitrates.

    +The value of option to prefer low quality video and audio bitrates.

    @@ -9905,7 +8062,7 @@
    Properties:
    @@ -9935,12 +8092,12 @@

    -

    - Note that currently Skylink#getUserMedia only configures +
    + Note that currently getUserMedia method only configures the maximum resolution of the Stream due to browser interopability and support.
    The list of -video resolutions sets configured in the Skylink#getUserMedia.

    +video resolutions sets configured in the getUserMedia method.
    @@ -9994,9 +8151,9 @@

    Properties:

    Value { width: 160, height: 120 } - The value of the option to configure QQVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure QQVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10026,9 +8183,9 @@
    Properties:

    Value { width: 240, height: 160 } - The value of the option to configure HQVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure HQVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10058,8 +8215,8 @@
    Properties:

    Value { width: 320, height: 240 } - The value of the option to configure QVGA resolution. - Aspect ratio: 4:3

    +The value of the option to configure QVGA resolution. +Aspect ratio: 4:3

    @@ -10089,9 +8246,9 @@
    Properties:

    Value { width: 384, height: 240 } - The value of the option to configure WQVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure WQVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10121,9 +8278,9 @@
    Properties:

    Value { width: 480, height: 320 } - The value of the option to configure HVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure HVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10153,8 +8310,8 @@
    Properties:

    Value { width: 640, height: 480 } - The value of the option to configure VGA resolution. - Aspect ratio: 4:3

    +The value of the option to configure VGA resolution. +Aspect ratio: 4:3

    @@ -10184,9 +8341,9 @@
    Properties:

    Value { width: 768, height: 480 } - The value of the option to configure WVGA resolution. - Aspect ratio: 16:10 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure WVGA resolution. +Aspect ratio: 16:10 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10216,9 +8373,9 @@
    Properties:

    Value { width: 854, height: 480 } - The value of the option to configure FWVGA resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure FWVGA resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10248,9 +8405,9 @@
    Properties:

    Value { width: 800, height: 600 } - The value of the option to configure SVGA resolution. - Aspect ratio: 4:3 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure SVGA resolution. +Aspect ratio: 4:3 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10280,9 +8437,9 @@
    Properties:

    Value { width: 960, height: 640 } - The value of the option to configure DVGA resolution. - Aspect ratio: 3:2 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure DVGA resolution. +Aspect ratio: 3:2 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10312,8 +8469,8 @@
    Properties:

    Value { width: 1024, height: 576 } - The value of the option to configure WSVGA resolution. - Aspect ratio: 16:9

    +The value of the option to configure WSVGA resolution. +Aspect ratio: 16:9

    @@ -10343,9 +8500,9 @@
    Properties:

    Value { width: 1280, height: 720 } - The value of the option to configure HD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

    +The value of the option to configure HD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

    @@ -10375,9 +8532,9 @@
    Properties:

    Value { width: 1600, height: 900 } - The value of the option to configure HDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure HDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10407,9 +8564,9 @@
    Properties:

    Value { width: 1920, height: 1080 } - The value of the option to configure FHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on device supports.

    +The value of the option to configure FHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on device supports.

    @@ -10439,9 +8596,9 @@
    Properties:

    Value { width: 2560, height: 1440 } - The value of the option to configure QHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure QHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10471,9 +8628,9 @@
    Properties:

    Value { width: 3200, height: 1800 } - The value of the option to configure WQXGAPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure WQXGAPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10503,9 +8660,9 @@
    Properties:

    Value { width: 3840, height: 2160 } - The value of the option to configure UHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure UHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10535,9 +8692,9 @@
    Properties:

    Value { width: 5120, height: 2880 } - The value of the option to configure UHDPLUS resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure UHDPLUS resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10567,9 +8724,9 @@
    Properties:

    Value { width: 7680, height: 4320 } - The value of the option to configure FUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure FUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10599,9 +8756,9 @@
    Properties:

    Value { width: 15360, height: 8640 } - The value of the option to configure QUHD resolution. - Aspect ratio: 16:9 - Note that configurating this resolution may not be supported depending on browser and device supports.

    +The value of the option to configure QUHD resolution. +Aspect ratio: 16:9 +Note that configurating this resolution may not be supported depending on browser and device supports.

    @@ -10652,7 +8809,7 @@
    Properties:
    diff --git a/publish/latest/docs/SkylinkEvents.html b/publish/latest/docs/SkylinkEvents.html index e0dde170a..af089d97a 100644 --- a/publish/latest/docs/SkylinkEvents.html +++ b/publish/latest/docs/SkylinkEvents.html @@ -76,7 +76,7 @@

    -

    Classes

    Namespaces

    +

    Classes

    Namespaces

    @@ -106,7 +106,78 @@

    @@ -117,6 +188,15 @@

    +
    Since:
    +
    +
      +
    • + 2.0 +
    • +
    +
    + @@ -206,13 +286,13 @@

    Events

    - + -

    - candidateGenerationState +

    + CANDIDATE_GENERATION_STATE

    @@ -308,7 +388,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -465,13 +545,13 @@
    Properties
    - + -

    - candidateProcessingState +

    + CANDIDATE_PROCESSING_STATE

    @@ -567,7 +647,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -953,13 +1033,13 @@
    Properties
    - + -

    - candidatesGathered +

    + CANDIDATES_GATHERED

    @@ -1055,7 +1135,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -1325,13 +1405,13 @@
    Properties
    - + -

    - channelClose +

    + CHANNEL_CLOSE

    @@ -1526,13 +1606,13 @@
    Properties
    - + -

    - channelError +

    + CHANNEL_ERROR

    @@ -1764,13 +1844,13 @@
    Properties
    - + -

    - channelMessage +

    + CHANNEL_MESSAGE

    @@ -1995,13 +2075,13 @@
    Properties
    - + -

    - channelOpen +

    + CHANNEL_OPEN

    @@ -2196,13 +2276,13 @@
    Properties
    - + -

    - channelReopen +

    + CHANNEL_REOPEN

    @@ -2390,12 +2470,12 @@
    Properties
    - + -
    Example
    +
    Example
    Example 1: Listen on channelReopen to handle successful socket reconnection if socket was disconnected
    @@ -2420,13 +2500,13 @@ 
    Example
    - + -

    - channelRetry +

    + CHANNEL_RETRY

    @@ -2679,13 +2759,13 @@
    Properties
    - + -

    - encryptSecretsUpdated +

    + DATA_CHANNEL_STATE

    @@ -2694,7 +2774,7 @@

    -

    Event triggered when encrypt secret data is updated.

    +

    Event triggered when a Datachannel connection state has changed.

    @@ -2781,7 +2861,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -2803,14 +2883,14 @@
    Properties
    - encryptSecrets + peerId - Object + String @@ -2824,7 +2904,7 @@
    Properties
    -

    The secretId and secret pair.

    +

    The peer's id

    @@ -2832,14 +2912,14 @@
    Properties
    - selectedSecretId + state - String + SkylinkConstants.DATA_CHANNEL_STATE @@ -2853,8 +2933,7 @@
    Properties
    -

    The id of the secret that is used for encryption and decryption of messages. If value is an -empty string, message will not be encrypted.

    +

    The current Datachannel connection state.

    @@ -2862,7 +2941,36 @@
    Properties
    - peerId + error + + + + + + + Error + + + + + + + + + + + + + +

    The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

    + + + + + + + + channelName @@ -2883,7 +2991,7 @@
    Properties
    -

    The Peer ID.

    +

    The Datachannel ID.

    @@ -2891,14 +2999,14 @@
    Properties
    - peerInfo + channelType - peerInfo + SkylinkConstants.DATA_CHANNEL_TYPE @@ -2912,9 +3020,150 @@
    Properties
    -

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +

    The Datachannel type.

    + + + + + + + + messageType + + + + + + + SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR + + + + + + + + + + + + + +

    The Datachannel sending Datachannel message error type. +Defined only when state payload is SEND_MESSAGE_ERROR.

    + + + + + + + + bufferAmount + + + + + + + Object + + + + + + + + + + + + + +

    The Datachannel - buffered amount information.

    + +
    Properties
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    bufferedAmount + + + + number + + + + + + + +

    The size of currently queued data to send on the Datachannel connection.

    + +
    bufferedAmountLowThreshold + + + + number + + + + + + + +

    Threshold The current buffered amount low threshold configured.

    + +
    + @@ -2966,7 +3215,7 @@
    Properties
    @@ -2999,13 +3248,13 @@
    Properties
    - + -

    - getConnectionStatusStateChange +

    + ENCRYPT_SECRETS_UPDATED

    @@ -3014,8 +3263,7 @@

    -

    Event triggered when PeerConnection.getConnectionStatus method -retrieval state changes.

    +

    Event triggered when encrypt secret data is updated.

    @@ -3069,7 +3317,7 @@

    Parameters:
    -

    Event's payload/

    +

    Event's payload.

    Properties
    @@ -3084,8 +3332,6 @@
    Properties
    Type - Attributes - @@ -3097,14 +3343,14 @@
    Properties
    - state + room - SkylinkConstants.GET_CONNECTION_STATUS_STATE + roomInfo @@ -3114,19 +3360,11 @@
    Properties
    - - - - - - - - -

    The current getConnectionStatus() retrieval state.

    +

    The current room

    @@ -3134,14 +3372,14 @@
    Properties
    - peerId + encryptSecrets - String + Object @@ -3151,19 +3389,11 @@
    Properties
    - - - - - - - - -

    The Peer ID.

    +

    The secretId and secret pair.

    @@ -3171,14 +3401,14 @@
    Properties
    - stats + selectedSecretId - statistics + String @@ -3188,21 +3418,12 @@
    Properties
    - - - <optional>
    - - - - - - - -

    The Peer connection current stats.

    +

    The id of the secret that is used for encryption and decryption of messages. If value is an +empty string, message will not be encrypted.

    @@ -3210,14 +3431,14 @@
    Properties
    - error + peerId - Error + String @@ -3227,19 +3448,42 @@
    Properties
    - - - + + + +

    The Peer ID.

    + + + + + + + + peerInfo + + + - + + peerInfo + + + + + + + + -

    The error object. Defined only when state payload is RETRIEVE_ERROR.

    +

    The Peer session information. +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -3291,7 +3535,7 @@
    Properties
    @@ -3324,13 +3568,13 @@
    Properties
    - + -

    - getPeersStateChange +

    + GET_CONNECTION_STATUS_STATE_CHANGE

    @@ -3339,7 +3583,8 @@

    -

    Event triggered when getPeers() method retrieval state changes.

    +

    Event triggered when getConnectionStatus method +retrieval state changes.

    @@ -3393,7 +3638,7 @@

    Parameters:
    -

    Event's payload

    +

    Event's payload/

    Properties
    @@ -3408,6 +3653,8 @@
    Properties
    Type + Attributes + @@ -3426,7 +3673,7 @@
    Properties
    - SkylinkConstants.GET_PEERS_STATE + SkylinkConstants.GET_CONNECTION_STATUS_STATE @@ -3436,11 +3683,19 @@
    Properties
    + + + + + + + + -

    The current getPeers() retrieval state.

    +

    The current retrieval state from getConnectionStatus method.

    @@ -3448,14 +3703,14 @@
    Properties
    - privilegePeerId + peerId - SkylinkUser.sid + String @@ -3465,11 +3720,19 @@
    Properties
    + + + + + + + + -

    The Users privileged Peer Id.

    +

    The Peer ID.

    @@ -3477,14 +3740,14 @@
    Properties
    - peerList + stats - Object + statistics @@ -3494,44 +3757,36 @@
    Properties
    - - - - -

    The list of Peer IDs Rooms within the same App space.

    - -
    Properties
    + + + <optional>
    - - - - - - - - + - + + + - + - - - + + - - + + - + + + - - -
    NameTypeDescription
    +

    The Peer connection current stats.

    + +
    #roomerror - Array + Error @@ -3541,19 +3796,19 @@
    Properties
    + - + - -

    The list of Peer IDs associated with the Room defined in #room property.

    - -
    + + +

    The error object. Defined only when state payload is RETRIEVE_ERROR.

    @@ -3605,7 +3860,7 @@
    Properties
    @@ -3638,13 +3893,13 @@
    Properties
    - + -

    - handshakeProgress +

    + GET_PEERS_STATE_CHANGE

    @@ -3653,7 +3908,7 @@

    -

    Event triggered when a Peer connection establishment state has changed.

    +

    Event triggered when getPeers method retrieval state changes.

    @@ -3707,7 +3962,7 @@

    Parameters:
    -

    Event's payload.

    +

    Event's payload

    Properties
    @@ -3722,8 +3977,6 @@
    Properties
    Type - Attributes - @@ -3742,7 +3995,7 @@
    Properties
    - SkylinkConstants.HANDSHAKE_PROGRESS + SkylinkConstants.GET_PEERS_STATE @@ -3752,19 +4005,11 @@
    Properties
    - - - - - - - - -

    The current Peer connection establishment state.

    +

    The current getPeers retrieval state.

    @@ -3772,14 +4017,14 @@
    Properties
    - peerId + privilegePeerId - String + SkylinkUser.sid @@ -3789,19 +4034,11 @@
    Properties
    - - - - - - - - -

    The Peer ID.

    +

    The Users privileged Peer Id.

    @@ -3809,14 +4046,14 @@
    Properties
    - room + peerList - SkylinkRoom + Object @@ -3826,40 +4063,44 @@
    Properties
    - - - - - - - - -

    The room.

    +

    The list of Peer IDs Rooms within the same App space.

    - - +
    Properties
    + + + + + + + + + + + + + + + + + + + - + - - + + + + +
    NameTypeDescription
    error#room - Error - - - | - - - String + Array @@ -3869,22 +4110,19 @@
    Properties
    - - <optional>
    - - - - - -
    -

    The error object. - Defined only when state is ERROR.

    +

    The list of Peer IDs associated with the Room defined in #room property.

    + +
    + @@ -3936,7 +4174,7 @@
    Properties
    @@ -3969,13 +4207,13 @@
    Properties
    - + -

    - iceConnectionState +

    + HANDSHAKE_PROGRESS

    @@ -3984,9 +4222,7 @@

    -

    Learn more about how ICE works in this - article here. -Event triggered when a Peer connection ICE connection state has changed.

    +

    Event triggered when a Peer connection establishment state has changed.

    @@ -4019,14 +4255,14 @@

    Parameters:
    - state + detail - SkylinkEvents.ICE_CONNECTION_STATE + Object @@ -4040,22 +4276,42 @@
    Parameters:
    -

    The current Peer connection ICE connection state.

    +

    Event's payload.

    - - +
    Properties
    + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + @@ -4075,6 +4376,97 @@
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    peerIdstate - String + SkylinkConstants.HANDSHAKE_PROGRESS @@ -4065,6 +4321,51 @@
    Parameters:
    + + + + + + +

    The current Peer connection establishment state.

    + +
    peerId + + + + String + + + + + + + + + + + + +
    room + + + + roomInfo + + + + + + + + + + + + + +

    The room.

    + +
    error + + + + Error + + + | + + + String + + + + + + + + + <optional>
    + + + + + +
    +

    The error object. +Defined only when state is ERROR.

    + +
    + + + + + + @@ -4113,7 +4505,7 @@
    Parameters:
    @@ -4146,13 +4538,13 @@
    Parameters:
    - + -

    - localMediaMuted +

    + ICE_CONNECTION_STATE

    @@ -4161,7 +4553,9 @@

    -

    Event triggered when muteStreams() method changes User Streams audio and video tracks muted status.

    +

    Learn more about how ICE works in this +article here. +Event triggered when a Peer connection ICE connection state has changed.

    @@ -4241,14 +4635,14 @@

    Properties
    - streamId + state - String + SkylinkConstants.ICE_CONNECTION_STATE @@ -4262,7 +4656,7 @@
    Properties
    -

    The muted Stream Id.

    +

    The current Peer connection ICE connection state.

    @@ -4270,14 +4664,14 @@
    Properties
    - isScreensharing + state - Boolean + String @@ -4291,39 +4685,119 @@
    Properties
    -

    The flag if the media muted was screensharing.

    +

    The Peer ID.

    - - - mediaStatus - + + - - - - JSON - + + + + - - - + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + + + + + + + + + + + + + - -

    The Peer streaming media status. This indicates the media status for both getUserMedia() Stream and shareScreen() Stream.

    - -
    Properties
    - + + + + + + + + + +

    + LOCAL_MEDIA_MUTED +

    +
    + + + + + +
    +

    Event triggered when muteStreams method changes User Streams audio and video tracks +muted +status.

    +
    + + + + + + + +
    Parameters:
    + @@ -4346,14 +4820,14 @@
    Properties
    - + - +
    Properties
    + + +
    audioMuteddetail - Boolean + Object @@ -4367,23 +4841,40 @@
    Properties
    -

    The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present - in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

    +

    Event's payload.

    -
    + + + + + + + + + + + + + + + + - + - -
    NameTypeDescription
    videoMutedstreamId - Boolean + String @@ -4397,156 +4888,51 @@
    Properties
    -

    The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present - in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

    +

    The muted Stream Id.

    + + + isScreensharing + + - - + + + Boolean + - - + - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - -
    - - - - - - - - - - - - - - - + - - - - - - - - -

    - loggedOnConsole -

    -
    - - - - - -
    -

    Event triggered when Skylink logs to browser's console.

    -
    - - - - - - - -
    Parameters:
    - - - - - - - - - - - - - - - - - - + + - - + - + @@ -4615,14 +5002,14 @@
    Properties
    - + - - - - - - - - - - + +
    NameTypeDescription
    +

    The flag if the media muted was screensharing.

    + +
    detailmediaStatus - Object + JSON @@ -4560,7 +4946,7 @@
    Parameters:
    -

    Event's payload.

    +

    The Peer streaming media status. This indicates the media status for both getUserMedia Stream and shareScreen Stream.

    Properties
    @@ -4586,14 +4972,14 @@
    Properties
    levelaudioMuted - JSON + Boolean @@ -4607,7 +4993,8 @@
    Properties
    -

    The log level.

    +

    The value of the audio status. If Peer mediaStatus is -1, audio is not present in the stream. If Peer mediaStatus is 1, audio is present +in the stream and active (not muted). If Peer mediaStatus is 0, audio is present in the stream and muted.

    messagevideoMuted - String + Boolean @@ -4636,36 +5023,16 @@
    Properties
    -

    The log message.

    +

    The value of the video status. If Peer mediaStatus is -1, video is not present in the stream. If Peer mediaStatus is 1, video is present +in the stream and active (not muted). If Peer mediaStatus is 0, video is present in the stream and muted.

    debugObject - - - - JSON - - - - - - -
    - -

    A JavaScript object to be logged to help with analysis.

    @@ -4717,7 +5084,7 @@
    Properties
    @@ -4750,13 +5117,13 @@
    Properties
    - + -

    - mediaAccessError +

    + MEDIA_ACCESS_ERROR

    @@ -4901,7 +5268,7 @@
    Properties
    -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    +

    The flag if event occurred during shareScreen method and not getUserMedia method.

    @@ -4930,7 +5297,7 @@
    Properties
    -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    +

    The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

    @@ -4982,7 +5349,7 @@
    Properties
    @@ -5015,13 +5382,13 @@
    Properties
    - + -

    - mediaAccessFallback +

    + MEDIA_ACCESS_FALLBACK

    @@ -5351,323 +5718,8 @@
    Properties

    The expected and received audio tracks.

    -
    Properties
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    expected - - - - Number - - - - - - - -

    The expected audio tracks.

    - -
    received - - - - Number - - - - - - - -

    The received audio tracks.

    - -
    - - - - - - - - - - - - - - - - - state - - - - - - - SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE - - - - - - - - - - - - - -

    The fallback state.

    - - - - - - - - isScreensharing - - - - - - - boolean - - - - - - - - - - - - - -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    - - - - - - - - isAudioFallback - - - - - - - boolean - - - - - - - - - - - - - -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    - - - - - - - - streamId - - - - - - - String - - - - - - - - - - - - - -

    The Stream ID. Defined only when state payload is FALLBACKED.

    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - mediaAccessRequired -

    -
    - - - - - -
    -

    Event triggered when retrieval of Stream is required to complete joinRoom() method request.

    -
    - - - - - - - -
    Parameters:
    - +
    Properties
    + @@ -5690,14 +5742,14 @@
    Parameters:
    - + - -
    detailexpected - Object + Number @@ -5711,139 +5763,96 @@
    Parameters:
    -

    Event's payload.

    +

    The expected audio tracks.

    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Source:
    -
    - -
    - - - - - - - -
    - - - - - - - - - - - - - - - + + + received + + + + + Number + - + - - - - - - -

    - mediaAccessStopped -

    -
    - + + + + -
    -

    Event triggered when Stream has stopped streaming.

    -
    + +

    The received audio tracks.

    + + + + + + + + + + + + + + + + + + + state + + + + + + SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE + -
    Parameters:
    - + - - - - - - - + + - + - + - - - + + - - + @@ -5865,7 +5875,7 @@
    Parameters:
    - + @@ -5894,7 +5904,7 @@
    Parameters:
    - + + + + + +
    NameTypeDescription
    +

    The fallback state.

    + +
    detail.isScreensharingisScreensharing - Object + boolean @@ -5857,7 +5866,8 @@
    Parameters:
    -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    +

    The flag if event occurred during shareScreen method +and not getUserMedia method.

    detail.isAudioFallbackisAudioFallback @@ -5886,7 +5896,7 @@
    Parameters:
    -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    +

    The flag if event occurred during retrieval of audio tracks only when getUserMedia method failed to retrieve both audio and video tracks.

    detail.streamIdstreamId @@ -5915,7 +5925,15 @@
    Parameters:
    -

    The Stream ID.

    +

    The Stream ID. Defined only when state payload is FALLBACKED.

    + +
    + @@ -5959,7 +5977,7 @@
    Parameters:
    @@ -5992,13 +6010,13 @@
    Parameters:
    - + -

    - mediaAccessSuccess +

    + MEDIA_ACCESS_REQUIRED

    @@ -6007,7 +6025,7 @@

    -

    Event triggered when retrieval of Stream is successful.

    +

    Event triggered when retrieval of Stream is required to complete joinRoom method request.

    @@ -6061,127 +6079,139 @@

    Parameters:
    +

    Event's payload.

    - -
    Properties
    - + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Source:
    +
    + +
    + + + + + + + +
    + + + - - - - - - - - - - - - - - - - - - - + - - - + - - - - - + + + + + + +

    + MEDIA_ACCESS_STOPPED +

    +
    - +
    +

    Event triggered when Stream has stopped streaming.

    +
    - - - - - - - - - - +
    NameTypeDescription
    stream - - - - MediaStream - - - - -

    The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

    - -
    isScreensharing - - - - Boolean - + - - - -

    The flag if event occurred during shareScreen() method and not getUserMedia() method.

    - -
    isAudioFallback - - - - Boolean - - +
    Parameters:
    + - -
    + + + + + - + - + - - + + + + + + - + @@ -6203,7 +6233,7 @@
    Properties
    - + @@ -6232,14 +6262,14 @@
    Properties
    - + - - - - -
    NameType -

    The flag if event occurred during retrieval of audio tracks only when getUserMedia() method had failed to retrieve both audio and video tracks.

    - -
    Description
    streamIddetail.isScreensharing - String + Object @@ -6195,7 +6225,7 @@
    Properties
    -

    The Stream ID.

    +

    The flag if event occurred during shareScreen method and not jgetUserMedia method.

    isVideodetail.isAudioFallback @@ -6224,7 +6254,7 @@
    Properties
    -

    The flag if the incoming stream has a video track.

    +

    The flag if event occurred during retrieval of audio tracks only when jgetUserMedia method had failed to retrieve both audio and video tracks.

    isAudiodetail.streamId - boolean + String @@ -6253,15 +6283,7 @@
    Properties
    -

    The flag if the incoming stream has an audio track.

    - -
    - +

    The Stream ID.

    @@ -6305,7 +6327,7 @@
    Properties
    @@ -6338,13 +6360,13 @@
    Properties
    - + -

    - onDataChannelStateChanged +

    + MEDIA_ACCESS_SUCCESS

    @@ -6353,7 +6375,7 @@

    -

    Event triggered when a Datachannel connection state has changed.

    +

    Event triggered when retrieval of Stream is successful.

    @@ -6407,7 +6429,7 @@

    Parameters:
    -

    Event's payload.

    +
    Properties
    @@ -6433,43 +6455,14 @@
    Properties
    - room - - - - - - - SkylinkRoom - - - - - - - - - - - - - -

    The current room

    - - - - - - - - peerId + stream - String + MediaStream @@ -6483,7 +6476,7 @@
    Properties
    -

    The peer's id

    +

    The Stream object. To attach it to an element: attachMediaStream(videoElement, stream);.

    @@ -6491,14 +6484,14 @@
    Properties
    - state + isScreensharing - SkylinkConstants.DATA_CHANNEL_STATE + Boolean @@ -6512,7 +6505,7 @@
    Properties
    -

    The current Datachannel connection state.

    +

    The flag if event occurred during shareScreen method and not getUserMedia method.

    @@ -6520,14 +6513,14 @@
    Properties
    - error + isAudioFallback - Error + Boolean @@ -6541,7 +6534,7 @@
    Properties
    -

    The error object. Defined only when state payload is ERROR or SEND_MESSAGE_ERROR.

    +

    The flag if event occurred during retrieval of audio tracks only when getUserMedia method had failed to retrieve both audio and video tracks.

    @@ -6549,7 +6542,7 @@
    Properties
    - channelName + streamId @@ -6565,133 +6558,27 @@
    Properties
    - - - - - -

    The Datachannel ID.

    - - - - - - - - channelType - - - - - - - SkylinkConstants.DATA_CHANNEL_TYPE - - - - - - - - - - - - - -

    The Datachannel type.

    - - - - - - - - messageType - - - - - - - SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR - - - - - - - - - - - - - -

    The Datachannel sending Datachannel message error type. - Defined only when state payload is SEND_MESSAGE_ERROR.

    - - - - - - - - bufferAmount - - - - - - - Object - - - - - - - - - - - - - -

    The Datachannel - buffered amount information.

    - -
    Properties
    - - - - - - - - - - - - + - + - - - + + - - + @@ -6713,14 +6600,14 @@
    Properties
    - + - - - - -
    NameTypeDescription
    +

    The Stream ID.

    + +
    bufferedAmountisVideo - number + boolean @@ -6705,7 +6592,7 @@
    Properties
    -

    The size of currently queued data to send on the Datachannel connection.

    +

    The flag if the incoming stream has a video track.

    bufferedAmountLowThresholdisAudio - number + boolean @@ -6734,15 +6621,7 @@
    Properties
    -

    Threshold The current buffered amount low threshold configured.

    - -
    - +

    The flag if the incoming stream has an audio track.

    @@ -6794,7 +6673,7 @@
    Properties
    @@ -6827,13 +6706,13 @@
    Properties
    - + -

    - onIncomingMessage +

    + ON_INCOMING_MESSAGE

    @@ -6929,7 +6808,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -7118,10 +6997,10 @@
    Properties

    The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

    +defined in Skylink#sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

    @@ -7161,7 +7040,7 @@
    Properties

    The list of Peers that the message has been sent to. - Defined only when isSelf payload value is true.

    +Defined only when isSelf payload value is true.

    @@ -7199,9 +7078,9 @@
    Properties

    The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in - Skylink#sendP2PMessage or - Skylink#sendMessage.

    +off the targetPeerId parameter being defined in +sendP2PMessage or +sendMessage.

    @@ -7239,7 +7118,7 @@
    Properties

    The flag if message is sent from - Skylink#sendP2PMessage.

    +sendP2PMessage.

    @@ -7343,8 +7222,8 @@
    Properties

    The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

    +Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

    @@ -7458,13 +7337,13 @@
    Properties
    - + -

    - onIncomingScreenStream +

    + ON_INCOMING_SCREEN_STREAM

    @@ -7473,7 +7352,7 @@

    -

    Event triggered when receving Peer Screenshare Stream.

    +

    Event triggered when receiving Peer Screenshare Stream.

    @@ -7560,7 +7439,7 @@

    Properties
    - SkylinkRoom + roomInfo @@ -7748,7 +7627,8 @@
    Properties
    -

    The flag if the incoming screenshare stream results from shareScreen() called with replaceUserMediaStream = true.

    +

    The flag if the incoming screenshare stream results from shareScreen called +with replaceUserMediaStream=true.

    @@ -7858,7 +7738,7 @@
    Properties
    @@ -7891,13 +7771,13 @@
    Properties
    - + -

    - onIncomingStream +

    + ON_INCOMING_STREAM

    @@ -7993,7 +7873,7 @@
    Properties
    - SkylinkRoom + roomInfo @@ -8353,13 +8233,13 @@
    Properties
    - + -

    - peerConnectionState +

    + PEER_CONNECTION_STATE

    @@ -8368,11 +8248,11 @@

    -

    Event triggered when a Peer connection session description exchanging state has changed. +

    Event triggered when a Peer connection session description exchanging state has changed.

    Learn more about how ICE works in this article here. -

    +

@@ -8554,7 +8434,7 @@
Properties
@@ -8587,13 +8467,13 @@
Properties
- + -

- peerJoined +

+ PEER_JOINED

@@ -8603,6 +8483,11 @@

Event triggered when a Peer joins the room.

+
PEER_JOINED event with isSelf=true indicates that the local peer has successfully joined the +room. All call actions should be done after the PEER_JOINED event is registered. +If MCU feature is enabled on the appKey, SERVER PEER JOINED is the +corresponding event. +
@@ -8689,7 +8574,7 @@

Properties
- SkylinkRoom + roomInfo @@ -8875,13 +8760,13 @@
Properties
- + -

- peerLeft +

+ PEER_LEFT

@@ -9101,7 +8986,7 @@
Properties
@@ -9134,13 +9019,13 @@
Properties
- + -

- peerUpdated +

+ PEER_UPDATED

@@ -9236,7 +9121,7 @@
Properties
- SkylinkRoom + roomInfo @@ -9337,7 +9222,7 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -9422,13 +9307,13 @@
Properties
- + -

- persistentMessageState +

+ PERSISTENT_MESSAGE_STATE

@@ -9524,7 +9409,7 @@
Properties
- SkylinkRoom + roomInfo @@ -9626,8 +9511,8 @@
Properties

The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

+Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

@@ -9712,13 +9597,13 @@
Properties
- + -

- readyStateChange +

+ READY_STATE_CHANGE

@@ -9828,7 +9713,7 @@
Properties
-

The current init() ready state.

+

The current ready state when instantiating new Skylink().

@@ -10084,13 +9969,13 @@
Properties
- + -

- recordingState +

+ RECORDING_STATE

@@ -10349,13 +10234,13 @@
Properties
- + -

- roomLock +

+ ROOM_LOCK

@@ -10523,7 +10408,7 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -10604,7 +10489,238 @@
Properties
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ ROOM_REJOIN +

+
+ + + + + +
+

Event triggered when joinRoom can be re-initiated. This event is preceded by leaveRoom initiated by the +SDK in response to peer connection changing to FAILED state.

+
+ + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
detail + + + + Object + + + + + + + +

Event's payload

+ +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
room + + + + roomInfo + + + + + + + +

The previous room

+ +
peerId + + + + String + + + + + + + +

The previous peer id

+ +
+ + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+
@@ -10637,13 +10753,13 @@
Properties
- + -

- rtmpState +

+ RTMP_STATE

@@ -10902,13 +11018,13 @@
Properties
- + -

- serverPeerJoined +

+ SERVER_PEER_JOINED

@@ -10918,6 +11034,15 @@

Event triggered when a server Peer joins the room.

+
    +
  • +
    SERVER_PEER_JOINED event indicates that the MCU has successfully joined the +
  • +
+

room. All call actions should be done after the SERVER_PEER_JOINED event is registered. +For P2P key, PEER JOINED is the +corresponding event.

+

@@ -11004,7 +11129,7 @@
Properties
- SkylinkRoom + roomInfo @@ -11128,7 +11253,7 @@
Properties
@@ -11161,13 +11286,13 @@
Properties
- + -

- serverPeerLeft +

+ SERVER_PEER_LEFT

@@ -11292,7 +11417,7 @@
Properties
- SkylinkRoom + roomInfo @@ -11387,7 +11512,7 @@
Properties
@@ -11420,13 +11545,13 @@
Properties
- + -

- sessionDisconnect +

+ SESSION_DISCONNECT

@@ -11565,7 +11690,7 @@
Properties
-

The User's Room session information. Object signature matches the peerInfo parameter payload received in thepeerJoined event.

+

The User's Room session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -11617,7 +11742,7 @@
Properties
@@ -11650,13 +11775,13 @@
Properties
- + -

- socketError +

+ SOCKET_ERROR

@@ -11950,13 +12075,13 @@
Properties
- + -

- storedMessages +

+ STORED_MESSAGES

@@ -12052,7 +12177,7 @@
Properties
- SkylinkRoom + roomInfo @@ -12143,10 +12268,10 @@
Properties

The value of the targetPeerId - defined in Skylink#sendP2PMessage or Skylink#sendMessage. - Defined as User's Peer ID when isSelf payload value is false. - Defined as null when provided targetPeerId in Skylink#sendP2PMessage or - Skylink#sendMessage is not defined.

+defined in sendP2PMessage or sendMessage. +Defined as User's Peer ID when isSelf payload value is false. +Defined as null when provided targetPeerId in sendP2PMessage or +sendMessage is not defined.

@@ -12281,8 +12406,8 @@
Properties

The flag if message is targeted or not, basing - off the targetPeerId parameter being defined in Skylink#sendP2PMessage or Skylink#sendMessage. Value will always - be false for stored messages.

+off the targetPeerId parameter being defined in sendP2PMessage or sendMessage. Value will always +be false for stored messages.

@@ -12311,7 +12436,7 @@
Properties
-

The flag if message is sent from Skylink#sendP2PMessage. Value will always be +

The flag if message is sent from sendP2PMessage. Value will always be true for stored messages.

@@ -12379,8 +12504,8 @@
Properties

The Peer session information. - Object signature matches the peerInfo parameter payload received in the - peerJoinedEvent.

+Object signature matches the peerInfo parameter payload received in the +PEER JOINED event.

@@ -12494,13 +12619,13 @@
Properties
- + -

- streamEnded +

+ STREAM_ENDED

@@ -12625,7 +12750,7 @@
Properties
- SkylinkRoom + roomInfo @@ -12668,7 +12793,8 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received +in the PEER JOINED event.

@@ -12898,13 +13024,13 @@
Properties
- + -

- streamMuted +

+ STREAM_MUTED

@@ -13043,7 +13169,7 @@
Properties
-

The Peer session information. Object signature matches the peerInfo parameter payload received in the peerJoined event.

+

The Peer session information. Object signature matches the peerInfo parameter payload received in the PEER JOINED event.

@@ -13211,7 +13337,7 @@
Properties
@@ -13244,13 +13370,13 @@
Properties
- + -

- systemAction +

+ SYSTEM_ACTION

@@ -13360,8 +13486,7 @@
Properties
-

The current Signaling server reaction state. - [Rel: Skylink.SYSTEM_ACTION]

+

The current Signaling server reaction state.

diff --git a/publish/latest/docs/SkylinkLogger.html b/publish/latest/docs/SkylinkLogger.html index 19010df6d..7a5ef8ec8 100644 --- a/publish/latest/docs/SkylinkLogger.html +++ b/publish/latest/docs/SkylinkLogger.html @@ -76,7 +76,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -170,7 +170,7 @@

@@ -479,7 +479,7 @@

Properties:
@@ -546,7 +546,7 @@

@@ -613,7 +613,7 @@

@@ -703,7 +703,7 @@

@@ -794,7 +794,7 @@

@@ -969,7 +969,7 @@

Parameters:
diff --git a/publish/latest/docs/compatibility_ice-connection.js.html b/publish/latest/docs/compatibility_ice-connection.js.html index 00a78e1af..15779152f 100644 --- a/publish/latest/docs/compatibility_ice-connection.js.html +++ b/publish/latest/docs/compatibility_ice-connection.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -93,7 +93,10 @@

-
/**
+    
import { isAgent } from '../utils/helpers';
+import { BROWSER_AGENT } from '../constants';
+
+/**
  * @description Gets TCP and UDP ports based on the browser
  * @param {Object} params
  * @param {boolean} params.forceTURNSSL
@@ -103,8 +106,7 @@ 

* @return {{tcp: Array, udp: Array, both: Array, iceServerProtocol: string}} */ const getConnectionPortsAndProtocolByBrowser = (params) => { - const { forceTURNSSL, CONSTANTS, serverConfig } = params; - const { AdapterJS } = window; + const { forceTURNSSL, serverConfig } = params; const connectionConfig = { tcp: serverConfig.iceServerPorts.tcp, udp: serverConfig.iceServerPorts.udp, @@ -113,24 +115,11 @@

iceServerPorts: serverConfig.iceServerPorts, }; - if (AdapterJS.webrtcDetectedBrowser === 'edge') { - connectionConfig.tcp = []; - connectionConfig.udp = [3478]; - connectionConfig.iceServerPorts.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else if (forceTURNSSL) { - if (AdapterJS.webrtcDetectedBrowser === 'firefox' && AdapterJS.webrtcDetectedVersion < 53) { - connectionConfig.udp = []; - connectionConfig.tcp = [443]; - connectionConfig.both = []; - connectionConfig.iceServerProtocol = CONSTANTS.TURN; - } else { - connectionConfig.iceServerPorts.udp = []; - connectionConfig.iceServerProtocol = 'turns'; - } - } else if (AdapterJS.webrtcDetectedBrowser === 'firefox') { + if (forceTURNSSL) { + connectionConfig.iceServerPorts.udp = []; + connectionConfig.iceServerProtocol = 'turns'; + } else if (isAgent(BROWSER_AGENT.FIREFOX)) { // default configs are specific to Chrome connectionConfig.udp = [3478]; - connectionConfig.tcp = [443, 80]; connectionConfig.both = []; } diff --git a/publish/latest/docs/constants.js.html b/publish/latest/docs/constants.js.html index c362e9873..f7531acd6 100644 --- a/publish/latest/docs/constants.js.html +++ b/publish/latest/docs/constants.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -97,7 +97,80 @@

/** * @namespace SkylinkConstants - * @description Constants used by SkylinkJS are described here. + * @description + * <ul> + * <li>{@link SkylinkConstants.BUNDLE_POLICY|BUNDLE_POLICY} </li> + * <li>{@link SkylinkConstants.CANDIDATE_GENERATION_STATE|CANDIDATE_GENERATION_STATE} </li> + * <li>{@link SkylinkConstants.CANDIDATE_PROCESSING_STATE|CANDIDATE_PROCESSING_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_STATE|DATA_CHANNEL_STATE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_TYPE|DATA_CHANNEL_TYPE} </li> + * <li>{@link SkylinkConstants.DATA_CHANNEL_MESSAGE_ERROR|DATA_CHANNEL_MESSAGE_ERROR} </li> + * <li>{@link SkylinkEvents|EVENTS} </li> + * <li>{@link SkylinkConstants.GET_CONNECTION_STATUS_STATE|GET_CONNECTION_STATUS_STATE} </li> + * <li>{@link SkylinkConstants.GET_PEERS_STATE|GET_PEERS_STATE} </li> + * <li>{@link SkylinkConstants.HANDSHAKE_PROGRESS|HANDSHAKE_PROGRESS} </li> + * <li>{@link SkylinkConstants.ICE_CONNECTION_STATE|ICE_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.LOG_LEVEL|LOG_LEVEL} </li> + * <li>{@link SkylinkConstants.MEDIA_ACCESS_FALLBACK_STATE|MEDIA_ACCESS_FALLBACK_STATE} </li> + * <li>{@link SkylinkConstants.MEDIA_SOURCE|MEDIA_SOURCE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATUS|MEDIA_STATUS} </li> + * <li>{@link SkylinkConstants.MEDIA_TYPE|MEDIA_TYPE} </li> + * <li>{@link SkylinkConstants.MEDIA_STATE|MEDIA_STATE} </li> + * <li>{@link SkylinkConstants.PEER_CERTIFICATE|PEER_CERTIFICATE} </li> + * <li>{@link SkylinkConstants.PEER_CONNECTION_STATE|PEER_CONNECTION_STATE} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE_ERROR|READY_STATE_CHANGE_ERROR} </li> + * <li>{@link SkylinkConstants.READY_STATE_CHANGE|READY_STATE_CHANGE} </li> + * <li>{@link SkylinkConstants.RTCP_MUX_POLICY|RTCP_MUX_POLICY} </li> + * <li>{@link SkylinkConstants.RTMP_STATE|RTMP_STATE} </li> + * <li>{@link SkylinkConstants.RECORDING_STATE|RECORDING_STATE} </li> + * <li>{@link SkylinkConstants.SDP_SEMANTICS|SDP_SEMANTICS} </li> + * <li>{@link SkylinkConstants.SERVER_PEER_TYPE|SERVER_PEER_TYPE} </li> + * <li>{@link SkylinkConstants.SOCKET_ERROR|SOCKET_ERROR} </li> + * <li>{@link SkylinkConstants.SOCKET_FALLBACK|SOCKET_FALLBACK} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION|SYSTEM_ACTION} </li> + * <li>{@link SkylinkConstants.SYSTEM_ACTION_REASON|SYSTEM_ACTION_REASON} </li> + * <li>{@link SkylinkConstants.SM_PROTOCOL_VERSION|SM_PROTOCOL_VERSION} </li> + * <li>{@link SkylinkConstants.TURN_TRANSPORT|TURN_TRANSPORT} </li> + * <li>{@link SkylinkConstants.VIDEO_RESOLUTION|VIDEO_RESOLUTION} </li> + * <li>{@link SkylinkConstants.VIDEO_QUALITY|VIDEO_QUALITY} </li> + * </ul> + */ + +/** + * // Not implemented yet + * {@link SkylinkConstants.DATA_TRANSFER_DATA_TYPE|DATA_TRANSFER_DATA_TYPE} </br> + * {@link SkylinkConstants.DT_PROTOCOL_VERSION|DT_PROTOCOL_VERSION} </br> + * {@link SkylinkConstants.DATA_TRANSFER_TYPE|DATA_TRANSFER_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_SESSION_TYPE|DATA_TRANSFER_SESSION_TYPE} </br> + * {@link SkylinkConstants.DATA_TRANSFER_STATE|DATA_TRANSFER_STATE} </br> + * {@link SkylinkConstants.DATA_STREAM_STATE|DATA_STREAM_STATE} </br> + * {@link SkylinkConstants.INTRODUCE_STATE|INTRODUCE_STATE} </br> + * {@link SkylinkConstants.REGIONAL_SERVER|REGIONAL_SERVER} </br> + * {@link SkylinkConstants.PRIORITY_WEIGHT_SCHEME|PRIORITY_WEIGHT_SCHEME} </br> + * {@link SkylinkConstants.CHUNK_FILE_SIZE|CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_CHUNK_FILE_SIZE|MOZ_CHUNK_FILE_SIZE} </br> + * {@link SkylinkConstants.BINARY_FILE_SIZE|BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.MOZ_BINARY_FILE_SIZE|MOZ_BINARY_FILE_SIZE} </br> + * {@link SkylinkConstants.CHUNK_DATAURL_SIZE|CHUNK_DATAURL_SIZE} </br> + * {@link SkylinkConstants.DC_PROTOCOL_TYPE|DC_PROTOCOL_TYPE} </br> + * // Private + * {@link SkylinkConstants.SIG_MESSAGE_TYPE|SIG_MESSAGE_TYPE} </br> + * {@link SkylinkConstants.AUTH_STATE|AUTH_STATE} </br> + * {@link SkylinkConstants.STREAM_STATUS|STREAM_STATUS} </br> + * {@link SkylinkConstants.GROUP_MESSAGE_LIST|GROUP_MESSAGE_LIST} </br> + * {@link SkylinkConstants.TAGS|TAGS} </br> + * {@link SkylinkConstants.TRACK_READY_STATE|TRACK_READY_STATE} </br> + * {@link SkylinkConstants.TRACK_KIND|TRACK_KIND} </br> + * {@link SkylinkConstants.MEDIA_INFO|MEDIA_INFO} </br> + * {@link SkylinkConstants.SDK_VERSION|SDK_VERSION} </br> + * {@link SkylinkConstants.SDK_NAME|SDK_NAME} </br> + * {@link SkylinkConstants.API_VERSION|API_VERSION} </br> + * {@link SkylinkConstants.SIGNALING_VERSION|SIGNALING_VERSION} </br> + * {@link SkylinkConstants.BROWSER_AGENT|BROWSER_AGENT} </br> + * {@link SkylinkConstants.PEER_TYPE|PEER_TYPE} </br> + * {@link SkylinkConstants.SOCKET_EVENTS|SOCKET_EVENTS} </br> + * {@link SkylinkConstants.SOCKET_TYPE|SOCKET_TYPE} </br> + * {@link SkylinkConstants.STATES|STATES} </br> */ /** @@ -118,12 +191,12 @@

* @property {String} BUFFERED_AMOUNT_LOW Value <code>"bufferedAmountLow"</code> * The value of the state when Datachannel when the amount of data buffered to be sent * falls below the Datachannel threshold. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} SEND_MESSAGE_ERROR Value <code>"sendMessageError"</code> * The value of the state when Datachannel when data transfer packets or P2P message fails to send. - * This state should occur only during after {@link Skylink#sendBlobData} or {@link Skylink#sendURLData} or - * {@link Skylink#sendP2PMessage}. + * This state should occur only during after {@link Skylink#sendBlobData|sendBlobData} or {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * @constant * @type object * @readOnly @@ -146,18 +219,19 @@

* @typedef DATA_CHANNEL_TYPE * @property {String} MESSAGING Value <code>"messaging"</code> * The value of the Datachannel type that is used only for messaging in - * {@link Skylink#sendP2PMessage}. + * {@link Skylink#sendP2PMessage|sendP2PMessage}. * However for Peers that do not support simultaneous data transfers, this Datachannel * type will be used to do data transfers (1 at a time). * Each Peer connections will only have one of this Datachannel type and the - * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:peerConnectionState|peerConnectionStateEvent} triggers parameter payload <code>state</code> as + * connection will only close when the Peer connection is closed (happens when {@link SkylinkEvents.event:PEER_CONNECTION_STATE|PEER CONNECTION + * STATE} event triggers parameter payload <code>state</code> as * <code>CLOSED</code> for Peer). - * @property {String} DATA Value <code>"data"</code> + * @property {String} DATA [UNAVAILABLE] Value <code>"data"</code> * The value of the Datachannel type that is used only for a data transfer in - * {@link Skylink#sendURLData} and - * {@link Skylink#sendBlobData}. + * {@link Skylink#sendURLData|sendURLData} and + * {@link Skylink#sendBlobData|sendBlobData}. * The connection will close after the data transfer has been completed or terminated (happens when - * {@link SkylinkEvents.event:dataTransferStatedataTransferStateEvent} triggers parameter payload + * {@link SkylinkEvents.event:DATA_TRANSFER_STATE|DATA TRANSFER STATE} triggers parameter payload * <code>state</code> as <code>DOWNLOAD_COMPLETED</code>, <code>UPLOAD_COMPLETED</code>, * <code>REJECTED</code>, <code>CANCEL</code> or <code>ERROR</code> for Peer). * @constant @@ -176,11 +250,11 @@

* @typedef DATA_CHANNEL_MESSAGE_ERROR * @property {String} MESSAGE Value <code>"message"</code> * The value of the Datachannel sending message error type when encountered during - * sending P2P message from {@link Skylink#sendP2PMessage}. + * sending P2P message from {@link Skylink#sendP2PMessage|sendP2PMessage}. * @property {String} TRANSFER Value <code>"transfer"</code> * The value of the Datachannel sending message error type when encountered during - * data transfers from {@link Skylink#sendURLData} or - * {@link Skylink#sendBlobData}. + * data transfers from {@link Skylink#sendURLData|sendURLData} or + * {@link Skylink#sendBlobData|sendBlobData}. * @constant * @type object * @readOnly @@ -198,22 +272,22 @@

* @property {String} BINARY_STRING Value <code>"binaryString"</code> * The value of data transfer data type when Blob binary data chunks encoded to Base64 encoded string are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>false</code>. * @property {String} ARRAY_BUFFER Value <code>"arrayBuffer"</code> * The value of data transfer data type when ArrayBuffer binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} BLOB Value <code>"blob"</code> * The value of data transfer data type when Blob binary data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendBlobData} when + * Used only in {@link Skylink#sendBlobData|sendBlobData} when * parameter <code>sendChunksAsBinary</code> value is <code>true</code>. * @property {String} STRING Value <code>"string"</code> * The value of data transfer data type when only string data chunks are * sent or received over the Datachannel connection for the data transfer session. - * Used only in {@link Skylink#sendURLData}. + * Used only in {@link Skylink#sendURLData|sendURLData}. * @constant * @type Object * @readOnly @@ -267,10 +341,10 @@

* @typedef DATA_TRANSFER_SESSION_TYPE * @property {String} BLOB Value <code>"blob"</code> * The value of the session type for - * {@link Skylink#sendURLData} data transfer. + * {@link Skylink#sendURLData|sendURLData} data transfer. * @property {String} DATA_URL Value <code>"dataURL"</code> * The value of the session type for - * {@link Skylink#sendBlobData} data transfer. + * {@link Skylink#sendBlobData|sendBlobData} data transfer. * @constant * @type Object * @readOnly @@ -343,6 +417,28 @@

START_ERROR: 'startError', }; +/** + * The list of auth states. + * @typedef AUTH_STATE + * @property {String} REQUEST Value <code>"request"</code> + * The value of the state when the SDK authenticates with API. + * @property {String} SUCCESS Value <code>"success"</code> + * The value of the state when the auth request is successful. + * @property {String} ERROR Value <code>"error"</code> + * The value of the state when the auth request fails. + * @constant + * @type Object + * @readOnly + * @memberOf SkylinkConstants + * @since 2.0.0 + * @ignore + */ +export const AUTH_STATE = { + REQUEST: 'request', + SUCCESS: 'success', + ERROR: 'error', +}; + /** * The list of data streaming states. * @typedef DATA_STREAM_STATE @@ -456,7 +552,7 @@

* @property {String} CHECKING Value <code>"checking"</code> * The value of the state when Peer connection is checking for a suitable matching pair of * ICE candidates to establish ICE connection. - * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|candidateGenerationStateEvent}. + * Exchanging of ICE candidates happens during {@link SkylinkEvents.event:candidateGenerationState|{@link SkylinkEvents.event:CANDIDATE_GENERATION_STATE|CANDIDATE GENERATION STATE} event}. * @property {String} CONNECTED Value <code>"connected"</code> * The value of the state when Peer connection has found a suitable matching pair of * ICE candidates to establish ICE connection but is still checking for a better @@ -467,7 +563,7 @@

* The value of the state when Peer connection has found the best suitable matching pair * of ICE candidates to establish ICE connection and checking has stopped. * At this state, ICE connection is already established and audio, video and - * data streaming has already started. This may happpen after <code>CONNECTED</code>. + * data streaming has already started. This may happen after <code>CONNECTED</code>. * @property {String} FAILED Value <code>"failed"</code> * The value of the state when Peer connection ICE connection has failed. * @property {String} DISCONNECTED Value <code>"disconnected"</code> @@ -477,8 +573,6 @@

* @property {String} CLOSED Value <code>"closed"</code> * The value of the state when Peer connection ICE connection has closed. * This happens when Peer connection is closed and no streaming can occur at this stage. - * @property {String} TRICKLE_FAILED Value <code>"trickleFailed"</code> - * The value of the state when Peer connection ICE connection has failed during trickle ICE. * @constant * @type Object * @readOnly @@ -492,7 +586,6 @@

COMPLETED: 'completed', CLOSED: 'closed', FAILED: 'failed', - TRICKLE_FAILED: 'trickleFailed', DISCONNECTED: 'disconnected', }; @@ -575,21 +668,27 @@

* @since 0.5.0 */ export const PEER_CONNECTION_STATE = { + // onsignalingstatechange STABLE: 'stable', HAVE_LOCAL_OFFER: 'have-local-offer', HAVE_REMOTE_OFFER: 'have-remote-offer', CLOSED: 'closed', + // onconnectionstatechange + CONNECTING: 'connecting', + FAILED: 'failed', + DISCONNECTED: 'disconnected', + CONNECTED: 'connected', }; /** * The list of {@link Skylink#getConnectionStatus} retrieval states. * @typedef GET_CONNECTION_STATUS_STATE * @property {number} RETRIEVING Value <code>0</code> - * The value of the state when {@link Skylink#getConnectionStatus} is retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} is retrieving the Peer connection stats. * @property {number} RETRIEVE_SUCCESS Value <code>1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has retrieved the Peer connection stats successfully. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has retrieved the Peer connection stats successfully. * @property {number} RETRIEVE_ERROR Value <code>-1</code> - * The value of the state when {@link Skylink#getConnectionStatus} has failed retrieving the Peer connection stats. + * The value of the state when {@link Skylink#getConnectionStatus|getConnectionStatus} has failed retrieving the Peer connection stats. * @constant * @type Object * @readOnly @@ -619,7 +718,6 @@

*/ export const SERVER_PEER_TYPE = { MCU: 'mcu', - // SIP: 'sip' }; /** @@ -749,13 +847,13 @@

* <a href="http://support.temasys.io/support/solutions/articles/12000012342-what-is-a-privileged-key-"> * Read more about privileged App Key feature here</a>. * </blockquote> - * The list of <a href="#method_getPeers"><code>getPeers()</code> method</a> retrieval states. + * The list of <code>{@link Skylink#getPeers|getPeers}</code> method retrieval states. * @typedef GET_PEERS_STATE * @property {String} ENQUIRED Value <code>"enquired"</code> - * The value of the state when <code>getPeers()</code> is retrieving the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> is retrieving the list of Peer IDs * from Rooms within the same App space from the Signaling server. * @property {String} RECEIVED Value <code>"received"</code> - * The value of the state when <code>getPeers()</code> has retrieved the list of Peer IDs + * The value of the state when <code>{@link Skylink#getPeers|getPeers}</code> has retrieved the list of Peer IDs * from Rooms within the same App space from the Signaling server successfully. * @readOnly * @type Object @@ -799,7 +897,7 @@

}; /** - * The list of Signaling server reaction states during {@link Skylink#joinRoom}. + * The list of Signaling server reaction states during {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION * @property {String} WARNING Value <code>"warning"</code> * The value of the state when Room session is about to end. @@ -821,41 +919,37 @@

/** * The list of Signaling server reaction states reason of action code during - * {@link Skylink#joinRoom}. + * {@link Skylink#joinRoom|joinRoom}. * @typedef SYSTEM_ACTION_REASON * @property {String} CREDENTIALS_EXPIRED Value <code>"oldTimeStamp"</code> * The value of the reason code when Room session token has expired. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} CREDENTIALS_ERROR Value <code>"credentialError"</code> * The value of the reason code when Room session token provided is invalid. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * @property {String} DUPLICATED_LOGIN Value <code>"duplicatedLogin"</code> * The value of the reason code when Room session token has been used already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_NOT_STARTED Value <code>"notStart"</code> * The value of the reason code when Room session has not started. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} EXPIRED Value <code>"expired"</code> * The value of the reason code when Room session has ended already. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} ROOM_LOCKED Value <code>"locked"</code> * The value of the reason code when Room is locked. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} FAST_MESSAGE Value <code>"fastmsg"</code> * The value of the reason code when User is flooding socket messages to the Signaling server * that is sent too quickly within less than a second interval. * Happens after Room session has started. This can be caused by various methods like - * {@link Skylink#sendMessage}, - * {@link Skylink#muteStreams}, - * {@link Skylink#enableAudio}, - * {@link Skylink#enableVideo}, - * {@link Skylink#disableAudio}, - * {@link Skylink#disableVideo}, + * {@link Skylink#sendMessage|sendMessage}, + * {@link Skylink#muteStreams|muteStreams} * Results with: <code>WARNING</code> * @property {String} ROOM_CLOSING Value <code>"toClose"</code> * The value of the reason code when Room session is ending. @@ -868,12 +962,12 @@

* Results with: <code>REJECT</code> * @property {String} SERVER_ERROR Value <code>"serverError"</code> * The value of the reason code when Room session fails to start due to some technical errors. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @property {String} KEY_ERROR Value <code>"keyFailed"</code> * The value of the reason code when Room session fails to start due to some technical error pertaining to * App Key initialization. - * Happens during {@link Skylink#joinRoom} request. + * Happens during {@link Skylink#joinRoom|joinRoom} request. * Results with: <code>REJECT</code> * @constant * @type Object @@ -907,7 +1001,7 @@

* The value of the state when <code>init()</code> has successfully authenticated with the Auth server. * Room session token is generated for joining the <codRoom</code> provided in <code>init()</code>. * Room session token has to be generated each time User switches to a different Room - * in {@link Skylink#joinRoom}. + * in {@link Skylink#joinRoom|joinRoom} method. * @property {number} ERROR Value <code>-1</code> * The value of the state when <code>init()</code> has failed authenticating with the Auth server. * @constant @@ -1045,7 +1139,7 @@

}; /** - * The list of User's priority weight schemes for {@link Skylink#joinRoom} connections. + * The list of User's priority weight schemes for {@link Skylink#joinRoom|joinRoom} connections. * @typedef PRIORITY_WEIGHT_SCHEME * @property {String} ENFORCE_OFFERER Value <code>"enforceOfferer"</code> * The value of the priority weight scheme to enforce User as the offerer. @@ -1102,24 +1196,24 @@

}; /** - * The list of {@link Skylink#joinRoom} socket connection failure states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection failure states. * @typedef SOCKET_ERROR * @property {number} CONNECTION_FAILED Value <code>0</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish with + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish with * the Signaling server at the first attempt. * @property {number} RECONNECTION_FAILED Value <code>-1</code> - * The value of the failure state when <code>joinRoom()</code> socket connection failed to establish + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection failed to establish * the Signaling server after the first attempt. * @property {number} CONNECTION_ABORTED Value <code>-2</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of the first attempt in <code>CONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ABORTED Value <code>-3</code> - * The value of the failure state when <code>joinRoom()</code> socket connection will not attempt + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection will not attempt * to reconnect after the failure of several attempts in <code>RECONNECTION_FAILED</code> as there * are no more ports or transports to attempt for reconnection. * @property {number} RECONNECTION_ATTEMPT Value <code>-4</code> - * The value of the failure state when <code>joinRoom()</code> socket connection is attempting + * The value of the failure state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is attempting * to reconnect with a new port or transport after the failure of attempts in * <code>CONNECTION_FAILED</code> or <code>RECONNECTED_FAILED</code>. * @constant @@ -1137,22 +1231,22 @@

}; /** - * The list of {@link Skylink#joinRoom} socket connection reconnection states. + * The list of {@link Skylink#joinRoom|joinRoom} socket connection reconnection states. * @typedef SOCKET_FALLBACK * @property {String} NON_FALLBACK Value <code>"nonfallback"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is at its initial state + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is at its initial state * without transitioning to any new socket port or transports yet. * @property {String} FALLBACK_PORT Value <code>"fallbackPortNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} FALLBACK_PORT_SSL Value <code>"fallbackPortSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using WebSocket transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING Value <code>"fallbackLongPollingNonSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTP port using Polling transports to attempt to establish connection with Signaling server. * @property {String} LONG_POLLING_SSL Value <code>"fallbackLongPollingSSL"</code> - * The value of the reconnection state when <code>joinRoom()</code> socket connection is reconnecting with + * The value of the reconnection state when <code>{@link Skylink#joinRoom|joinRoom} </code> socket connection is reconnecting with * another new HTTPS port using Polling transports to attempt to establish connection with Signaling server. * @constant * @type Object @@ -1171,7 +1265,7 @@

/** * <blockquote class="info"> * Note that this is used only for SDK developer purposes.<br> - * Current version: <code>0.1.4</code> + * Current version: <code>2.1.0</code> * </blockquote> * The value of the current version of the Signaling socket message protocol. * @typedef SM_PROTOCOL_VERSION @@ -1205,13 +1299,13 @@

* @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const VIDEO_CODEC = { AUTO: 'auto', VP8: 'VP8', H264: 'H264', VP9: 'VP9', - // H264UC: 'H264UC' }; /** @@ -1243,6 +1337,7 @@

* @readOnly * @memberOf SkylinkConstants * @since 0.5.10 + * @private */ export const AUDIO_CODEC = { AUTO: 'auto', @@ -1252,12 +1347,11 @@

G722: 'G722', PCMU: 'PCMU', PCMA: 'PCMA', - // SILK: 'SILK' }; /** * The list of available screensharing media sources configured in the - * {@link Skylink#shareScreen}. + * {@link Skylink#shareScreen|shareScreen}. * @typedef MEDIA_SOURCE * @property {String} SCREEN Value <code>"screen"</code> * The value of the option to share entire screen. @@ -1298,11 +1392,11 @@

/** * <blockquote class="info"> - * Note that currently {@link Skylink#getUserMedia} only configures + * Note that currently {@link Skylink#getUserMedia|getUserMedia} method only configures * the maximum resolution of the Stream due to browser interopability and support. * </blockquote> * The list of <a href="https://en.wikipedia.org/wiki/Graphics_display_resolution#Video_Graphics_Array"> - * video resolutions</a> sets configured in the {@link Skylink#getUserMedia}. + * video resolutions</a> sets configured in the {@link Skylink#getUserMedia|getUserMedia} method. * @typedef VIDEO_RESOLUTION * @property {Object} QQVGA Value <code>{ width: 160, height: 120 }</code> * The value of the option to configure QQVGA resolution. @@ -1411,19 +1505,19 @@

}; /** - * The list of {@link Skylink#getUserMedia} or - * {@link Skylink#shareScreen} Stream fallback states. + * The list of {@link Skylink#getUserMedia|getUserMedia} or + * {@link Skylink#shareScreen|shareScreen} Stream fallback states. * @typedef MEDIA_ACCESS_FALLBACK_STATE * @property {Object} FALLBACKING Value <code>0</code> - * The value of the state when <code>getUserMedia()</code> will retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method will retrieve audio track only * when retrieving audio and video tracks failed. * This can be configured by Skylink {@link initOptions} * <code>audioFallback</code> option. * @property {Object} FALLBACKED Value <code>1</code> - * The value of the state when <code>getUserMedia()</code> or <code>shareScreen()</code> - * retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> or <code>{@link Skylink#shareScreen|shareScreen}</code> + * method retrieves camera / screensharing Stream successfully but with missing originally required audio or video tracks. * @property {Object} ERROR Value <code>-1</code> - * The value of the state when <code>getUserMedia()</code> failed to retrieve audio track only + * The value of the state when <code>{@link Skylink#getUserMedia|getUserMedia}</code> method failed to retrieve audio track only * after retrieving audio and video tracks failed. * @readOnly * @constant @@ -1657,6 +1751,7 @@

MESSAGE: 'message', GET_STORED_MESSAGES: 'getStoredMessages', STORED_MESSAGES: 'storedMessages', + RESTART: 'restart', }; export const STREAM_STATUS = { @@ -1803,6 +1898,7 @@

MESSAGING: 'MESSAGING', ASYNC_MESSAGING: 'ASYNC MESSAGING', ENCRYPTED_MESSAGING: 'ENCRYPTED MESSAGING', + STATS: 'STATS', }; /** @@ -1908,7 +2004,7 @@

* @memberOf SkylinkConstants * @since 2.0 */ -export const SDK_VERSION = '2.0.0'; +export const SDK_VERSION = '2.x.x'; /** * The SDK type. @@ -2034,55 +2130,6 @@

SIGNALING: SOCKET_EVENTS, }; -/** - * @namespace SkylinkConstants.EVENTS - * @type {object} - * @property {String} ON_INCOMING_STREAM - 'onIncomingStream' - * @property {String} ON_INCOMING_SCREEN_STREAM - 'onIncomingScreenStream' - * @property {String} STREAM_ENDED - 'streamEnded' - * @property {String} PEER_UPDATED - 'peerUpdated' - * @property {String} PEER_JOINED - 'peerJoined' - * @property {String} PEER_LEFT - 'peerLeft' - * @property {String} PEER_CONNECTION_STATE - 'peerConnectionState' - * @property {String} DATA_CHANNEL_STATE - 'dataChannelState' - * @property {String} ON_INCOMING_MESSAGE - 'onIncomingMessage' - * @property {String} HANDSHAKE_PROGRESS - 'handshakeProgress' - * @property {String} SERVER_PEER_JOINED - 'serverPeerJoined' - * @property {String} SERVER_PEER_LEFT - 'serverPeerLeft' - * @property {String} CANDIDATE_PROCESSING_STATE - 'candidateProcessingState' - * @property {String} CANDIDATE_GENERATION_STATE - 'candidateGenerationState' - * @property {String} CANDIDATES_GATHERED - 'candidatesGathered' - * @property {String} ON_INCOMING_DATA - 'onIncomingData' - * @property {String} GET_PEERS_STATE_CHANGE - 'getPeersStateChange' - * @property {String} SESSION_DISCONNECT - 'sessionDisconnect' - * @property {String} STREAM_MUTED - 'streamMuted' - * @property {String} CHANNEL_OPEN - 'channelOpen' - * @property {String} CHANNEL_CLOSE - 'channelClose' - * @property {String} CHANNEL_MESSAGE - 'channelMessage' - * @property {String} CHANNEL_ERROR - 'channelError' - * @property {String} CHANNEL_RETRY - 'channelRetry' - * @property {String} SOCKET_ERROR - 'socketError' - * @property {String} SYSTEM_ACTION - 'systemAction' - * @property {String} MEDIA_ACCESS_FALLBACK - 'mediaAccessFallback' - * @property {String} MEDIA_ACCESS_REQUIRED - 'mediaAccessRequired' - * @property {String} MEDIA_ACCESS_STOPPED - 'mediaAccessStopped' - * @property {String} MEDIA_ACCESS_SUCCESS - 'mediaAccessSuccess' - * @property {String} RECORDING_STATE - 'recordingState' - * @property {String} LOCAL_MEDIA_MUTED - 'localMediaMuted' - * @property {String} MEDIA_ACCESS_ERROR - 'mediaAccessError' - * @property {String} GET_CONNECTION_STATUS_STATE_CHANGE - 'getConnectionStatusStateChange' - * @property {String} READY_STATE_CHANGE - 'readyStateChange' - * @property {String} ROOM_LOCK - 'roomLock' - * @property {String} ICE_CONNECTION_STATE - 'iceConnectionState' - * @property {String} BYE - 'bye' - * @property {String} RTMP_STATE - 'rtmpState' - * @property {String} STORED_MESSAGES - 'storedMessages' - * @property {String} ENCRYPT_SECRETS_UPDATED - 'encryptSecretsUpdated' - * @memberOf SkylinkConstants - * @constant - * @readonly - * @since 2.0 - */ export const EVENTS = SkylinkEventsConstants;

diff --git a/publish/latest/docs/features_messaging_encrypted-messaging_index.js.html b/publish/latest/docs/features_messaging_encrypted-messaging_index.js.html index 9c6394b47..c5e87f69a 100644 --- a/publish/latest/docs/features_messaging_encrypted-messaging_index.js.html +++ b/publish/latest/docs/features_messaging_encrypted-messaging_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -103,6 +103,7 @@

import SkylinkError from '../../../utils/skylinkError'; import logger from '../../../logger'; import { TAGS } from '../../../constants'; +import Room from '../../../room'; const instance = {}; /** @@ -175,7 +176,7 @@

dispatchEncryptSecretEvent() { dispatchEvent(encryptionSecretsUpdated({ - room: this.room, + room: Room.getRoomInfo(this.room.id), encryptSecrets: this.encryptSecrets, selectedSecretId: this.selectedSecretId, peerInfo: getUserInfo(this.room), diff --git a/publish/latest/docs/features_rtmp_index.js.html b/publish/latest/docs/features_rtmp_index.js.html index 4a26423d2..b073fb8ad 100644 --- a/publish/latest/docs/features_rtmp_index.js.html +++ b/publish/latest/docs/features_rtmp_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

diff --git a/publish/latest/docs/features_screen-sharing_index.js.html b/publish/latest/docs/features_screen-sharing_index.js.html index fe139382a..3aeb65d0a 100644 --- a/publish/latest/docs/features_screen-sharing_index.js.html +++ b/publish/latest/docs/features_screen-sharing_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -99,6 +99,7 @@

import logger from '../../logger'; import MESSAGES from '../../messages'; import { isEmptyObj, isAString, updateReplacedStreamInState } from '../../utils/helpers'; +import { DEFAULTS } from '../../defaults'; import screenshareHelpers from './helpers/index'; import { TAGS } from '../../constants'; @@ -212,7 +213,7 @@

startScreenCapture() { const { navigator } = window; if (navigator.mediaDevices.getDisplayMedia) { - return navigator.mediaDevices.getDisplayMedia({ video: true }) + return navigator.mediaDevices.getDisplayMedia(DEFAULTS.MEDIA_OPTIONS.SCREENSHARE) .then(stream => stream) .catch((error) => { if (error.name === 'NotAllowedError') { diff --git a/publish/latest/docs/fonts/OpenSans-Semibold-webfont.eot b/publish/latest/docs/fonts/OpenSans-Semibold-webfont.eot old mode 100644 new mode 100755 diff --git a/publish/latest/docs/fonts/OpenSans-Semibold-webfont.svg b/publish/latest/docs/fonts/OpenSans-Semibold-webfont.svg old mode 100644 new mode 100755 diff --git a/publish/latest/docs/fonts/OpenSans-Semibold-webfont.ttf b/publish/latest/docs/fonts/OpenSans-Semibold-webfont.ttf old mode 100644 new mode 100755 diff --git a/publish/latest/docs/fonts/OpenSans-Semibold-webfont.woff b/publish/latest/docs/fonts/OpenSans-Semibold-webfont.woff old mode 100644 new mode 100755 diff --git a/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.eot b/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.eot old mode 100644 new mode 100755 diff --git a/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.svg b/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.svg old mode 100644 new mode 100755 diff --git a/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf b/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf old mode 100644 new mode 100755 diff --git a/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.woff b/publish/latest/docs/fonts/OpenSans-SemiboldItalic-webfont.woff old mode 100644 new mode 100755 diff --git a/publish/latest/docs/global.html b/publish/latest/docs/global.html index 9bb0c11a0..fc0d6f4cd 100644 --- a/publish/latest/docs/global.html +++ b/publish/latest/docs/global.html @@ -76,7 +76,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -209,7 +209,7 @@

@@ -287,7 +287,7 @@

@@ -463,7 +463,7 @@

Properties

The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -499,7 +499,7 @@
Properties

The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -710,7 +710,7 @@
Properties

The total number of bytes that were retransmitted for this SSRC, only including - payload bytes. This is a subset of bytesSent.

+payload bytes. This is a subset of bytesSent.

@@ -783,7 +783,7 @@
Properties

The Peer connection sending audio streaming selected codec information. - Defined as null if local session description is not available before parsing.

+Defined as null if local session description is not available before parsing.

Properties
@@ -912,7 +912,7 @@
Properties

The Peer connection sending audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -950,8 +950,8 @@
Properties

The Peer connection sending audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

@@ -989,7 +989,7 @@
Properties

The Peer connection sending audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1027,7 +1027,7 @@
Properties

The Peer connection sending audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1072,7 +1072,7 @@
Properties

The Peer connection audio level of the media source. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1110,7 +1110,7 @@
Properties

The Peer connection sending audio total duration in seconds. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1148,7 +1148,7 @@
Properties

The Peer connection sending audio streaming echo return loss in db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1186,8 +1186,8 @@
Properties

The Peer connection sending audio streaming - echo return loss enhancement db (decibels). - Defined as null if it's not available in original raw statistics.before parsing.

+echo return loss enhancement db (decibels). +Defined as null if it's not available in original raw statistics.before parsing.

@@ -1280,7 +1280,7 @@
Properties

The Peer connection current sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -1316,7 +1316,7 @@
Properties

The Peer connection total sending audio streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -1562,7 +1562,7 @@
Properties

The Peer connection receiving audio streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

+Defined as 0 if it's not present in original raw statistics before parsing.

@@ -1636,7 +1636,7 @@
Properties

The Peer connection receiving audio total duration in seconds. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -1674,9 +1674,9 @@
Properties

The Peer connection receiving audio streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

+Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

Properties
@@ -1805,7 +1805,7 @@
Properties

The Peer connection receiving audio streaming selected codec implementation. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1843,8 +1843,8 @@
Properties

The Peer connection receiving audio streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics.before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics.before parsing, +and this is usually present in statistics.audio property.

@@ -1882,7 +1882,7 @@
Properties

The Peer connection receiving audio streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1920,7 +1920,7 @@
Properties

The Peer connection receiving audio streaming selected codec parameters. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -1965,7 +1965,7 @@
Properties

The Peer connection receiving audio streaming audio level. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -2047,13 +2047,13 @@
Properties
- + -

- codecParams :Object +

+ customSettings :Object

@@ -2062,9 +2062,7 @@

-
- Note that some of these parameters are mainly used for experimental or debugging purposes. Toggling any of - these feature may result in disruptions in connectivity.
+

The peer stream and data settings.

@@ -2104,12 +2102,18 @@

Properties:
- video + data + + Boolean + + + | + JSON @@ -2123,8 +2127,6 @@
Properties:
- <optional>
- @@ -2133,43 +2135,69 @@
Properties:
-

The video codecs parameters to configure.

- -
Properties
- +

The flag if peer has any data channel connections enabled. +If isSelf value is true, this determines if user allows +data channel connections, else if value is false, this determines if peer has any active +data channel connections (where onDataChannelStateChangedEvent +triggers state as OPEN and channelType as +MESSAGING for peer) with peer.

+ + + + - - - + - + - + | - + + JSON + - + + + + + + + + + + + + + - - - + - + @@ -2191,36 +2217,51 @@
Properties
+ + + -
NameaudioType + + + + Boolean + - - AttributesDescription + + + + +

The peer stream audio settings keyed by stream id. +When defined as false, it means there is no audio being sent from peer.

+
h264audio[streamId].stereo - JSON + Boolean @@ -2181,8 +2209,6 @@
Properties
- <optional>
-
-

The H264 video codec parameters to configure.

- -
Properties
- +

The flag if stereo band is configured +when encoding audio codec is OPUS for receiving audio data.

+
- - + - + - + - - + + + + + + + + + + - - - + - + @@ -2260,14 +2298,14 @@
Properties
- + @@ -2289,13 +2325,8 @@
Properties
@@ -2303,14 +2334,20 @@
Properties
- + @@ -2332,20 +2367,8 @@
Properties
- - - - -
Nameaudio[streamId].echoCancellationType + + + + Boolean + - - AttributesDescription + + + + +

The flag if echo cancellation is enabled for audio tracks.

+
profileLevelIdaudio[streamId].deviceId @@ -2249,10 +2290,7 @@
Properties
-

- Note that this parameter should only be used for debugging purposes only.
- The H264 video codec base16 encoded string which indicates the H264 baseline, main, or the extended profiles. - When not provided, the default browser configuration is used.

+

The peer stream audio track source id of the device used.

levelAsymmetryAllowedaudio[streamId].exactConstraints - boolean + Boolean @@ -2279,8 +2317,6 @@
Properties
- <optional>
-
-

- Note that this is an experimental parameter which may result in connectivity issues when toggled.
- The flag if streaming H264 sending video data should be encoded at a different level - from receiving video data from Peer encoding to User when Peer is the offerer. - If Peer is the offerer instead of the User, the Peer's peerInfo.config.priorityWeight will be - higher than User's peerInfo.config.priorityWeight. - When not provided, the default browser configuration is used.

+

The flag if peer stream audio track is sending exact +requested values of audio.deviceId when provided.

packetizationModevideo - number + Boolean + + + | + + + JSON @@ -2322,8 +2359,6 @@
Properties
- <optional>
-
-

- Note that this is an experimental parameter which may result in connectivity issues when enabled. It is - advisable to turn off this feature off when receiving H264 decoders do not support the packetization mode, - which may result in a blank receiving video stream.
- The flag to enable H264 video codec packetization mode, which splits video frames that are larger - for a RTP packet into RTP packet chunks. - When not provided, the default browser configuration is used.

-
- +

The peer stream video settings keyed by stream id. +When defined as false, it means there is no video being sent from peer.

@@ -2353,7 +2376,7 @@
Properties
- vp8 + video[streamId].resolution @@ -2382,7 +2405,8 @@
Properties
-

The VP8 video codec parameters to configure.

+

The peer stream video resolution. +[Rel: VIDEO_RESOLUTION]

Properties
@@ -2397,8 +2421,6 @@
Properties
Type - Attributes - @@ -2411,14 +2433,20 @@
Properties
- maxFr + width - number + Number + + + | + + + JSON @@ -2428,23 +2456,14 @@
Properties
- - - <optional>
- - - - - -

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of fps (frames per second) that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

+

The peer stream video resolution width or +video resolution width settings. +When defined as a JSON Object, it is the user set resolution width settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

@@ -2452,14 +2471,20 @@
Properties
- maxFs + height - number + Number + + + | + + + JSON @@ -2469,27 +2494,14 @@
Properties
- - - <optional>
- - - - - -

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of frame size macroblocks that the VP8 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

+

The peer stream video resolution height or +video resolution height settings. +When defined as a JSON Object, it is the user set resolution height settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

@@ -2504,12 +2516,18 @@
Properties
- vp9 + video[streamId].frameRate + + Number + + + | + JSON @@ -2533,43 +2551,25 @@
Properties
-

The VP9 video codec parameters to configure.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The peer stream video +frameRate per second (fps) or video frameRate settings. +When defined as a JSON Object, it is the user set frameRate settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

+ - - - + - + @@ -2591,11 +2589,7 @@
Properties
@@ -2603,14 +2597,14 @@
Properties
- + - -
NameTypeAttributesDescription
maxFrvideo[streamId].screenshare - number + Boolean @@ -2581,8 +2581,6 @@
Properties
- <optional>
-
-

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of fps (frames per second) that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - When not provided, the default browser configuration is used.

+

The flag if peer stream is a screensharing stream.

maxFsvideo[streamId].deviceId - number + String @@ -2632,29 +2626,45 @@
Properties
-

- Note that this parameter should only be used for debugging purposes only. Do not toggle this otherwise.
- The maximum number of frame size macroblocks that the VP9 video codec decoder is capable of - decoding when receiving encoded video data packets. - The value has to have the width and height of the frame in macroblocks less than the value of - parseInt(Math.sqrt(maxFs * 8)). E.g. If the value is 1200, it is capable of - support 640x480 frame width and height, which heights up to 1552px - (97 macroblocks value. - When not provided, the default browser configuration is used.

+

The peer stream video track source id of the device used.

+ + + video[streamId].exactConstraints + + + + + + + Boolean + + + + + + + + + + + + + - + - - - + + +

The flag if peer stream video track is sending exact +requested values of video.resolution, +video.frameRate and video.deviceId +when provided.

@@ -2662,12 +2672,18 @@
Properties
- audio + video[streamId].facingMode + + String + + + | + JSON @@ -2691,43 +2707,24 @@
Properties
-

The audio codecs parameters to configure.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The peer stream video camera facing mode. +When defined as a JSON Object, it is the user set facingMode settings with ("min" or +"max" or "ideal" or "exact" etc configurations).

+ - - - + - + @@ -2749,9 +2744,7 @@
Properties
- + @@ -2818,14 +2810,14 @@
Properties
- + @@ -2856,14 +2847,14 @@
Properties
- + + + + + +
NameTypeAttributesDescription
opusmaxBandwidth - JSON + Object @@ -2739,8 +2736,6 @@
Properties
- <optional>
-
-

- Note that this is only applicable to OPUS audio codecs with a sampling rate of 48000 Hz (hertz). -
The OPUS audio codec parameters to configure.

+

The maximum streaming bandwidth sent from peer.

Properties
@@ -2780,14 +2773,14 @@
Properties
stereoaudio - boolean + Number @@ -2809,8 +2802,7 @@
Properties
-

The flag if OPUS audio codec is able to decode or receive stereo packets. - When not provided, the default browser configuration is used.

+

The maximum audio streaming bandwidth sent from peer.

sprop-stereovideo - boolean + Number @@ -2847,8 +2839,7 @@
Properties
-

The flag if OPUS audio codec is sending stereo packets. - When not provided, the default browser configuration is used.

+

The maximum video streaming bandwidth sent from peer.

usedtxdata - boolean + Number @@ -2885,13 +2876,14 @@
Properties
-

- Note that this feature might not work depending on the browser support and implementation.
- The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

+

The maximum data streaming bandwidth sent from peer.

+
+ @@ -2899,14 +2891,14 @@
Properties
- useinbandfec + mediaStatus - boolean + Object @@ -2918,8 +2910,6 @@
Properties
- <optional>
- @@ -2928,27 +2918,41 @@
Properties
-

- Note that this parameter should only be used for debugging purposes only.
- The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

- +

The peer streaming media status.

+ +
Properties
+ + + + + + + + + + + + + + + + + - + + - + - - - - - - -
NameTypeDescription
maxplaybackrateaudioMuted - number + Boolean @@ -2958,39 +2962,14 @@
Properties
- - <optional>
- - - -
-

- Note that this parameter should only be used for debugging purposes only.
- The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

-
- - - - - - - - +

The value of the audio status. +If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present +in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. +

@@ -2998,14 +2977,14 @@
Properties
- minptime + videoMuted - number + Boolean @@ -3015,24 +2994,21 @@
Properties
- - - <optional>
- - - - - -

- Note that this parameter should only be used for debugging purposes only.
- The OPUS audio codec receiving audio data decoder minimum length of time in milleseconds should be - encapsulated in a single received encoded audio data packet. - This value must be between 3 to 120 - When not provided, the default browser configuration is used.

+

The value of the video status. +If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present +in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. +

+ + + + + + + @@ -3074,7 +3050,7 @@
Properties
@@ -3107,13 +3083,13 @@
Properties
- + -

- customSettings :Object +

+ dataChannelInfo :Object

@@ -3156,14 +3132,14 @@
Properties:
- settings + channelName - Object + String @@ -3177,47 +3153,22 @@
Properties:
-

The peer stream and data settings.

- -
Properties
- - - - - - - - - - - - - - - - +

The data channel id.

+ - - - + - + @@ -3244,20 +3190,14 @@
Properties
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
datachannelProp - Boolean - - - | - - - JSON + String @@ -3231,12 +3182,7 @@
Properties
-

The flag if peer has any data channel connections enabled. - If isSelf value is true, this determines if user allows - data channel connections, else if value is false, this determines if peer has any active - data channel connections (where onDataChannelStateChangedEvent - triggers state as OPEN and channelType as - MESSAGING for peer) with peer.

+

The data channel property.

audiochannelType - Boolean - - - | - - - JSON + String @@ -3271,47 +3211,22 @@
Properties
-

The peer stream audio settings. - When defined as false, it means there is no audio being sent from peer. - When defined as true, the settings.audio.stereo value is - considered as false and the settings.audio.exactConstraints - value is considered as false.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The data channel type.

+ - - - + - + - - @@ -3340,14 +3250,14 @@
Properties
- + - - @@ -3381,14 +3281,14 @@
Properties
- + - - @@ -3422,14 +3310,14 @@
Properties
- + - - @@ -3463,14 +3339,14 @@
Properties
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
stereocurrentTransferId - Boolean + String @@ -3321,18 +3236,13 @@
Properties
- - - - -

The flag if stereo band is configured - when encoding audio codec is OPUS for receiving audio data.

+

The data channel connection +current progressing transfer session. Defined as null when there is +currently no transfer session progressing on the data channel connection

usedtxcurrentStreamId - Boolean + String @@ -3357,23 +3267,13 @@
Properties
- - <optional>
- - - -
-

Note that this feature might not work depending on the browser support and implementation. - The flag if DTX (Discontinuous Transmission) is configured when encoding audio codec - is OPUS for sending audio data. - This might help to reduce bandwidth it reduces the bitrate during silence or background noise. - When not defined, the default browser configuration is used.

+

The data channel connection +current data streaming session id. Defined as null when there is currently +no data streaming session on the data channel connection.

useinbandfecreadyState - Boolean + String @@ -3398,23 +3298,11 @@
Properties
- - <optional>
- - - -
-

Note that this feature might not work depending on the browser support and implementation. - The flag if capability to take advantage of in-band FEC (Forward Error Correction) is - configured when encoding audio codec is OPUS for sending audio data. - This might help to reduce the harm of packet loss by encoding information about the previous packet. - When not defined, the default browser configuration is used.

+

The data channel connection readyState.

maxplaybackratebufferedAmountLow - Number + String @@ -3439,23 +3327,11 @@
Properties
- - <optional>
- - - -
-

Note that this feature might not work depending on the browser support and implementation. - The maximum output sampling rate rendered in Hertz (Hz) when encoding audio codec is - OPUS for sending audio data. - This value must be between 8000 to 48000. - When not defined, the default browser configuration is used.

+

The data channel buffered amount.

echoCancellationbufferedAmountLowThreshold - Boolean + String @@ -3480,4119 +3356,116 @@
Properties
- - - - -

The flag if echo cancellation is enabled for audio tracks.

-
optional - - - - Array - - - - - - - - - <optional>
- - - -
-

The peer stream navigator.getUserMedia() API - audio: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
-

The peer stream audio track source id of the device used.

-
exactConstraints - - - - Boolean - - - - - - - - - - - -

The flag if peer stream audio track is sending exact - requested values of settings.audio.deviceId when provided.

-
- -
video - - - - Boolean - - - | - - - JSON - - - - - - - -

The peer stream video settings. - When defined as false, it means there is no video being sent from peer. - When defined as true, the settings.video.screenshare value is - considered as false and the settings.video.exactConstraints - value is considered as false.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
resolution - - - - JSON - - - - - - - - - <optional>
- - - -
-

The peer stream video resolution. - [Rel: VIDEO_RESOLUTION]

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
width - - - - Number - - - | - - - JSON - - - - - - - -

The peer stream video resolution width or - video resolution width settings. - When defined as a JSON Object, it is the user set resolution width settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
height - - - - Number - - - | - - - JSON - - - - - - - -

The peer stream video resolution height or - video resolution height settings. - When defined as a JSON Object, it is the user set resolution height settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
- -
frameRate - - - - Number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The peer stream video - frameRate per second (fps) or video frameRate settings. - When defined as a JSON Object, it is the user set frameRate settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
screenshare - - - - Boolean - - - - - - - - - - - -

The flag if peer stream is a screensharing stream.

-
optional - - - - Array - - - - - - - - - <optional>
- - - -
-

The peer stream navigator.getUserMedia() API - video: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
-

The peer stream video track source id of the device used.

-
exactConstraints - - - - Boolean - - - - - - - - - - - -

The flag if peer stream video track is sending exact - requested values of settings.video.resolution, - settings.video.frameRate and settings.video.deviceId - when provided.

-
facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The peer stream video camera facing mode. - When defined as a JSON Object, it is the user set facingMode settings with ("min" or - "max" or "ideal" or "exact" etc configurations).

-
- -
bandwidth - - - - Object - - - - - - - -

The maximum streaming bandwidth sent from peer.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
audio - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum audio streaming bandwidth sent from peer.

-
video - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum video streaming bandwidth sent from peer.

-
data - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum data streaming bandwidth sent from peer.

-
- -
googleXBandwidth - - - - Object - - - - - - - -

Note that this feature might not work depending on the browser support and implementation, - and its properties and values are only defined for user's end and cannot be viewed - from peer's end (when isSelf value is false). - The experimental google video streaming bandwidth sent to peers.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
min - - - - Number - - - - - - - - - <optional>
- - - -
-

The minimum experimental google video streaming bandwidth sent to peers.

-
max - - - - Number - - - - - - - - - <optional>
- - - -
-

The maximum experimental google video streaming bandwidth sent to peers.

-
- -
- - - - - - - - - mediaStatus - - - - - - - Object - - - - - - - - - - - - - -

The peer streaming media status.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
audioMuted - - - - Boolean - - - - - - - -

The value of the audio status. - If peer mediaStatus is -1, audio is not present in the stream. If peer mediaStatus is 1, audio is present - in the stream and active (not muted). If peer mediaStatus is 0, audio is present in the stream and muted. -

-
videoMuted - - - - Boolean - - - - - - - -

The value of the video status. - If peer mediaStatus is -1, video is not present in the stream. If peer mediaStatus is 1, video is present - in the stream and active (not muted). If peer mediaStatus is 0, video is present in the stream and muted. -

-
- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- dataChannelInfo :Object -

-
- - - - - - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
channelName - - - - String - - - - - - - -

The data channel id.

-
channelProp - - - - String - - - - - - - -

The data channel property.

-
channelType - - - - String - - - - - - - -

The data channel type.

-
currentTransferId - - - - String - - - - - - - -

The data channel connection - current progressing transfer session. Defined as null when there is - currently no transfer session progressing on the data channel connection

-
currentStreamId - - - - String - - - - - - - -

The data channel connection - current data streaming session id. Defined as null when there is currently - no data streaming session on the data channel connection.

-
readyState - - - - String - - - - - - - -

The data channel connection readyState.

-
bufferedAmountLow - - - - String - - - - - - - -

The data channel buffered amount.

-
bufferedAmountLowThreshold - - - - String - - - - - - - -

The data channel - buffered amount threshold.

-
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- GetUserMediaOptions :Object -

-
- - - - - -
-

The camera Stream configuration options.

-
- - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
options.useExactConstraints - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

Note that by enabling this flag, exact values will be requested when retrieving camera Stream, - but it does not prevent constraints related errors. By default when not enabled, - expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related - errors, with an exception for options.video.frameRate option in Safari and IE (any plugin-enabled) browsers, - where the expected maximum value will not be requested due to the lack of support. - The flag if getUserMedia() should request for camera Stream to match exact requested values of - options.audio.deviceId and options.video.deviceId, options.video.resolution - and options.video.frameRate when provided.

-
options.audio - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - false - - -

Note that the current Edge browser implementation does not support the options.audio.optional, - options.audio.deviceId, options.audio.echoCancellation. - The audio configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
stereo - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo and - the options.codecParams.audio.opus["sprop-stereo"] - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo or options.codecParams.audio.opus["sprop-stereo"] - is configured, this overrides the options.audio.stereo setting. - The flag if OPUS audio codec stereo band should be configured for sending encoded audio data. - When not provided, the default browser configuration is used.

-
usedtx - - - - boolean - - - - - - - - - <optional>
- - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.stereo - parameter in the initOptions instead. If the - options.codecParams.audio.opus.stereo is configured, this overrides the - options.audio.stereo setting. Note that this feature might - not work depending on the browser support and implementation. - The flag if OPUS audio codec should enable DTX (Discontinuous Transmission) for sending encoded audio data. - This might help to reduce bandwidth as it reduces the bitrate during silence or background noise, and - goes hand-in-hand with the options.voiceActivityDetection flag in - joinRoom() method. - When not provided, the default browser configuration is used.

-
useinbandfec - - - - boolean - - - - - - - - - <optional>
- - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.useinbandfec - parameter in the initOptions instead. If the - options.codecParams.audio.opus.useinbandfec is configured, this overrides the - options.audio.useinbandfec setting. Note that this parameter should only be used - for debugging purposes only. - The flag if OPUS audio codec has the capability to take advantage of the in-band FEC - (Forward Error Correction) when sending encoded audio data. - This helps to reduce the harm of packet loss by encoding information about the previous packet loss. - When not provided, the default browser configuration is used.

-
maxplaybackrate - - - - number - - - - - - - - - <optional>
- - - -
- - -

Deprecation Warning! - This property has been deprecated. Configure this with the options.codecParams.audio.opus.maxplaybackrate - parameter in the initOptions instead. If the - options.codecParams.audio.opus.maxplaybackrate is configured, this overrides the - options.audio.maxplaybackrate setting. Note that this feature might - not work depending on the browser support and implementation. - Note that this parameter should only be used for debugging purposes only. - The OPUS audio codec maximum output sampling rate in Hz (hertz) that is is capable of receiving - decoded audio data, to adjust to the hardware limitations and ensure that any sending audio data - would not encode at a higher sampling rate specified by this. - This value must be between 8000 to 48000. - When not provided, the default browser configuration is used.

-
mute - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if audio tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, - but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to - true and mutes any existing - shareScreen() Stream audio tracks as well.

-
optional - - - - Array - - - - - - - - - <optional>
- - - -
- - -

This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the audio track, - use options.audio.deviceId instead. - The navigator.getUserMedia() API audio: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
- - -

Note this is currently not supported in Firefox browsers. - The audio track source ID of the device to use. - The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

-
echoCancellation - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible - feedback. It is recommended to use headphones or other microphone devices rather than the device - in-built microphones. The flag to enable echo cancellation for audio track.

-
- -
options.video - - - - boolean - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - false - - -

Note that the current Edge browser implementation does not support the options.video.optional, - options.video.deviceId, options.video.resolution and - options.video.frameRate, options.video.facingMode. - The video configuration options.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
mute - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if video tracks should be muted upon receiving them. - Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, - but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to - true and mutes any existing - shareScreen() Stream video tracks as well.

-
resolution - - - - JSON - - - - - - - - - <optional>
- - - -
- - -

The video resolution. - By default, VGA resolution option - is selected when not provided. - [Rel: Skylink.VIDEO_RESOLUTION]

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
width - - - - number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The video resolution width.

-
    -
  • When provided as a number, it is the video resolution width.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. -Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, -"min" for min video resolution width and "max" for max video resolution width. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
-
height - - - - number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
-

The video resolution height.

-
    -
  • When provided as a number, it is the video resolution height.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. -Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, -"min" for min video resolution height and "max" for max video resolution height. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
-
- -
frameRate - - - - number - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

The video - frameRate per second (fps).

-
    -
  • When provided as a number, it is the video framerate.
  • -
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. -Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, -"min" for min video framerate and "max" for max video framerate. -Note that this may result in constraints related errors depending on the browser/hardware supports.
  • -
-
optional - - - - Array - - - - - - - - - <optional>
- - - -
- - -

This property has been deprecated. "optional" constraints has been moved from specs. - Note that this may result in constraints related error when options.useExactConstraints value is - true. If you are looking to set the requested source ID of the video track, - use options.video.deviceId instead. - The navigator.getUserMedia() API video: { optional [..] } property.

-
deviceId - - - - String - - - - - - - - - <optional>
- - - -
- - -

Note this is currently not supported in Firefox browsers. - The video track source ID of the device to use. - The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices - API.

-
facingMode - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

The video camera facing mode. - The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

-
- -
callback - - - - function - - - - - - - - - <optional>
- - - -
- - -

The callback function fired when request has completed. - Function parameters signature is function (error, success) - Function request completion is determined by the - mediaAccessSuccess event triggering isScreensharing parameter - payload value as false for request success.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
error - - - - Error - - - | - - - String - - - - - - - -

The error result in request. - Defined as null when there are no errors in request - Object signature is the getUserMedia() error when retrieving camera Stream.

-
success - - - - MediaStream - - - - - - - -

The success result in request. - Defined as null when there are errors in request - Object signature is the camera Stream object.

-
- -
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

- initOptions :Object -

-
- - - - - -
-
- When provided as a string, it's configured as appKey.
-
- - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + - + - - + - -
NameTypeAttributesDefaultDescription
appKey - - - - String - - - - - - - - - - - - - -

The App Key. By default, Skylink uses HTTP CORS - authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to - use credential based authentication. See the Persistent Room article - for more information.

-
defaultRoom - - - - String - - - - - - - - - <optional>
- - - -
- - appKey - - -

The default Room to connect to when no room parameter - is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. - The Room that User will be connected to is the defaultRoom provided.

-
roomServer - - - - String - - - - - - - - - <optional>
- - - -
- - -

The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

-
enableStatsGathering - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

Configure the anonymous performance and connectivity statistic collection function. - Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. - This data does not contain any personal information or session content. - To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

-
enableDataChannel - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if Datachannel connections should be enabled.

-
- Note that for Edge browsers, this value is overriden as false due to its supports. - This is required to be enabled for Skylink#sendBlobData, Skylink#sendURLData and Skylink#sendP2PMessage. -
-
enableTURNServer - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if TURN ICE servers should - be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

-
enableSTUNServer - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if STUN ICE servers should - be used when constructing Peer connections to allow TURN connections when required.

-
forceTURN - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if Peer connections should enforce - connections over the TURN server. -

This overrides enableTURNServer value to true and - enableSTUNServer value to false, filterCandidatesType.host - value to true, filterCandidatesType.srflx value to true and - filterCandidatesType.relay value to false. - Note that currently for MCU enabled Peer connections, the filterCandidatesType - configuration is not honoured as Peers connected with MCU is similar as a forced TURN connection. The flags - will act as if the value is false and ICE candidates will never be filtered regardless of the - filterCandidatesType configuration.

-
TURNServerTransport - - - - boolean - - - - - - - - - <optional>
- - - -
- - -

- Note that configuring the protocol may not necessarily result in the desired network transports protocol - used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. - This simply configures the TURN ICE server urls <code?transport=(protocol) query option when constructing - the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. - Note that for Edge browsers, this value is overriden as UDP due to its supports. -
The option to configure the ?transport= - query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. - Skylink.TURN_TRANSPORT

-
disableVideoFecCodecs - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

- Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled, - and to prevent connectivity issues, these codecs will not be removed for MCU enabled Peer connections. -
The flag if video FEC (Forward Error Correction) - codecs like ulpfec and red should be removed in sending session descriptions. - This can be useful for debugging purposes to prevent redundancy and overheads in RTP encoding.

-
disableComfortNoiseCodec - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

- Note that this is an experimental flag and may cause disruptions in connections or connectivity issues when toggled. -
The flag if audio - Comfort Noise (CN) codec should be removed - in sending session descriptions. - This can be useful for debugging purposes to test preferred audio quality and feedback.

-
disableREMB - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

- Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled.
- The flag if video REMB feedback packets should be disabled in sending session descriptions.

-
credentials - - - - JSON - - - - - - - - - <optional>
- - - -
- - -

- Note that we strongly recommend developers to return the credentials.duration, - credentials.startDateTime and defaultRoom and generate the - credentials.credentials from a web server as secret shouldn't be exposed on client web app as - it poses a security risk itself.
- The credentials used for authenticating App Key with - credentials to retrieve the Room session token used for connection in Skylink#joinRoom. - Note that switching of Rooms is not allowed when using credentials based authentication, unless - init() is invoked again with a different set of credentials followed by invoking - the Skylink#joinRoom.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
startDateTime - - - - String - - - - - - - -

The credentials User session in Room starting DateTime - in ISO 8601 format.

-
duration - - - - number - - - - - - - -

The credentials User session in Room duration in hours.

-
credentials - - - - String - - - - - - - -

The generated credentials used to authenticate - the provided App Key with its "secret" property. -

To generate the credentials:
    -
  1. Concatenate a string that consists of the Room name you provide in the defaultRoom, - the credentials.duration and the credentials.startDateTime. - Example: var concatStr = defaultRoom + "" + duration + "" + startDateTime;
  2. -
  3. Hash the concatenated string with the App Key "secret" property using - SHA-1. - Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); - See the CryptoJS.HmacSHA1 library.
  4. -
  5. Encode the hashed string using base64 - Example: var b64Str = hash.toString(CryptoJS.enc.Base64); - See the CryptoJS.enc.Base64 library.
  6. -
  7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. - Example: var credentials = encodeURIComponent(base64String); - See encodeURIComponent() API.

-
- -
audioFallback - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when - retrieving audio and video Stream fails.

-
forceSSL - - - - boolean - - - - - - - - - <optional>
- - - -
- - true - - -

The flag if HTTPS connections should be enforced - during request to Auth server and socket connections to Signaling server - when accessing window.location.protocol value is "http:". - By default, "https:" protocol connections uses HTTPS connections.

-
audioCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

- Note that if the audio codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as OPUS due to its supports.
- The option to configure the preferred audio codec to use to encode sending audio data when available for Peer connection.

-
    -
  • When not provided, its value is AUTO. -[Rel: Skylink.AUDIO_CODEC]
  • -
- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
codec - - - - String - - - - - - - - - - - -

The audio codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.AUDIO_CODEC]

-
samplingRate - - - - number - - - - - - - - - <optional>
- - - -
-

The audio codec sampling to prefer to encode sending audio data when available.

-
channels - - - - number - - - - - - - - - <optional>
- - - -
-

The audio codec channels to prefer to encode sending audio data when available.

-
- -
videoCodec - - - - String - - - | - - - JSON - - - - - - - - - <optional>
- - - -
- - -

- Note that if the video codec is not supported, the SDK will not configure the local "offer" or - "answer" session description to prefer the codec. - Note that for Edge browsers, this value is set as H264 due to its supports.
- The option to configure the preferred video codec to use to encode sending video data when available for Peer connection.

-
    -
  • When not provided, its value is AUTO. -[Rel: Skylink.VIDEO_CODEC]
  • -
- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
NameTypeAttributesDescription
codec - - - - String - - - - - - - - - - - -

The video codec to prefer to encode sending audio data when available. - The value must not be AUTO. - [Rel: Skylink.VIDEO_CODEC]

+

The data channel +buffered amount threshold.

-
samplingRate - - - - number - - +
- -
- - <optional>
- + - -
-

The video codec sampling to prefer to encode sending video data when available.

-
- - + - - - socketTimeout - + - - - - - number - + - + + - - + +
Source:
+
+ +
+ - - - - <optional>
- + - - - + - - - - 7000 - - - + + - -

The timeout for each attempts for socket connection - with the Signaling server to indicate that connection has timed out and has failed to establish. - Note that the minimum timeout value is 5000. If less, this value will be 5000. - Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting - using Polling transports to prevent connection errors.

- - - - - - apiTimeout - - - - - - number - - - - - - - - <optional>
- - - - - - - - 4000 - - - - -

The timeout to wait for response from Auth server.

- - - - - - forceTURNSSL - - - - boolean - - + - - + + + + + + +

+ getUserMediaOptions :Object +

+
- - - - <optional>
- + - - - - - - - false - - - - -

- Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, - TURN ICE servers using port 443 will be used instead. - Note that for Edge browsers, this value is overriden as false due to its supports and - only port 3478 is used.
- The flag if TURNS protocol should be used when enableTURNServer is enabled.

- - +
+

The camera Stream configuration options.

+
- - - - filterCandidatesType - - - - - - JSON - - - - - - - - <optional>
- - - - - - - - - - -

- Note that this a debugging feature and there might be connectivity issues when toggling these flags. -
The configuration options to filter the type of ICE candidates sent and received.

- -
Properties
- +
Properties:
+ + @@ -7613,57 +3486,14 @@
Properties
- - - - - - - - - - - - - - - - - - - - - - + - + + - + @@ -7706,7 +3543,7 @@
Properties
- + - - - - - - - - - - - - - - -
Description
host - - - - boolean - - - - - - - - - <optional>
- - - -
- - false - - -

The flag if local network ICE candidates should be filtered out.

-
srflxuseExactConstraints @@ -7698,7 +3528,14 @@
Properties
-

The flag if STUN ICE candidates should be filtered out.

+

Note that by enabling this flag, exact values will be requested when retrieving camera Stream, +but it does not prevent constraints related errors. By default when not enabled, +expected mandatory maximum values (or optional values for source ID) will requested to prevent constraints related +errors, with an exception for video.frameRate option in Safari and IE (any plugin-enabled) browsers, +where the expected maximum value will not be requested due to the lack of support. +The flag if getUserMedia() should request for camera Stream to match exact requested values of +audio.deviceId and video.deviceId, video.resolution +and video.frameRate when provided.

relayaudio @@ -7716,52 +3553,8 @@
Properties
boolean - - - - -
- - <optional>
- - - -
- - false - - -

The flag if TURN ICE candidates should be filtered out.

-
- - - - - - - - - throttleIntervals - + | - - - JSON @@ -7785,11 +3578,13 @@
Properties
+ false + -

The configuration options to configure the throttling method timeouts.

+

The audio configuration options.

Properties
@@ -7820,14 +3615,14 @@
Properties
- shareScreen + mute - number + boolean @@ -7849,14 +3644,16 @@
Properties
- 10000 + false -

The interval timeout for - Skylink#shareScreen throttling in milliseconds.

+

The flag if audio tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.audioMuted, +but when provided as true, this sets the peerInfo.mediaStatus.audioMuted value to +true and mutes any existing screen share audio tracks as well.

@@ -7864,14 +3661,14 @@
Properties
- getUserMedia + deviceId - number + String @@ -7893,14 +3690,15 @@
Properties
- 0 - -

The interval timeout for - Skylink#getUserMedia throttling in milliseconds.

+

Note this is currently not supported in Firefox browsers. +The audio track source ID of the device to use. +The list of available audio source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

@@ -7908,14 +3706,14 @@
Properties
- refreshConnection + echoCancellation - number + boolean @@ -7937,15 +3735,15 @@
Properties
- 5000 + true -

-
The interval timeout for Skylink#refreshConnection throttling in milliseconds. - Note that there will be no throttling when Skylink#refreshConnection is called internally.

+

For Chrome/Opera/IE/Safari/Bowser, the echo cancellation functionality may not work and may produce a terrible +feedback. It is recommended to use headphones or other microphone devices rather than the device +in-built microphones. The flag to enable echo cancellation for audio track.

@@ -7960,7 +3758,7 @@
Properties
- throttleShouldThrowError + video @@ -7970,54 +3768,10 @@
Properties
boolean - - - - - - - - - - <optional>
- - - - - - - - - - false - - - - - -

The flag if throttled methods should throw errors when - method is invoked less than the interval timeout value configured in throttleIntervals.

- - - - - - - - iceServer - - - - - - - String - - | - Array + JSON @@ -8039,15 +3793,13 @@
Properties
+ false + -

The ICE servers for debugging purposes to use.

-
    -
  • When defined as string, the value is considered as [iceServer]. -Note that this is a debugging feature and is only used when instructed for debugging purposes.
  • -
+

The video configuration options.

Properties
@@ -8066,6 +3818,8 @@
Properties
+ Default + Description @@ -8076,14 +3830,14 @@
Properties
- #index + mute - String + boolean @@ -8103,16 +3857,18 @@
Properties
- - -

The ICE server url for debugging purposes to use.

+ + + false + - - - - - + + +

The flag if video tracks should be muted upon receiving them. +Providing the value as false does nothing to peerInfo.mediaStatus.videoMuted, +but when provided as true, this sets the peerInfo.mediaStatus.videoMuted value to +true and mutes any existing screen share video tracks as well.

@@ -8120,18 +3876,12 @@
Properties
- socketServer + resolution - - String - - - | - JSON @@ -8159,11 +3909,10 @@
Properties
-

The Signaling server for debugging purposes to use.

-
    -
  • When defined as string, the value is considered as { url: socketServer }. -Note that this is a debugging feature and is only used when instructed for debugging purposes.
  • -
+

The video resolution. +By default, VGA resolution option +is selected when not provided. +[Rel: Skylink.VIDEO_RESOLUTION]

Properties
@@ -8192,14 +3941,20 @@
Properties
- url + width - String + number + + + | + + + JSON @@ -8211,6 +3966,8 @@
Properties
+ <optional>
+ @@ -8219,7 +3976,14 @@
Properties
-

The Signaling server URL for debugging purposes to use.

+

The video resolution width.

+
    +
  • When provided as a number, it is the video resolution width.
  • +
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .width settings. +Parameters are "ideal" for ideal resolution width, "exact" for exact video resolution width, +"min" for min video resolution width and "max" for max video resolution width. +Note that this may result in constraints related errors depending on the browser/hardware supports.
  • +
@@ -8227,14 +3991,20 @@
Properties
- ports + height - Array + number + + + | + + + JSON @@ -8256,42 +4026,91 @@
Properties
-

The list of Signaling server ports for debugging purposes to use. - If not defined, it will use the default list of ports specified.

- -
Properties
- +

The video resolution height.

+
    +
  • When provided as a number, it is the video resolution height.
  • +
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .height settings. +Parameters are "ideal" for ideal video resolution height, "exact" for exact video resolution height, +"min" for min video resolution height and "max" for max video resolution height. +Note that this may result in constraints related errors depending on the browser/hardware supports.
  • +
+ + + + + + + + + + + - - - + - + + + + + + + + + + + + + + + + - - - + - + + - - - - - -
NameframeRateType + + + + number + - + | - + + JSON + - Description + + <optional>
+ + + +
+ + +

The video +frameRate per second (fps).

+
    +
  • When provided as a number, it is the video framerate.
  • +
  • When provided as a JSON, it is the navigator.mediaDevices.getUserMedia() .frameRate settings. +Parameters are "ideal" for ideal video framerate, "exact" for exact video framerate, +"min" for min video framerate and "max" for max video framerate. +Note that this may result in constraints related errors depending on the browser/hardware supports.
  • +
+
#indexdeviceId - number + String @@ -8301,18 +4120,27 @@
Properties
+ + <optional>
+ + +
-

The Signaling server port to fallback and use for debugging purposes.

+ +
+
+ + +

Note this is currently not supported in Firefox browsers. +The video track source ID of the device to use. +The list of available video source ID can be retrieved by the navigator.mediaDevices.enumerateDevices +API.

@@ -8320,7 +4148,7 @@
Properties
- protocol + facingMode @@ -8330,6 +4158,12 @@
Properties
String + | + + + JSON + + @@ -8347,10 +4181,15 @@
Properties
+ + + + -

The Signaling server protocol for debugging purposes to use. - If not defined, it will use the default protocol specified.

+

The video camera facing mode. +The list of available video source ID can be retrieved by the MediaTrackConstraints facingMode API.

@@ -8365,14 +4204,14 @@
Properties
- codecParams + callback - codecParams + function @@ -8398,22 +4237,51 @@
Properties
-

The audio and video codecs parameters to configure.

- +

The callback function fired when request has completed. +Function parameters signature is function (error, success) +Function request completion is determined by the +mediaAccessSuccess event triggering isScreensharing parameter +payload value as false for request success.

+ +
Properties
+ + + + + + + + + + + + + + + + + - + + - + - - - - @@ -8449,14 +4305,14 @@
Properties
- + - - - - + + + + +
NameTypeDescription
beSilentOnStatsLogserror - boolean + Error + + + | + + + String @@ -8423,25 +4291,13 @@
Properties
- - <optional>
- - - -
- - false - - -

The flag if error logs triggered by the statistics module should be silent.

+

The error result in request. +Defined as null when there are no errors in request +Object signature is the getUserMedia() error when retrieving camera Stream.

beSilentOnParseLogssuccess - boolean + MediaStream @@ -8466,25 +4322,20 @@
Properties
- - <optional>
- - -
- - false - + +

The success result in request. +Defined as null when there are errors in request +Object signature is the camera Stream object.

- -

The flag if media and codec parsing logs should be silent.

@@ -8526,7 +4377,7 @@
Properties
@@ -8559,13 +4410,13 @@
Properties
- + -

- joinRoomOptions :Object +

+ initOptions :Object

@@ -8574,7 +4425,8 @@

-

The Room session configuration options.

+
+ When provided as a string, it's configured as appKey.
@@ -8607,23 +4459,152 @@

Properties:
Default - Description + Description + + + + + + + + + appKey + + + + + + + String + + + + + + + + + + + + + + + + + + + + + + + +

The App Key. By default, Skylink uses HTTP CORS +authentication. For credentials based authentication, see the credentials configuration below. You can find out more details on the various authentication methods from the article here. If you are using the Persistent Room feature for scheduled meetings, you will be required to +use credential based authentication. See the Persistent Room article + for more information.

+ + + + + + + + defaultRoom + + + + + + + String + + + + + + + + + + + + <optional>
+ + + + + + + + + + appKey + + + + + +

The default Room to connect to when no room parameter +is provided in Skylink#joinRoom method. When not provided or is provided as an empty string, its value is appKey. Note that switching Rooms is not available when using credentials based authentication. +The Room that User will be connected to is the defaultRoom provided.

+ + + + + + + + roomServer + + + + + + + String + + + + + + + + + + + + <optional>
+ + + + + + + + + + + + + +

The Auth server for debugging purposes to use. Note that this is a debugging feature and is only used when instructed for debugging purposes.

+ - - - + - roomName + enableStatsGathering - String + boolean @@ -8645,14 +4626,16 @@
Properties:
+ true + -

The Room name. When not provided or is provided as an empty string, its value is the defaultRoom - provided in the initOptions. - Note that if you are using credentials based authentication, you cannot switch the Room - that is not the same as the defaultRoom defined in initOptions.

+

Configure the anonymous performance and connectivity statistic collection function. +Temasys collects encrypted, anonymous performance and connectivity statistics to allow us to improve performance for our customers and identify regional or ISP specific connectivity issues. +This data does not contain any personal information or session content. +To enable the configuration of this option, you need to "Collect Quality Statistics" option on the Temasys console Website under App key settings section.

@@ -8660,20 +4643,14 @@
Properties:
- userData + enableDataChannel - JSON - - - | - - - String + boolean @@ -8695,13 +4672,13 @@
Properties:
+ true + -

The User custom data. - This can be set after Room session has started using the - Skylink#setUserData.

+

The flag if Datachannel connections should be enabled.

@@ -8709,7 +4686,7 @@
Properties:
- useExactConstraints + enableTURNServer @@ -8738,13 +4715,14 @@
Properties:
+ true + -

The Skylink#getUserMedia useExactConstraints parameter settings. - See the useExactConstraints parameter in the - Skylink#getUserMedia for more information.

+

The flag if TURN ICE servers should +be used when constructing Peer connections to allow TURN connections when required and enabled for the App Key.

@@ -8752,7 +4730,7 @@
Properties:
- audio + enableSTUNServer @@ -8762,12 +4740,6 @@
Properties:
boolean - | - - - JSON - - @@ -8787,15 +4759,14 @@
Properties:
+ true + -

The Skylink#getUserMedia audio parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - video is not defined, it will be defined as false. - Object signature matches the audio parameter in the - Skylink#getUserMedia.

+

The flag if STUN ICE servers should +be used when constructing Peer connections to allow TURN connections when required.

@@ -8803,7 +4774,7 @@
Properties:
- video + forceTURN @@ -8813,12 +4784,6 @@
Properties:
boolean - | - - - JSON - - @@ -8838,15 +4803,16 @@
Properties:
+ false + -

The Skylink#getUserMedia video parameter settings. - When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If - audio is not defined, it will be defined as false. - Object signature matches the video parameter in the - Skylink#getUserMedia.

+

The flag if Peer connections should enforce +connections over the TURN server.

+
This overrides enableTURNServer value to true and + enableSTUNServer value to false. @@ -8854,7 +4820,7 @@
Properties:
- voiceActivityDetection + TURNServerTransport @@ -8883,23 +4849,18 @@
Properties:
- true - -

The flag if voice activity detection should be enabled. - This can only be toggled if User is and for the offerer, which is determined if User's - peerInfo.config.priorityWeight is higher than Peer's. -

- This works hand-in-hand with the disableComfortNoiseCodec flag in the - initOptions and the audio.usedtx setting in - Skylink#getUserMedia. VAD (voice activity detection) - detects if there is an active voice in the Stream, and if there is no active voice in the Stream, the - audio.usedtx (if enabled) would prevent sending these empty bits. To prevent huge differences - when there is a silence and an active voice later, the CN codec would produce an empty voice to - make it sound better.

+
+ Note that configuring the protocol may not necessarily result in the desired network transports protocol + used in the actual TURN network traffic as it depends which protocol the browser selects and connects with. + This simply configures the TURN ICE server urls query option when constructing + the Peer connection. When all protocols are selected, the ICE servers urls are duplicated with all protocols. +
The option to configure the ?transport= + query parameter in TURN ICE servers when constructing a Peer connections. When not provided, its value is ANY. + Skylink.TURN_TRANSPORT @@ -8907,7 +4868,7 @@
Properties:
- bandwidth + credentials @@ -8940,11 +4901,16 @@
Properties:
-

Note that this is currently not supported - with Firefox browsers versions 48 and below as noted in an existing - bugzilla ticket here.
- The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured - constant VIDEO_QUALITY for recommended values.

+
+ Note that we strongly recommend developers to return the credentials.duration, + credentials.startDateTime and defaultRoom and generate the + credentials.credentials from a web server as secret shouldn't be exposed on client web app as + it poses a security risk itself.
+ The credentials used for authenticating App Key with + credentials to retrieve the Room session token used for connection in Skylink#joinRoom. + Note that switching of Rooms is not allowed when using credentials based authentication, unless + init() is invoked again with a different set of credentials followed by invoking + the Skylink#joinRoom.
Properties
@@ -8959,8 +4925,6 @@
Properties
Type - Attributes - @@ -8973,14 +4937,14 @@
Properties
- audio + startDateTime - number + String @@ -8990,21 +4954,12 @@
Properties
- - - <optional>
- - - - - -

The maximum audio streaming bandwidth sent to Peers in kbps. - Recommended values are 50 to 200. 50 is sufficient enough for - an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

+

The credentials User session in Room starting DateTime +in ISO 8601 format.

@@ -9012,7 +4967,7 @@
Properties
- video + duration @@ -9029,22 +4984,11 @@
Properties
- - - <optional>
- - - - - -

The maximum video streaming bandwidth sent to Peers. - Recommended values are 256-500 for 180p quality, - 500-1024 for 360p quality, 1024-2048 for 720p quality - and 2048-4096 for 1080p quality.

+

The credentials User session in Room duration in hours.

@@ -9052,14 +4996,14 @@
Properties
- data + credentials - number + String @@ -9069,21 +5013,27 @@
Properties
- - - <optional>
- - - - - -

The maximum data streaming bandwidth sent to Peers. - This affects the P2P messaging in Skylink#sendP2PMessage, - and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

+

The generated credentials used to authenticate +the provided App Key with its "secret" property.

+
To generate the credentials:
    +
  1. Concatenate a string that consists of the Room name you provide in the defaultRoom, + the credentials.duration and the credentials.startDateTime. + Example: var concatStr = defaultRoom + "_" + duration + "_" + startDateTime;
  2. +
  3. Hash the concatenated string with the App Key "secret" property using + SHA-1. + Example: var hash = CryptoJS.HmacSHA1(concatStr, appKeySecret); + See the CryptoJS.HmacSHA1 library.
  4. +
  5. Encode the hashed string using base64 + Example: var b64Str = hash.toString(CryptoJS.enc.Base64); + See the CryptoJS.enc.Base64 library.
  6. +
  7. Encode the base64 encoded string to replace special characters using UTF-8 encoding. + Example: var credentials = encodeURIComponent(base64String); + See encodeURIComponent() API.
@@ -9098,14 +5048,14 @@
Properties
- googleXBandwidth + audioFallback - JSON + boolean @@ -9127,51 +5077,29 @@
Properties
+ false + -

Note that this is an experimental configuration - and may cause disruptions in connections or connectivity issues when toggled, or may not work depending on - browser supports. Currently, this only toggles the video codec bandwidth configuration.
- The configuration to set the experimental google video streaming bandwidth sent to Peers. - Note that Peers may override the "receive from" streaming bandwidth depending on the Peers configuration.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The flag if Skylink#getUserMedia should fallback to retrieve only audio Stream when +retrieving audio and video Stream fails.

+ - - - + - + + @@ -9202,7 +5138,7 @@
Properties
- + - - - - -
NameTypeAttributesDescription
minforceSSL - number + boolean @@ -9191,10 +5119,18 @@
Properties
+
+ + true + + -

The minimum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-min-bitrate" flag in the session description.

+

The flag if HTTPS connections should be enforced +during request to Auth server and socket connections to Signaling server +when accessing window.location.protocol value is "http:". +By default, "https:" protocol connections uses HTTPS connections.

maxsocketTimeout @@ -9229,17 +5165,19 @@
Properties
- -
-

The maximum experimental google video streaming bandwidth sent to Peers. - This toggles the "x-google-max-bitrate" flag in the session description.

+
+ + 7000 +
+ + +

The timeout for each attempts for socket connection +with the Signaling server to indicate that connection has timed out and has failed to establish. +Note that the minimum timeout value is 5000. If less, this value will be 5000. +Note that it is recommended to use 7000 as the lowest timeout value if Peers are connecting +using Polling transports to prevent connection errors.

@@ -9247,7 +5185,7 @@
Properties
- manualGetUserMedia + forceTURNSSL @@ -9276,16 +5214,16 @@
Properties
+ false + -

The flag if Skylink#joinRoom should trigger - mediaAccessRequired in which the - Skylink#getUserMedia stream or - Skylink#shareScreen stream - must be retrieved as a requirement before Room session may begin. - This ignores the audio and video configuration.

+

The flag if TURNS protocol should be used when enableTURNServer is enabled.

+
+ Note that currently Firefox does not support the TURNS protocol, and that if TURNS is required, + TURN ICE servers using port 443 will be used instead. @@ -9293,80 +5231,20 @@
Properties
- sdpSettings + iceServer - JSON + String - - - - - - - - - - <optional>
- - - - - - - - - - - - - -

- Note that this is mainly used for debugging purposes and that it is an experimental flag, so - it may cause disruptions in connections or connectivity issues when toggled. Note that it might not work - with MCU enabled Peer connections or break MCU enabled Peer connections.
- The configuration to set the session description settings.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - @@ -9421,14 +5303,14 @@
Properties
- + - + + + + +
NameTypeAttributesDescription
connection - - + | + - JSON + Array @@ -9386,11 +5264,17 @@
Properties
+
+ + -

The configuration to set the session description connection settings. - Note that this configuration may disable the media streaming and these settings will be enabled for - MCU server Peer connection regardless of the flags configured.

+

The ICE servers for debugging purposes to use.

+
    +
  • When defined as string, the value is considered as [iceServer]. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
  • +
Properties
@@ -9409,8 +5293,6 @@
Properties
-
DefaultDescription
audio#index - boolean + String @@ -9448,15 +5330,16 @@
Properties
-
- - true - - -

The configuration to enable audio session description connection.

+

The ICE server url for debugging purposes to use.

+
+ @@ -9464,14 +5347,20 @@
Properties
- video + socketServer - boolean + String + + + | + + + JSON @@ -9493,28 +5382,51 @@
Properties
- true - -

The configuration to enable video session description connection.

- +

The Signaling server for debugging purposes to use.

+
    +
  • When defined as string, the value is considered as { url: socketServer }. +Note that this is a debugging feature and is only used when instructed for debugging purposes.
  • +
+ +
Properties
+ + + + + + + + + + + + + + + + + + + - + + - + - - - - - - -
NameTypeAttributesDescription
dataurl - boolean + String @@ -9526,30 +5438,15 @@
Properties
- <optional>
-
- - true - - -

The configuration to enable Datachannel session description connection.

-
- +

The Signaling server URL for debugging purposes to use.

@@ -9557,14 +5454,14 @@
Properties
- direction + ports - JSON + Array @@ -9586,9 +5483,8 @@
Properties
-

The configuration to set the session description connection direction - to enable or disable uploading and downloading audio or video media streaming. - Note that this configuration does not prevent RTCP packets from being sent and received.

+

The list of Signaling server ports for debugging purposes to use. +If not defined, it will use the default list of ports specified.

Properties
@@ -9603,8 +5499,6 @@
Properties
Type - Attributes - @@ -9617,14 +5511,50 @@
Properties
- audio + #index - JSON + number + + + + + + + + + + + + + +

The Signaling server port to fallback and use for debugging purposes.

+ + + + + + + + + + + + + + + protocol + + + + + + + String @@ -9646,39 +5576,23 @@
Properties
-

The configuration to set the session description - connection direction for audio streaming.

- -
Properties
- - - - - - - - - - - - - - +

The Signaling server protocol for debugging purposes to use. +If not defined, it will use the default protocol specified.

+ + - - - + + +
NameTypeAttributes
Default
- Description + - - - + - send + beSilentOnStatsLogs @@ -9707,14 +5621,13 @@
Properties
- true + false -

The flag if uploading audio streaming - should be enabled when available.

+

The flag if all logs triggered by the statistics module should be silent.

@@ -9722,7 +5635,7 @@
Properties
- receive + beSilentOnParseLogs @@ -9744,69 +5657,124 @@
Properties
<optional>
- - - + + + + + + + + false + + + + + +

The flag if media and codec parsing logs should be silent.

+ + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ +
+ + + + + + + +
+ + + + + + + + + + + + + - - - true - - - + - -

The flag if downloading audio - streaming should be enabled when available.

- - - - - - + + + + + + +

+ joinRoomOptions :Object +

+
- - - video - - - - - - JSON - - +
+

The Room session configuration options.

+
- - - - - - <optional>
- - - - - - -

The configuration to set the session description - connection direction for video streaming.

- -
Properties
- + + + + +
Properties:
+ + @@ -9834,14 +5802,14 @@
Properties
- + @@ -9878,14 +5846,20 @@
Properties
- + - - - - -
sendroomName - boolean + String @@ -9863,14 +5831,14 @@
Properties
- true - -

The flag if uploading video streaming - should be enabled when available.

+

The Room name. When not provided or is provided as an empty string, its value is the defaultRoom +provided in the initOptions. +Note that if you are using credentials based authentication, you cannot switch the Room +that is not the same as the defaultRoom defined in initOptions.

receiveuserData - boolean + JSON + + + | + + + String @@ -9907,35 +5881,13 @@
Properties
- true - -

The flag if downloading video streaming - should be enabled when available.

-
- - - - - - - - - - - - - - - +

The User custom data. +This can be set after Room session has started using the +Skylink#setUserData.

@@ -9943,20 +5895,14 @@
Properties
- publishOnly + useExactConstraints - JSON - - - | - - - Boolean + boolean @@ -9982,114 +5928,30 @@
Properties
-

- For MCU enabled Peer connections, defining this flag would make Peer not know other Peers presence in the Room. - For non-MCU enable Peer connections, defining this flag would cause other Peers in the Room to - not to send Stream to Peer, and overrides the config - sdpSettings.direction.audio.receive value to false, - sdpSettings.direction.video.receive value to false, - sdpSettings.direction.video.send value to true and - sdpSettings.direction.audio.send value to true. - Note that this feature is currently is beta, and for any enquiries on enabling and its support for MCU enabled - Peer connections, please contact our support portal. - How does the publish only functionality work? Imagine several Skylink instances like A1, B1, C1 and A1 - opening a new instance A2 with publish only enabled with configured A1 as parent. - - - - - - -
MCU enabled roomMCU disabled room
PresenceStreamPresenceStream
A1B1, C1B1, C1B1, C1B1, C1
B1A1, C1, A2A1, C1, A2A1, C1, A2A1, C1, A2
C1B1, C1, A2B1, C1, A2B1, C1, A2B1, C1, A2
A2B1, C1
- Parent and child will not receive each other presence and stream because they are related to each other in the same client page, - hence no uploading or downloading is required. If A2 did not configure A1 as the parent, A1 will receive A2.
- The config if Peer would publish only.

- -
Properties
- - - - - - - - - - - - - - - - - - +

The Skylink#getUserMedia useExactConstraints parameter settings. +See the useExactConstraints parameter in the +Skylink#getUserMedia for more information.

+ - - - + - + - - - - - - - - - - - - -
NameTypeAttributesDescription
parentIdaudio - String + boolean - - - - - - - <optional>
- - - -
-

Deprecation Warning! - This property has been deprecated. Use parentId instead. -
The parent Peer ID to match to when Peer is connected. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

-
- - - - - - - - - parentId - + | - - - - String + JSON @@ -10115,12 +5977,11 @@
Properties
-

The parent Peer ID to match to when Peer is connected. - Note that configuring this value overrides the publishOnly.parentId value. - This is useful for identification for users connecting the Room twice simultaneously for multi-streaming. - If User Peer ID matches the parent Peer ID provided from Peer, User will not be connected to Peer. - Parent will not be connected to (or receive the presence of) child, so will child will not be connected to - (or receive the presence of) parent.

+

The Skylink#getUserMedia audio parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +video is not defined, it will be defined as false. +Object signature matches the audio parameter in the +Skylink#getUserMedia.

@@ -10128,12 +5989,18 @@
Properties
- peerConnection + video + + boolean + + + | + JSON @@ -10161,47 +6028,26 @@
Properties
-

- Note that this is mainly used for debugging purposes, so it may cause disruptions in connections or - connectivity issues when configured.
The Peer connection constraints settings.

- -
Properties
- - - - - - - - - - - - - - - - - - - - +

The Skylink#getUserMedia video parameter settings. +When value is defined as true or an object, Skylink#getUserMedia to be invoked to retrieve new Stream. If +audio is not defined, it will be defined as false. +Object signature matches the video parameter in the +Skylink#getUserMedia.

+ - - - + - + @@ -10239,14 +6085,14 @@
Properties
- + +

The configuration to set the maximum streaming bandwidth to send to Peers. You can also use the preconfigured +constant VIDEO_QUALITY for recommended values.

+
Note that this is currently not supported + with Firefox browsers versions 48 and below as noted in an existing + bugzilla ticket here. This option will override the autoBandwidthAdjustment option below.
+ +
Properties
+ + +
NameTypeAttributesDefaultDescription
bundlePolicyvoiceActivityDetection - String + boolean @@ -10223,15 +6069,15 @@
Properties
+ true + -

The Peer connection media bundle policy.

-
    -
  • When not provided, its value is BALANCED. -[Rel: Skylink.BUNDLE_POLICY]
  • -
+

The flag if voice activity detection should be enabled. +This can only be toggled if User is and for the offerer, which is determined if User's +peerInfo.config.priorityWeight is higher than Peer's.

rtcpMuxPolicybandwidth - String + JSON @@ -10272,19 +6118,40 @@
Properties
-

The Peer connection RTP and RTCP ICE candidates mux policy.

-
    -
  • When not provided, its value is REQUIRE. -[Rel: Skylink.RTCP_MUX_POLICY]
  • -
-
+ + + + + + + + + + + + + + + + - + + - + - @@ -10328,14 +6190,14 @@
Properties
- + - @@ -10374,14 +6230,14 @@
Properties
- + - @@ -10466,11 +6317,11 @@
Properties
@@ -10582,7 +6433,7 @@
Properties
@@ -10626,7 +6477,7 @@
Properties
@@ -10675,7 +6526,7 @@
Properties
@@ -10907,7 +6758,7 @@
Properties:
@@ -11265,7 +7116,7 @@
Properties:
@@ -11439,7 +7290,7 @@
Properties:
@@ -11478,7 +7329,7 @@
Properties:

- peerInfo :Object + peerInfo

@@ -11486,10 +7337,6 @@

-
-

The Peer session information.

-
- @@ -11513,8 +7360,6 @@

Properties:
- - @@ -11550,12 +7395,6 @@
Properties:
- - @@ -11585,17 +7424,11 @@
Properties:
- - @@ -11620,12 +7453,6 @@
Properties:
- - @@ -11687,7 +7514,7 @@
Properties
@@ -11723,8 +7550,8 @@
Properties
@@ -11762,7 +7589,7 @@
Properties
@@ -11800,7 +7627,7 @@
Properties
@@ -11892,7 +7719,7 @@
Properties
- String + roomInfo @@ -11902,12 +7729,6 @@
Properties
- - @@ -11937,12 +7758,6 @@
Properties
- - @@ -12025,7 +7840,7 @@
Properties
@@ -12055,66 +7870,8 @@
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12126,82 +7883,6 @@
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
iceCandidatePoolSizeaudio @@ -10311,16 +6178,11 @@
Properties
-
- - 0 - - -

The number of ICE candidates to gather before - gathering it when setting local offer / answer session description.

+

The maximum audio streaming bandwidth sent to Peers in kbps. +Recommended values are 50 to 200. 50 is sufficient enough for +an audio call. The higher you go if you want clearer audio and to be able to hear music streaming.

certificatevideo - String + number @@ -10355,18 +6217,12 @@
Properties
-
- - -

The type of certificate that Peer connection should - generate and use when available.

-
    -
  • When not provided, its value is AUTO. -[Rel: Skylink.PEER_CERTIFICATE]
  • -
+

The maximum video streaming bandwidth sent to Peers. +Recommended values are 256-500 for 180p quality, +500-1024 for 360p quality, 1024-2048 for 720p quality +and 2048-4096 for 1080p quality.

disableBundledata - String + number @@ -10401,16 +6257,11 @@
Properties
-
- - false - - -

The flag if for each Peer connection instead of bundling all - media connections into 1 connection, should have all of them negotiated as different separate media connections.

+

The maximum data streaming bandwidth sent to Peers. +This affects the P2P messaging in Skylink#sendP2PMessage, +and data transfers in Skylink#sendBlobData and Skylink#sendURLData.

-

- Note that this is an experimental feature which may be removed or changed in the future releases. - This feature is also only available for non-MCU enabled Peer connections and Edge Peer connections. -
The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted - each time based on a specified interval. Note this would cause the peer connection to restart.

+

The flag if Peer connections uploading and downloading bandwidth should be automatically adjusted +each time based on a specified interval.

+
+ This feature is also only available for non-MCU enabled Peer connections. Note this will cause the peer connection to restart. If bandwidth option is set above, autoBandwidthAdjustment will not be honoured. +
Properties
@@ -10537,8 +6388,8 @@
Properties

The interval each time to adjust bandwidth - connections in seconds. - Note that the minimum value is 10.

+connections in seconds. +Note that the minimum value is 10.

The percentage of the average bandwidth to adjust to. - E.g. avgBandwidth * (limitPercentage / 100).

+E.g. avgBandwidth * (limitPercentage / 100).

The flag if average bandwidth computation - should only consist of the upload bandwidth.

+should only consist of the upload bandwidth.

TypeAttributes - - - - - - - - -

The Peer sending Stream settings.

+

The Peer sending stream settings.

- - - -

The Peer agent name. - Data may be accessing browser or non-Web SDK name.

+Data may be accessing browser or non-Web SDK name.

The Peer agent version. - Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", - it will be interpreted as 0.90601 where 0 helps to seperate the minor dots.

+Data may be accessing browser or non-Web SDK version. If the original value is "0.9.6.1", +it will be interpreted as 0.90601 where 0 helps to separate the minor dots.

The Peer platform name. - Data may be accessing OS platform version from Web SDK.

+Data may be accessing OS platform version from Web SDK.

The Peer Temasys Plugin version. - Defined only when Peer is using the Temasys Plugin (IE / Safari).

+Defined only when Peer is using the Temasys Plugin (IE / Safari).

- - - - - - - -

The flag if Peer connection has ICE connection restart support. - Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

+Note that ICE connection restart support is not honoured for MCU enabled Peer connection.

The flag if Peer or User should be the offerer. - If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. - However for the case where the MCU is connected, User will always be the offerer.

-
publishOnly - - - - boolean - - - - - - - -

The flag if Peer is publishing only stream but not receiving streams.

-
receiveOnly - - - - boolean - - - - - - - -

The flag if Peer is receiving only streams but not publishing stream.

+If User's priorityWeight is higher than Peer's, User is the offerer, else Peer is. +However for the case where the MCU is connected, User will always be the offerer.

connected - - - - boolean - - - - - - - - - <optional>
- - - -
-

The flag if Peer ICE connection has been established successfully. - Defined only when isSelf payload value is false.

-
init - - - - boolean - - - - - - - - - <optional>
- - - -
-

The flag if Peer connection has been created successfully. - Defined only when isSelf payload value is false.

-
@@ -12239,7 +7920,7 @@
Properties
@@ -12714,7 +8395,7 @@
Properties

streams keyed by stream id. - /**

+/**

@@ -12772,7 +8453,7 @@
Properties
@@ -12998,8 +8679,8 @@
Properties

The recording session started DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the start event is received.

+ISO.Note that this value may not be +very accurate as this value is recorded when the start event is received.

@@ -13029,9 +8710,9 @@
Properties

The recording session ended DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the stop event is received. - Defined only after state has triggered STOP.

+ISO.Note that this value may not be +very accurate as this value is recorded when the stop event is received. +Defined only after state has triggered STOP.

@@ -13061,9 +8742,9 @@
Properties

The recording session mixing completed DateTime in - ISO.Note that this value may not be - very accurate as this value is recorded when the mixing completed event is received. - Defined only when state is LINK.

+ISO.Note that this value may not be +very accurate as this value is recorded when the mixing completed event is received. +Defined only when state is LINK.

@@ -13093,8 +8774,8 @@
Properties

The recording session links. - Object signature matches the link parameter payload received in the - recordingStateEvent event.

+Object signature matches the link parameter payload received in the +RECORDING STATE event event.

@@ -13124,7 +8805,7 @@
Properties

The recording session error. - Defined only when state is ERROR.

+Defined only when state is ERROR.

@@ -13173,7 +8854,7 @@
Properties
@@ -13347,7 +9028,7 @@
Properties:
@@ -13380,13 +9061,13 @@
Properties:
- + -

- screenSources :Object +

+ roomInfo

@@ -13394,10 +9075,6 @@

-
-

The list of screensharing media sources and screen sources.

-
- @@ -13433,14 +9110,14 @@

Properties:
- mediaSource + roomName - Array.<String> + String @@ -13454,7 +9131,7 @@
Properties:
-

The screensharing media source item.

+

The room name

@@ -13462,62 +9139,14 @@
Properties:
- mediaSourceInput - - - - - - - Array.<Object> - - - - - - - - - - - - - -

The list of specific media source screen inputs.

- -
Properties
- - - - - - - - - - - - - - - - - - - - - - - - - + @@ -13539,14 +9168,14 @@
Properties
- + @@ -13568,14 +9197,14 @@
Properties
- + - - - - -
NameTypeDescription
sourceIdduration - String + Number @@ -13531,7 +9160,7 @@
Properties
-

The screen input item id.

+

The maximum allowed room duration

labelid - Object + String @@ -13560,7 +9189,7 @@
Properties
-

The screen input item label name.

+

The room id

mediaSourceinRoom - Object + Boolean @@ -13589,14 +9218,7 @@
Properties
-

The screen input item media source it belongs to.

-
- +

The flag if the peer is in the room

@@ -13638,7 +9260,7 @@
Properties
@@ -13862,7 +9484,7 @@
Properties:

The socket connection current last attempts - for the last available transports and port.

+for the last available transports and port.

@@ -13904,7 +9526,7 @@
Properties:
@@ -14241,7 +9863,7 @@
Properties

The Peer connection selected - local ICE candidate IP address.

+local ICE candidate IP address.

@@ -14277,7 +9899,7 @@
Properties

The Peer connection selected - local ICE candidate port number.

+local ICE candidate port number.

@@ -14313,7 +9935,7 @@
Properties

The Peer connection selected - local ICE candidate IP transport type.

+local ICE candidate IP transport type.

@@ -14349,7 +9971,7 @@
Properties

The Peer connection selected - local ICE candidate type.

+local ICE candidate type.

@@ -14387,9 +10009,9 @@
Properties

The Peer connection possible - transport used when relaying local media to TURN server. - Types are "UDP" (UDP connections), "TCP" (TCP connections) and - "TCP/TLS" (TCP over TLS connections).

+transport used when relaying local media to TURN server. +Types are "UDP" (UDP connections), "TCP" (TCP connections) and +"TCP/TLS" (TCP over TLS connections).

@@ -14480,7 +10102,7 @@
Properties

The Peer connection selected - remote ICE candidate IP address.

+remote ICE candidate IP address.

@@ -14510,7 +10132,7 @@
Properties

The Peer connection selected - remote ICE candidate port number.

+remote ICE candidate port number.

@@ -14540,7 +10162,7 @@
Properties

The Peer connection selected - remote ICE candidate IP transport type.

+remote ICE candidate IP transport type.

@@ -14570,7 +10192,7 @@
Properties

The Peer connection selected - remote ICE candidate type.

+remote ICE candidate type.

@@ -14615,7 +10237,7 @@
Properties

The flag if Peer has gotten ACK to an ICE request. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14653,7 +10275,7 @@
Properties

The current STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14691,7 +10313,7 @@
Properties

The total STUN connectivity checks RTT (Round-trip delay time). - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14785,7 +10407,7 @@
Properties

The current ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14823,7 +10445,7 @@
Properties

The current ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14861,7 +10483,7 @@
Properties

The total ICE connectivity check requests received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -14899,7 +10521,7 @@
Properties

The total ICE connectivity check requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15000,7 +10622,7 @@
Properties

The current ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15038,7 +10660,7 @@
Properties

The current ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15076,7 +10698,7 @@
Properties

The total ICE connectivity check responses received. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15114,7 +10736,7 @@
Properties

The total ICE connectivity check responses sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15215,7 +10837,7 @@
Properties

The current ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15253,7 +10875,7 @@
Properties

The total ICE consent requests sent. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15411,7 +11033,7 @@
Properties

The Peer connection local certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15449,8 +11071,8 @@
Properties

The Peer connection local - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

+certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15488,8 +11110,8 @@
Properties

The Peer connection local - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

+base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15590,7 +11212,7 @@
Properties

The Peer connection remote certificate fingerprint. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15628,8 +11250,8 @@
Properties

The Peer connection remote - certificate fingerprint algorithm. - Defined as null if it's not available in original raw statistics.before parsing.

+certificate fingerprint algorithm. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15667,8 +11289,8 @@
Properties

The Peer connection remote - base64 certificate in binary DER format encoded in base64. - Defined as null if it's not available in original raw statistics.before parsing.

+base64 certificate in binary DER format encoded in base64. +Defined as null if it's not available in original raw statistics.before parsing.

@@ -15713,7 +11335,7 @@
Properties

The certificates SRTP cipher. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15751,7 +11373,7 @@
Properties

The certificates DTLS cipher. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -15789,7 +11411,7 @@
Properties

The certificates DTLS TLS Version agreed. - Defined as null if it's not available in original raw statistics.before parsing.

+Defined as null if it's not available in original raw statistics.before parsing.

@@ -16035,7 +11657,7 @@
Properties

The Peer connection local session description type. - Defined as null when local session description is not available.

+Defined as null when local session description is not available.

@@ -16065,7 +11687,7 @@
Properties

The Peer connection local session description SDP. - Defined as null when local session description is not available.

+Defined as null when local session description is not available.

@@ -16156,7 +11778,7 @@
Properties

The Peer connection remote session description type. - Defined as null when remote session description is not available.

+Defined as null when remote session description is not available.

@@ -16186,7 +11808,7 @@
Properties

The Peer connection remote session description sdp. - Defined as null when remote session description is not available.

+Defined as null when remote session description is not available.

@@ -16325,7 +11947,7 @@
Properties

The Peer connection list of local - "host" (local network) ICE candidates sent.

+"host" (local network) ICE candidates sent.

Properties
@@ -16374,7 +11996,7 @@
Properties

The Peer connection local - "host" (local network) ICE candidate.

+"host" (local network) ICE candidate.

Properties
@@ -16423,7 +12045,7 @@
Properties

The Peer connection local - "host" (local network) ICE candidate connection description.

+"host" (local network) ICE candidate connection description.

@@ -16453,7 +12075,7 @@
Properties

The Peer connection local - "host" (local network) ICE candidate identifier based on the local session description.

+"host" (local network) ICE candidate identifier based on the local session description.

@@ -16483,8 +12105,8 @@
Properties

The Peer connection local - "host" (local network) ICE candidate media description index (starting from 0) - based on the local session description.

+"host" (local network) ICE candidate media description index (starting from 0) +based on the local session description.

@@ -16528,7 +12150,7 @@
Properties

The Peer connection list of local - "srflx" (STUN) ICE candidates sent.

+"srflx" (STUN) ICE candidates sent.

Properties
@@ -16577,7 +12199,7 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate.

+"srflx" (STUN) ICE candidate.

Properties
@@ -16626,7 +12248,7 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate connection description.

+"srflx" (STUN) ICE candidate connection description.

@@ -16656,7 +12278,7 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate identifier based on the local session description.

+"srflx" (STUN) ICE candidate identifier based on the local session description.

@@ -16686,8 +12308,8 @@
Properties

The Peer connection local - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the local session description.

+"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the local session description.

@@ -16731,7 +12353,7 @@
Properties

The Peer connection list of local - "relay" (TURN) candidates sent.

+"relay" (TURN) candidates sent.

Properties
@@ -16780,7 +12402,7 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate.

+"relay" (TURN) ICE candidate.

Properties
@@ -16829,7 +12451,7 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate connection description.

+"relay" (TURN) ICE candidate connection description.

@@ -16859,7 +12481,7 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate identifier based on the local session description.

+"relay" (TURN) ICE candidate identifier based on the local session description.

@@ -16889,8 +12511,8 @@
Properties

The Peer connection local - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the local session description.

+"relay" (TURN) ICE candidate media description index (starting from 0) +based on the local session description.

@@ -16989,7 +12611,7 @@
Properties

The Peer connection list of remote - "host" (local network) ICE candidates received.

+"host" (local network) ICE candidates received.

Properties
@@ -17038,7 +12660,7 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate.

+"host" (local network) ICE candidate.

Properties
@@ -17087,7 +12709,7 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate connection description.

+"host" (local network) ICE candidate connection description.

@@ -17117,7 +12739,7 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate identifier based on the remote session description.

+"host" (local network) ICE candidate identifier based on the remote session description.

@@ -17147,8 +12769,8 @@
Properties

The Peer connection remote - "host" (local network) ICE candidate media description index (starting from 0) - based on the remote session description.

+"host" (local network) ICE candidate media description index (starting from 0) +based on the remote session description.

@@ -17192,7 +12814,7 @@
Properties

The Peer connection list of remote - "srflx" (STUN) ICE candidates received.

+"srflx" (STUN) ICE candidates received.

Properties
@@ -17241,7 +12863,7 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate.

+"srflx" (STUN) ICE candidate.

Properties
@@ -17290,7 +12912,7 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate connection description.

+"srflx" (STUN) ICE candidate connection description.

@@ -17320,7 +12942,7 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate identifier based on the remote session description.

+"srflx" (STUN) ICE candidate identifier based on the remote session description.

@@ -17350,8 +12972,8 @@
Properties

The Peer connection remote - "srflx" (STUN) ICE candidate media description index (starting from 0) - based on the remote session description.

+"srflx" (STUN) ICE candidate media description index (starting from 0) +based on the remote session description.

@@ -17395,7 +13017,7 @@
Properties

The Peer connection list of remote - "relay" (TURN) ICE candidates received.

+"relay" (TURN) ICE candidates received.

Properties
@@ -17444,7 +13066,7 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate.

+"relay" (TURN) ICE candidate.

Properties
@@ -17493,7 +13115,7 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate connection description.

+"relay" (TURN) ICE candidate connection description.

@@ -17523,7 +13145,7 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate identifier based on the remote session description.

+"relay" (TURN) ICE candidate identifier based on the remote session description.

@@ -17553,8 +13175,8 @@
Properties

The Peer connection remote - "relay" (TURN) ICE candidate media description index (starting from 0) - based on the remote session description.

+"relay" (TURN) ICE candidate media description index (starting from 0) +based on the remote session description.

@@ -17743,7 +13365,7 @@
Properties

The Peer connection Datachannel connection readyState. - [Rel: Skylink.DATA_CHANNEL_STATE]

+[Rel: Skylink.DATA_CHANNEL_STATE]

@@ -17773,7 +13395,7 @@
Properties

The Peer connection Datachannel connection type. - [Rel: Skylink.DATA_CHANNEL_TYPE]

+[Rel: Skylink.DATA_CHANNEL_TYPE]

@@ -17803,8 +13425,8 @@
Properties

The Peer connection - Datachannel connection current progressing transfer session ID. - Defined as null when there is currently no transfer session progressing on the Datachannel connection.

+Datachannel connection current progressing transfer session ID. +Defined as null when there is currently no transfer session progressing on the Datachannel connection.

@@ -17834,8 +13456,8 @@
Properties

The Peer connection - Datachannel connection current data streaming session ID. - Defined as null when there is currently no data streaming session on the Datachannel connection.

+Datachannel connection current data streaming session ID. +Defined as null when there is currently no data streaming session on the Datachannel connection.

@@ -17993,7 +13615,7 @@
Properties

The error object received. - Defined only when state payload is RETRIEVE_ERROR.

+Defined only when state payload is RETRIEVE_ERROR.

@@ -18035,7 +13657,7 @@
Properties
@@ -18221,7 +13843,7 @@
Properties:
@@ -18673,7 +14295,7 @@
Properties
@@ -19129,7 +14751,7 @@
Properties

The Peer connection current sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -19165,7 +14787,7 @@
Properties

The Peer connection total sending video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -19271,7 +14893,7 @@
Properties

The Peer connection sending video streaming Round-trip delay time. - Defined as 0 if it's not present in original raw statistics before parsing.

+Defined as 0 if it's not present in original raw statistics before parsing.

@@ -19306,11 +14928,11 @@
Properties
-

+
This property has been deprecated and would be removed in future releases as it should not be in sending property.
The Peer connection sending video streaming RTP packets jitter in seconds. - Defined as 0 if it's not present in original raw statistics before parsing.

+ Defined as 0 if it's not present in original raw statistics before parsing. @@ -19348,7 +14970,7 @@
Properties

The Peer connection sending video streaming sum of the QP values of frames passed. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19386,7 +15008,7 @@
Properties

The Peer connection sending video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19424,7 +15046,7 @@
Properties

The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19462,7 +15084,7 @@
Properties

The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19501,7 +15123,7 @@
Properties

The Peer connection sending video streaming number of huge frames sent by this RTP stream. Huge frames, by definition, are frames that have an encoded size at least 2.5 times the average size of the frames. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19539,7 +15161,7 @@
Properties

The Peer connection sending video streaming fps. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19577,7 +15199,7 @@
Properties

The Peer connection sending video streaming frames encoded. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19615,7 +15237,7 @@
Properties

The Peer connection current sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19653,7 +15275,7 @@
Properties

The Peer connection total sending video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19691,7 +15313,7 @@
Properties

The Peer connection current sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19729,7 +15351,7 @@
Properties

The Peer connection total sending video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19767,7 +15389,7 @@
Properties

The Peer connection current sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19805,7 +15427,7 @@
Properties

The Peer connection total sending video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -19843,7 +15465,7 @@
Properties

The Peer connection sending video streaming selected codec information. - Defined as null if local session description is not available before parsing.

+Defined as null if local session description is not available before parsing.

Properties
@@ -19972,7 +15594,7 @@
Properties

The Peer connection sending video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20010,8 +15632,8 @@
Properties

The Peer connection sending video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

@@ -20049,7 +15671,7 @@
Properties

The Peer connection sending video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20087,7 +15709,7 @@
Properties

The Peer connection sending video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20222,7 +15844,7 @@
Properties

The Peer connection current receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -20258,7 +15880,7 @@
Properties

The Peer connection total receiving video streaming bytes. - Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

+Note that value is in bytes so you have to convert that to bits for displaying for an example kbps.

@@ -20436,7 +16058,7 @@
Properties

The Peer connection receiving video streaming frames. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20474,7 +16096,7 @@
Properties

The Peer connection sending video streaming frame width. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20512,7 +16134,7 @@
Properties

The Peer connection sending video streaming frame height. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20550,7 +16172,7 @@
Properties

The Peer connection receiving video streaming frames decoded. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20588,7 +16210,7 @@
Properties

The Peer connection receiving video streaming frames dropped. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20626,7 +16248,7 @@
Properties

The Peer connection current receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20664,7 +16286,7 @@
Properties

The Peer connection total receiving video streaming nacks. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20702,7 +16324,7 @@
Properties

The Peer connection current receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20740,7 +16362,7 @@
Properties

The Peer connection total receiving video streaming plis. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20778,7 +16400,7 @@
Properties

The Peer connection current receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20816,7 +16438,7 @@
Properties

The Peer connection total receiving video streaming firs. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -20854,9 +16476,9 @@
Properties

The Peer connection receiving video streaming selected codec information. - Defined as null if remote session description is not available before parsing. - Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. - The value is derived from the remote session description.

+Defined as null if remote session description is not available before parsing. +Note that if the value is polyfilled, the value may not be accurate since the remote Peer can override the selected codec. +The value is derived from the remote session description.

Properties
@@ -20985,7 +16607,7 @@
Properties

The Peer connection receiving video streaming selected codec implementation. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -21023,8 +16645,8 @@
Properties

The Peer connection receiving video streaming selected codec channels (2 for stereo). - Defined as null if it's not available in original raw statistics before parsing, - and this is usually present in statistics.audio property.

+Defined as null if it's not available in original raw statistics before parsing, +and this is usually present in statistics.audio property.

@@ -21062,7 +16684,7 @@
Properties

The Peer connection receiving video streaming selected codec media sampling rate. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

@@ -21100,7 +16722,7 @@
Properties

The Peer connection receiving video streaming selected codec parameters. - Defined as null if it's not available in original raw statistics before parsing.

+Defined as null if it's not available in original raw statistics before parsing.

diff --git a/publish/latest/docs/ice-connection_index.js.html b/publish/latest/docs/ice-connection_index.js.html index 1ce775538..d47537c96 100644 --- a/publish/latest/docs/ice-connection_index.js.html +++ b/publish/latest/docs/ice-connection_index.js.html @@ -78,7 +78,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -132,7 +132,7 @@

* @param {String} candidateType - Type of the ICE Candidate * @param {RTCIceCandidate} nativeCandidate - An RTCIceCandidate Object | {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate} * @param {SkylinkState} roomState - Skylink State - * @fires candidateProcessingState + * @fires CANDIDATE_PROCESSING_STATE */ static addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState) { return helpers.addIceCandidate(targetMid, candidateId, candidateType, nativeCandidate, roomState); @@ -143,7 +143,7 @@

* @param targetMid - The mid of the target peer * @param {RTCPeerConnectionIceEvent} rtcIceConnectionEvent - {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnectionIceEvent} * @param {SkylinkRoom} room - Current room - * @fires candidateGenerationState + * @fires CANDIDATE_GENERATION_STATE * @return {null} */ static onIceCandidate(targetMid, rtcIceConnectionEvent, room) { diff --git a/publish/latest/docs/index.html b/publish/latest/docs/index.html index 13ba81723..2ebcb384f 100644 --- a/publish/latest/docs/index.html +++ b/publish/latest/docs/index.html @@ -75,7 +75,7 @@

-

Classes

Namespaces

+

Classes

Namespaces

@@ -93,11 +93,13 @@

Classes