You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-11-25 05:23:13 +03:00
Add option to set ice candidate pool size
This commit is contained in:
@@ -180,6 +180,11 @@ function keyFromRecoverySession(session, decryptionKey) {
|
|||||||
* @param {boolean} [opts.forceTURN]
|
* @param {boolean} [opts.forceTURN]
|
||||||
* Optional. Whether relaying calls through a TURN server should be forced.
|
* Optional. Whether relaying calls through a TURN server should be forced.
|
||||||
*
|
*
|
||||||
|
* * @param {boolean} [opts.iceCandidatePoolSize]
|
||||||
|
* Optional. Up to this many ICE candidates will be gathered when an incoming call arrives.
|
||||||
|
* Gathering does not send data to the caller, but will communicate with the configured TURN
|
||||||
|
* server. Default 0.
|
||||||
|
*
|
||||||
* @param {boolean} [opts.supportsCallTransfer]
|
* @param {boolean} [opts.supportsCallTransfer]
|
||||||
* Optional. True to advertise support for call transfers to other parties on Matrix calls.
|
* Optional. True to advertise support for call transfers to other parties on Matrix calls.
|
||||||
*
|
*
|
||||||
@@ -367,6 +372,7 @@ export function MatrixClient(opts) {
|
|||||||
this._cryptoCallbacks = opts.cryptoCallbacks || {};
|
this._cryptoCallbacks = opts.cryptoCallbacks || {};
|
||||||
|
|
||||||
this._forceTURN = opts.forceTURN || false;
|
this._forceTURN = opts.forceTURN || false;
|
||||||
|
this._iceCandidatePoolSize = opts.iceCandidatePoolSize === undefined ? 0 : opts.iceCandidatePoolSize;
|
||||||
this._supportsCallTransfer = opts.supportsCallTransfer || false;
|
this._supportsCallTransfer = opts.supportsCallTransfer || false;
|
||||||
this._fallbackICEServerAllowed = opts.fallbackICEServerAllowed || false;
|
this._fallbackICEServerAllowed = opts.fallbackICEServerAllowed || false;
|
||||||
|
|
||||||
|
|||||||
@@ -142,6 +142,7 @@ export interface ICreateClientOpts {
|
|||||||
unstableClientRelationAggregation?: boolean;
|
unstableClientRelationAggregation?: boolean;
|
||||||
verificationMethods?: Array<any>;
|
verificationMethods?: Array<any>;
|
||||||
forceTURN?: boolean;
|
forceTURN?: boolean;
|
||||||
|
iceCandidatePoolSize: number,
|
||||||
supportsCallTransfer?: boolean,
|
supportsCallTransfer?: boolean,
|
||||||
fallbackICEServerAllowed?: boolean;
|
fallbackICEServerAllowed?: boolean;
|
||||||
cryptoCallbacks?: ICryptoCallbacks;
|
cryptoCallbacks?: ICryptoCallbacks;
|
||||||
|
|||||||
@@ -1686,6 +1686,7 @@ export class MatrixCall extends EventEmitter {
|
|||||||
const pc = new window.RTCPeerConnection({
|
const pc = new window.RTCPeerConnection({
|
||||||
iceTransportPolicy: this.forceTURN ? 'relay' : undefined,
|
iceTransportPolicy: this.forceTURN ? 'relay' : undefined,
|
||||||
iceServers: this.turnServers,
|
iceServers: this.turnServers,
|
||||||
|
iceCandidatePoolSize: this.client._iceCandidatePoolSize,
|
||||||
});
|
});
|
||||||
|
|
||||||
// 'connectionstatechange' would be better, but firefox doesn't implement that.
|
// 'connectionstatechange' would be better, but firefox doesn't implement that.
|
||||||
|
|||||||
Reference in New Issue
Block a user