@epicgames-ps/lib-pixelstreamingfrontend-ue5.5 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib-pixelstreamingfrontend.esm.js +1 -1
- package/dist/lib-pixelstreamingfrontend.js +1 -1
- package/package.json +3 -2
- package/src/PixelStreaming/PixelStreaming.ts +2 -3
- package/src/UI/OnScreenKeyboard.ts +1 -2
- package/src/Util/EventEmitter.ts +2 -2
- package/src/WebRtcPlayer/WebRtcPlayerController.ts +37 -34
- package/types/PixelStreaming/PixelStreaming.d.ts +1 -2
- package/types/UI/OnScreenKeyboard.d.ts +1 -2
- package/types/Util/EventEmitter.d.ts +2 -2
- package/types/WebRtcPlayer/WebRtcPlayerController.d.ts +7 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epicgames-ps/lib-pixelstreamingfrontend-ue5.5",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "Frontend library for Unreal Engine 5.5 Pixel Streaming",
|
|
5
5
|
"main": "dist/lib-pixelstreamingfrontend.js",
|
|
6
6
|
"module": "dist/lib-pixelstreamingfrontend.esm.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"spellcheck": "cspell \"{README.md,.github/*.md,src/**/*.ts}\""
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.0.
|
|
19
|
+
"@epicgames-ps/lib-pixelstreamingcommon-ue5.5": "^0.0.8",
|
|
20
20
|
"@types/jest": "27.5.1",
|
|
21
21
|
"@types/webxr": "^0.5.1",
|
|
22
22
|
"@typescript-eslint/eslint-plugin": "^5.16.0",
|
|
@@ -46,3 +46,4 @@
|
|
|
46
46
|
"access": "public"
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
|
|
@@ -30,7 +30,6 @@ import {
|
|
|
30
30
|
DataChannelLatencyTestResultEvent,
|
|
31
31
|
PlayerCountEvent
|
|
32
32
|
} from '../Util/EventEmitter';
|
|
33
|
-
import { MessageReceive } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
34
33
|
import { WebXRController } from '../WebXR/WebXRController';
|
|
35
34
|
import { MessageDirection } from '../UeInstanceMessage/StreamMessageController';
|
|
36
35
|
import {
|
|
@@ -112,7 +111,7 @@ export class PixelStreaming {
|
|
|
112
111
|
x,
|
|
113
112
|
y
|
|
114
113
|
);
|
|
115
|
-
this._activateOnScreenKeyboard = (command:
|
|
114
|
+
this._activateOnScreenKeyboard = (command: any) =>
|
|
116
115
|
this.onScreenKeyboardHelper.showOnScreenKeyboard(command);
|
|
117
116
|
|
|
118
117
|
this._webXrController = new WebXRController(this._webRtcController);
|
|
@@ -307,7 +306,7 @@ export class PixelStreaming {
|
|
|
307
306
|
* @param command - the keyboard command
|
|
308
307
|
*/
|
|
309
308
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
310
|
-
_activateOnScreenKeyboard(command:
|
|
309
|
+
_activateOnScreenKeyboard(command: any): void {
|
|
311
310
|
throw new Error('Method not implemented.');
|
|
312
311
|
}
|
|
313
312
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
2
2
|
|
|
3
3
|
import { UnquantizedDenormalizedUnsignedCoord } from '../Util/CoordinateConverter';
|
|
4
|
-
import { MessageReceive } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Class for handling on screen keyboard usage
|
|
@@ -76,7 +75,7 @@ export class OnScreenKeyboard {
|
|
|
76
75
|
* Shows the on screen keyboard
|
|
77
76
|
* @param command the command received via the data channel containing keyboard positions
|
|
78
77
|
*/
|
|
79
|
-
showOnScreenKeyboard(command:
|
|
78
|
+
showOnScreenKeyboard(command: any) {
|
|
80
79
|
if (command.showOnScreenKeyboard) {
|
|
81
80
|
// Show the 'edit text' button.
|
|
82
81
|
this.editTextButton.classList.remove('hiddenState');
|
package/src/Util/EventEmitter.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import { LatencyTestResults } from '../DataChannel/LatencyTestResults';
|
|
8
8
|
import { AggregatedStats } from '../PeerConnectionController/AggregatedStats';
|
|
9
9
|
import { InitialSettings } from '../pixelstreamingfrontend';
|
|
10
|
-
import {
|
|
10
|
+
import { Messages } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
11
11
|
import { SettingFlag } from '../Config/SettingFlag';
|
|
12
12
|
import { SettingNumber } from '../Config/SettingNumber';
|
|
13
13
|
import { SettingText } from '../Config/SettingText';
|
|
@@ -345,7 +345,7 @@ export class StreamerListMessageEvent extends Event {
|
|
|
345
345
|
readonly type: 'streamerListMessage';
|
|
346
346
|
readonly data: {
|
|
347
347
|
/** Streamer list message containing an array of streamer ids */
|
|
348
|
-
messageStreamerList:
|
|
348
|
+
messageStreamerList: Messages.streamerList;
|
|
349
349
|
/** Auto-selected streamer from the list, or null if unable to auto-select and user should be prompted to select */
|
|
350
350
|
autoSelectedStreamerId: string;
|
|
351
351
|
/** Wanted streamer id from various configurations. */
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
-
MessageSend,
|
|
5
|
-
MessageReceive,
|
|
6
4
|
WebSocketTransport,
|
|
7
5
|
Logger,
|
|
8
6
|
SignallingProtocol,
|
|
9
|
-
ITransport
|
|
7
|
+
ITransport,
|
|
8
|
+
Messages,
|
|
9
|
+
MessageHelpers,
|
|
10
|
+
BaseMessage
|
|
10
11
|
} from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
11
12
|
import { StreamController } from '../VideoPlayer/StreamController';
|
|
12
13
|
import { FreezeFrameController } from '../FreezeFrame/FreezeFrameController';
|
|
@@ -191,36 +192,37 @@ export class WebRtcPlayerController {
|
|
|
191
192
|
// set up websocket methods
|
|
192
193
|
this.transport = new WebSocketTransport();
|
|
193
194
|
this.protocol = new SignallingProtocol(this.transport);
|
|
194
|
-
this.protocol.messageHandlers.addListener(
|
|
195
|
-
this.handleOnConfigMessage(msg as
|
|
195
|
+
this.protocol.messageHandlers.addListener(Messages.config.typeName, (msg: BaseMessage) =>
|
|
196
|
+
this.handleOnConfigMessage(msg as Messages.config)
|
|
196
197
|
);
|
|
197
|
-
this.protocol.messageHandlers.addListener(
|
|
198
|
-
this.handleStreamerListMessage(msg as
|
|
198
|
+
this.protocol.messageHandlers.addListener(Messages.streamerList.typeName, (msg: BaseMessage) =>
|
|
199
|
+
this.handleStreamerListMessage(msg as Messages.streamerList)
|
|
199
200
|
);
|
|
200
|
-
this.protocol.messageHandlers.addListener(
|
|
201
|
-
this.handleStreamerIDChangedMessage(msg as
|
|
201
|
+
this.protocol.messageHandlers.addListener(Messages.streamerIdChanged.typeName, (msg: BaseMessage) =>
|
|
202
|
+
this.handleStreamerIDChangedMessage(msg as Messages.streamerIdChanged)
|
|
202
203
|
);
|
|
203
|
-
this.protocol.messageHandlers.addListener(
|
|
204
|
-
const playerCountMessage = msg as
|
|
204
|
+
this.protocol.messageHandlers.addListener(Messages.playerCount.typeName, (msg: BaseMessage) => {
|
|
205
|
+
const playerCountMessage = msg as Messages.playerCount;
|
|
205
206
|
this.pixelStreaming._onPlayerCount(playerCountMessage.count);
|
|
206
207
|
});
|
|
207
|
-
this.protocol.messageHandlers.addListener(
|
|
208
|
-
this.handleWebRtcAnswer(msg as
|
|
208
|
+
this.protocol.messageHandlers.addListener(Messages.answer.typeName, (msg: BaseMessage) =>
|
|
209
|
+
this.handleWebRtcAnswer(msg as Messages.answer)
|
|
209
210
|
);
|
|
210
|
-
this.protocol.messageHandlers.addListener(
|
|
211
|
-
this.handleWebRtcOffer(msg as
|
|
211
|
+
this.protocol.messageHandlers.addListener(Messages.offer.typeName, (msg: BaseMessage) =>
|
|
212
|
+
this.handleWebRtcOffer(msg as Messages.offer)
|
|
212
213
|
);
|
|
213
|
-
this.protocol.messageHandlers.addListener(
|
|
214
|
-
this.handleWebRtcSFUPeerDatachannels(msg as
|
|
214
|
+
this.protocol.messageHandlers.addListener(Messages.streamerDataChannels.typeName, (msg: BaseMessage) =>
|
|
215
|
+
this.handleWebRtcSFUPeerDatachannels(msg as Messages.streamerDataChannels)
|
|
215
216
|
);
|
|
216
|
-
this.protocol.messageHandlers.addListener(
|
|
217
|
-
const iceCandidateMessage = msg as
|
|
217
|
+
this.protocol.messageHandlers.addListener(Messages.iceCandidate.typeName, (msg: BaseMessage) => {
|
|
218
|
+
const iceCandidateMessage = msg as Messages.iceCandidate;
|
|
218
219
|
this.handleIceCandidate(iceCandidateMessage.candidate);
|
|
219
220
|
});
|
|
220
221
|
this.protocol.transportEvents.addListener('open', () => {
|
|
221
222
|
const BrowserSendsOffer = this.config.isFlagEnabled(Flags.BrowserSendOffer);
|
|
222
223
|
if (!BrowserSendsOffer) {
|
|
223
|
-
|
|
224
|
+
const message = MessageHelpers.createMessage(Messages.listStreamers);
|
|
225
|
+
this.protocol.sendMessage(message);
|
|
224
226
|
}
|
|
225
227
|
});
|
|
226
228
|
this.protocol.transportEvents.addListener('error', () => {
|
|
@@ -305,7 +307,8 @@ export class WebRtcPlayerController {
|
|
|
305
307
|
this.preferredCodec
|
|
306
308
|
);
|
|
307
309
|
this.subscribedStream = streamerid;
|
|
308
|
-
|
|
310
|
+
const message = MessageHelpers.createMessage(Messages.subscribe, { streamerId: streamerid });
|
|
311
|
+
this.protocol.sendMessage(message);
|
|
309
312
|
}
|
|
310
313
|
);
|
|
311
314
|
|
|
@@ -789,7 +792,7 @@ export class WebRtcPlayerController {
|
|
|
789
792
|
'Data Channel Command: ' + commandAsString,
|
|
790
793
|
6
|
|
791
794
|
);
|
|
792
|
-
const command
|
|
795
|
+
const command = JSON.parse(commandAsString);
|
|
793
796
|
if (command.command === 'onScreenKeyboard') {
|
|
794
797
|
this.pixelStreaming._activateOnScreenKeyboard(command);
|
|
795
798
|
}
|
|
@@ -1306,7 +1309,7 @@ export class WebRtcPlayerController {
|
|
|
1306
1309
|
* Handles when a Config Message is received contains the Peer Connection Options required (STUN and TURN Server Info)
|
|
1307
1310
|
* @param messageConfig - Config Message received from the signaling server
|
|
1308
1311
|
*/
|
|
1309
|
-
handleOnConfigMessage(messageConfig:
|
|
1312
|
+
handleOnConfigMessage(messageConfig: Messages.config) {
|
|
1310
1313
|
this.resizePlayerStyle();
|
|
1311
1314
|
|
|
1312
1315
|
// Tell the WebRtcController to start a session with the peer options sent from the signaling server
|
|
@@ -1316,7 +1319,7 @@ export class WebRtcPlayerController {
|
|
|
1316
1319
|
/**
|
|
1317
1320
|
* Handles when the signalling server gives us the list of streamer ids.
|
|
1318
1321
|
*/
|
|
1319
|
-
handleStreamerListMessage(messageStreamerList:
|
|
1322
|
+
handleStreamerListMessage(messageStreamerList: Messages.streamerList) {
|
|
1320
1323
|
Logger.Log(
|
|
1321
1324
|
Logger.GetStackTrace(),
|
|
1322
1325
|
`Got streamer list ${messageStreamerList.ids}`,
|
|
@@ -1404,7 +1407,7 @@ export class WebRtcPlayerController {
|
|
|
1404
1407
|
);
|
|
1405
1408
|
}
|
|
1406
1409
|
|
|
1407
|
-
handleStreamerIDChangedMessage(streamerIDChangedMessage:
|
|
1410
|
+
handleStreamerIDChangedMessage(streamerIDChangedMessage: Messages.streamerIdChanged) {
|
|
1408
1411
|
const newID = streamerIDChangedMessage.newID;
|
|
1409
1412
|
|
|
1410
1413
|
// need to edit the selected streamer in the settings list
|
|
@@ -1447,7 +1450,7 @@ export class WebRtcPlayerController {
|
|
|
1447
1450
|
* Handle the RTC Answer from the signaling server
|
|
1448
1451
|
* @param Answer - Answer SDP from the peer.
|
|
1449
1452
|
*/
|
|
1450
|
-
handleWebRtcAnswer(Answer:
|
|
1453
|
+
handleWebRtcAnswer(Answer: Messages.answer) {
|
|
1451
1454
|
Logger.Log(Logger.GetStackTrace(), `Got answer sdp ${Answer.sdp}`, 6);
|
|
1452
1455
|
|
|
1453
1456
|
const sdpAnswer: RTCSessionDescriptionInit = {
|
|
@@ -1463,7 +1466,7 @@ export class WebRtcPlayerController {
|
|
|
1463
1466
|
* Handle the RTC offer from a WebRTC peer (received through the signalling server).
|
|
1464
1467
|
* @param Offer - Offer SDP from the peer.
|
|
1465
1468
|
*/
|
|
1466
|
-
handleWebRtcOffer(Offer:
|
|
1469
|
+
handleWebRtcOffer(Offer: Messages.offer) {
|
|
1467
1470
|
Logger.Log(Logger.GetStackTrace(), `Got offer sdp ${Offer.sdp}`, 6);
|
|
1468
1471
|
|
|
1469
1472
|
this.isUsingSFU = Offer.sfu ? Offer.sfu : false;
|
|
@@ -1485,9 +1488,7 @@ export class WebRtcPlayerController {
|
|
|
1485
1488
|
* Handle when the SFU provides the peer with its data channels
|
|
1486
1489
|
* @param DataChannels - The message from the SFU containing the data channels ids
|
|
1487
1490
|
*/
|
|
1488
|
-
handleWebRtcSFUPeerDatachannels(
|
|
1489
|
-
DataChannels: MessageReceive.MessagePeerDataChannels
|
|
1490
|
-
) {
|
|
1491
|
+
handleWebRtcSFUPeerDatachannels(DataChannels: Messages.streamerDataChannels) {
|
|
1491
1492
|
const SendOptions: RTCDataChannelInit = {
|
|
1492
1493
|
ordered: true,
|
|
1493
1494
|
negotiated: true,
|
|
@@ -1603,12 +1604,13 @@ export class WebRtcPlayerController {
|
|
|
1603
1604
|
6
|
|
1604
1605
|
);
|
|
1605
1606
|
|
|
1606
|
-
const extraParams
|
|
1607
|
+
const extraParams = {
|
|
1608
|
+
sdp: offer.sdp,
|
|
1607
1609
|
minBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMinBitrate),
|
|
1608
1610
|
maxBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMaxBitrate)
|
|
1609
1611
|
};
|
|
1610
1612
|
|
|
1611
|
-
this.protocol.sendWebRtcOffer(offer, extraParams);
|
|
1613
|
+
this.protocol.sendWebRtcOffer(MessageHelpers.createMessage(Messages.offer, extraParams));
|
|
1612
1614
|
}
|
|
1613
1615
|
|
|
1614
1616
|
/**
|
|
@@ -1622,12 +1624,13 @@ export class WebRtcPlayerController {
|
|
|
1622
1624
|
6
|
|
1623
1625
|
);
|
|
1624
1626
|
|
|
1625
|
-
const extraParams
|
|
1627
|
+
const extraParams = {
|
|
1628
|
+
sdp: answer.sdp,
|
|
1626
1629
|
minBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMinBitrate),
|
|
1627
1630
|
maxBitrateBps: 1000 * this.config.getNumericSettingValue(NumericParameters.WebRTCMaxBitrate)
|
|
1628
1631
|
};
|
|
1629
1632
|
|
|
1630
|
-
this.protocol.
|
|
1633
|
+
this.protocol.sendWebRtcOffer(MessageHelpers.createMessage(Messages.answer, extraParams));
|
|
1631
1634
|
|
|
1632
1635
|
if (this.isUsingSFU) {
|
|
1633
1636
|
this.protocol.sendWebRtcDatachannelRequest();
|
|
@@ -4,7 +4,6 @@ import { AggregatedStats } from '../PeerConnectionController/AggregatedStats';
|
|
|
4
4
|
import { WebRtcPlayerController } from '../WebRtcPlayer/WebRtcPlayerController';
|
|
5
5
|
import { InitialSettings } from '../DataChannel/InitialSettings';
|
|
6
6
|
import { PixelStreamingEvent } from '../Util/EventEmitter';
|
|
7
|
-
import { MessageReceive } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
8
7
|
import { WebXRController } from '../WebXR/WebXRController';
|
|
9
8
|
import { MessageDirection } from '../UeInstanceMessage/StreamMessageController';
|
|
10
9
|
import { DataChannelLatencyTestConfig, DataChannelLatencyTestController } from "../DataChannel/DataChannelLatencyTestController";
|
|
@@ -55,7 +54,7 @@ export declare class PixelStreaming {
|
|
|
55
54
|
* Activate the on screen keyboard when receiving the command from the streamer
|
|
56
55
|
* @param command - the keyboard command
|
|
57
56
|
*/
|
|
58
|
-
_activateOnScreenKeyboard(command:
|
|
57
|
+
_activateOnScreenKeyboard(command: any): void;
|
|
59
58
|
/**
|
|
60
59
|
* Set the input control ownership
|
|
61
60
|
* @param inputControlOwnership - does the user have input control ownership
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { UnquantizedDenormalizedUnsignedCoord } from '../Util/CoordinateConverter';
|
|
2
|
-
import { MessageReceive } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
3
2
|
/**
|
|
4
3
|
* Class for handling on screen keyboard usage
|
|
5
4
|
*/
|
|
@@ -27,5 +26,5 @@ export declare class OnScreenKeyboard {
|
|
|
27
26
|
* Shows the on screen keyboard
|
|
28
27
|
* @param command the command received via the data channel containing keyboard positions
|
|
29
28
|
*/
|
|
30
|
-
showOnScreenKeyboard(command:
|
|
29
|
+
showOnScreenKeyboard(command: any): void;
|
|
31
30
|
}
|
|
@@ -3,7 +3,7 @@ import { FlagsIds, NumericParametersIds, OptionParametersIds, TextParametersIds
|
|
|
3
3
|
import { LatencyTestResults } from '../DataChannel/LatencyTestResults';
|
|
4
4
|
import { AggregatedStats } from '../PeerConnectionController/AggregatedStats';
|
|
5
5
|
import { InitialSettings } from '../pixelstreamingfrontend';
|
|
6
|
-
import {
|
|
6
|
+
import { Messages } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
7
7
|
import { SettingFlag } from '../Config/SettingFlag';
|
|
8
8
|
import { SettingNumber } from '../Config/SettingNumber';
|
|
9
9
|
import { SettingText } from '../Config/SettingText';
|
|
@@ -251,7 +251,7 @@ export declare class StreamerListMessageEvent extends Event {
|
|
|
251
251
|
readonly type: 'streamerListMessage';
|
|
252
252
|
readonly data: {
|
|
253
253
|
/** Streamer list message containing an array of streamer ids */
|
|
254
|
-
messageStreamerList:
|
|
254
|
+
messageStreamerList: Messages.streamerList;
|
|
255
255
|
/** Auto-selected streamer from the list, or null if unable to auto-select and user should be prompted to select */
|
|
256
256
|
autoSelectedStreamerId: string;
|
|
257
257
|
/** Wanted streamer id from various configurations. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SignallingProtocol, ITransport, Messages } from '@epicgames-ps/lib-pixelstreamingcommon-ue5.5';
|
|
2
2
|
import { StreamController } from '../VideoPlayer/StreamController';
|
|
3
3
|
import { FreezeFrameController } from '../FreezeFrame/FreezeFrameController';
|
|
4
4
|
import { AFKController } from '../AFK/AFKController';
|
|
@@ -176,27 +176,27 @@ export declare class WebRtcPlayerController {
|
|
|
176
176
|
* Handles when a Config Message is received contains the Peer Connection Options required (STUN and TURN Server Info)
|
|
177
177
|
* @param messageConfig - Config Message received from the signaling server
|
|
178
178
|
*/
|
|
179
|
-
handleOnConfigMessage(messageConfig:
|
|
179
|
+
handleOnConfigMessage(messageConfig: Messages.config): void;
|
|
180
180
|
/**
|
|
181
181
|
* Handles when the signalling server gives us the list of streamer ids.
|
|
182
182
|
*/
|
|
183
|
-
handleStreamerListMessage(messageStreamerList:
|
|
184
|
-
handleStreamerIDChangedMessage(streamerIDChangedMessage:
|
|
183
|
+
handleStreamerListMessage(messageStreamerList: Messages.streamerList): void;
|
|
184
|
+
handleStreamerIDChangedMessage(streamerIDChangedMessage: Messages.streamerIdChanged): void;
|
|
185
185
|
/**
|
|
186
186
|
* Handle the RTC Answer from the signaling server
|
|
187
187
|
* @param Answer - Answer SDP from the peer.
|
|
188
188
|
*/
|
|
189
|
-
handleWebRtcAnswer(Answer:
|
|
189
|
+
handleWebRtcAnswer(Answer: Messages.answer): void;
|
|
190
190
|
/**
|
|
191
191
|
* Handle the RTC offer from a WebRTC peer (received through the signalling server).
|
|
192
192
|
* @param Offer - Offer SDP from the peer.
|
|
193
193
|
*/
|
|
194
|
-
handleWebRtcOffer(Offer:
|
|
194
|
+
handleWebRtcOffer(Offer: Messages.offer): void;
|
|
195
195
|
/**
|
|
196
196
|
* Handle when the SFU provides the peer with its data channels
|
|
197
197
|
* @param DataChannels - The message from the SFU containing the data channels ids
|
|
198
198
|
*/
|
|
199
|
-
handleWebRtcSFUPeerDatachannels(DataChannels:
|
|
199
|
+
handleWebRtcSFUPeerDatachannels(DataChannels: Messages.streamerDataChannels): void;
|
|
200
200
|
handlePostWebrtcNegotiation(): void;
|
|
201
201
|
/**
|
|
202
202
|
* When an ice Candidate is received from the Signaling server add it to the Peer Connection Client
|