commit
9a46896600
|
@ -741,6 +741,39 @@ export default {
|
|||
return this._room
|
||||
&& this._room.getConnectionState();
|
||||
},
|
||||
/**
|
||||
* Obtains current P2P ICE connection state.
|
||||
* @return {string|null} ICE connection state or <tt>null</tt> if there's no
|
||||
* P2P connection
|
||||
*/
|
||||
getP2PConnectionState () {
|
||||
return this._room
|
||||
&& this._room.getP2PConnectionState();
|
||||
},
|
||||
/**
|
||||
* Starts P2P (for tests only)
|
||||
* @private
|
||||
*/
|
||||
_startP2P () {
|
||||
try {
|
||||
this._room && this._room.startP2PSession();
|
||||
} catch (error) {
|
||||
logger.error("Start P2P failed", error);
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Stops P2P (for tests only)
|
||||
* @private
|
||||
*/
|
||||
_stopP2P () {
|
||||
try {
|
||||
this._room && this._room.stopP2PSession();
|
||||
} catch (error) {
|
||||
logger.error("Stop P2P failed", error);
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
/**
|
||||
* Checks whether or not our connection is currently in interrupted and
|
||||
* reconnect attempts are in progress.
|
||||
|
|
18
config.js
18
config.js
|
@ -20,6 +20,13 @@ var config = { // eslint-disable-line no-unused-vars
|
|||
//focusUserJid: 'focus@auth.jitsi-meet.example.com', // The real JID of focus participant - can be overridden here
|
||||
//defaultSipNumber: '', // Default SIP number
|
||||
|
||||
// The STUN servers that will be used in the peer to peer connections
|
||||
p2pStunServers: [
|
||||
{ urls: "stun:stun.l.google.com:19302" },
|
||||
{ urls: "stun:stun1.l.google.com:19302" },
|
||||
{ urls: "stun:stun2.l.google.com:19302" }
|
||||
],
|
||||
|
||||
// The ID of the jidesha extension for Chrome.
|
||||
desktopSharingChromeExtId: null,
|
||||
// Whether desktop sharing should be disabled on Chrome.
|
||||
|
@ -80,5 +87,14 @@ var config = { // eslint-disable-line no-unused-vars
|
|||
// disables or enables RTX (RFC 4588) (defaults to false).
|
||||
disableRtx: false,
|
||||
// Sets the preferred resolution (height) for local video. Defaults to 360.
|
||||
resolution: 720
|
||||
resolution: 720,
|
||||
// Enables peer to peer mode. When enabled system will try to establish
|
||||
// direct connection given that there are exactly 2 participants in
|
||||
// the room. If that succeeds the conference will stop sending data through
|
||||
// the JVB and use the peer to peer connection instead. When 3rd participant
|
||||
// joins the conference will be moved back to the JVB connection.
|
||||
//enableP2P: true
|
||||
// How long we're going to wait, before going back to P2P after
|
||||
// the 3rd participant has left the conference (to filter out page reload)
|
||||
//backToP2PDelay: 5
|
||||
};
|
||||
|
|
|
@ -193,7 +193,8 @@
|
|||
"transport": "Transport:",
|
||||
"transport_plural": "Transports:",
|
||||
"bandwidth": "Estimated bandwidth:",
|
||||
"na": "Come back here for connection information once the conference starts"
|
||||
"na": "Come back here for connection information once the conference starts",
|
||||
"direct": " (direct)"
|
||||
},
|
||||
"notify": {
|
||||
"disconnected": "disconnected",
|
||||
|
|
|
@ -198,6 +198,9 @@ ConnectionIndicator.prototype.generateText = function () {
|
|||
}
|
||||
}
|
||||
|
||||
// All of the transports should be either P2P or JVB
|
||||
const isP2P = this.transport.length ? this.transport[0].p2p : false;
|
||||
|
||||
var local_address_key = "connectionindicator.localaddress";
|
||||
var remote_address_key = "connectionindicator.remoteaddress";
|
||||
var localTransport =
|
||||
|
@ -243,8 +246,13 @@ ConnectionIndicator.prototype.generateText = function () {
|
|||
JSON.stringify({count: data.transportType.length})
|
||||
+ "'></span></td>" +
|
||||
"<td>"
|
||||
+ ConnectionIndicator.getStringFromArray(data.transportType)
|
||||
+ "</td></tr>";
|
||||
+ ConnectionIndicator.getStringFromArray(data.transportType);
|
||||
// Append (direct) to indicate the P2P type of transport
|
||||
if (isP2P) {
|
||||
transport += "<span data-i18n='connectionindicator.direct'>";
|
||||
}
|
||||
// Close "type" column and end table row
|
||||
transport += "</td></tr>";
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -718,6 +718,8 @@ var VideoLayout = {
|
|||
updateLocalConnectionStats (percent, object) {
|
||||
const { framerate, resolution } = object;
|
||||
|
||||
// FIXME overwrites 'lib-jitsi-meet' internal object
|
||||
// Why library internal objects are passed as event's args ?
|
||||
object.resolution = resolution[APP.conference.getMyUserId()];
|
||||
object.framerate = framerate[APP.conference.getMyUserId()];
|
||||
localVideoThumbnail.updateStatsIndicator(percent, object);
|
||||
|
|
Loading…
Reference in New Issue