@andyet/simplewebrtc
Advanced tools
Comparing version 1.29.0 to 1.29.1
@@ -35,2 +35,3 @@ import * as React from 'react'; | ||
includeDeprecated?: boolean; | ||
autoJoinCall?: boolean; | ||
render?: (props: RoomRenderProps) => React.ReactNode; | ||
@@ -51,3 +52,3 @@ children?: React.ReactNode | ((props: RoomRenderProps) => React.ReactNode); | ||
} | ||
declare const _default: import("react-redux").ConnectedComponent<typeof Room, Pick<React.ClassAttributes<Room> & RoomProps, "password" | "ref" | "children" | "name" | "key" | "render" | "excludeMedia" | "excludePeers" | "includeDeprecated"> & RoomProps>; | ||
declare const _default: import("react-redux").ConnectedComponent<typeof Room, Pick<React.ClassAttributes<Room> & RoomProps, "password" | "ref" | "children" | "name" | "key" | "render" | "excludeMedia" | "excludePeers" | "includeDeprecated" | "autoJoinCall"> & RoomProps>; | ||
export default _default; |
@@ -96,3 +96,6 @@ "use strict"; | ||
destroy: (roomAddress) => dispatch(Actions.destroyRoom(roomAddress)), | ||
join: () => dispatch(Actions.joinRoom(props.name, { password: props.password || undefined })), | ||
join: () => dispatch(Actions.joinRoom(props.name, { | ||
autoJoinCall: props.autoJoinCall, | ||
password: props.password || undefined | ||
})), | ||
leave: (roomAddress, endMedia) => dispatch(Actions.leaveRoom(roomAddress, endMedia)), | ||
@@ -99,0 +102,0 @@ lock: (roomAddress, password) => dispatch(Actions.lockRoom(roomAddress, password)), |
@@ -43,4 +43,4 @@ export declare const SET_USER_PREFERENCE = "@andyet/SET_USER_PREFERENCE"; | ||
export declare const SET_VIDEO_RESOLUTION_TIERS = "@andyet/SET_VIDEO_RESOLUTION_TIERS"; | ||
export declare const SDK_VERSION = "1.29.0"; | ||
export declare const SDK_VERSION = "1.29.1"; | ||
export declare const DIRECTION_INCOMING = "incoming"; | ||
export declare const DIRECTION_OUTGOING = "outgoing"; |
@@ -49,4 +49,4 @@ "use strict"; | ||
// ==================================================================== | ||
exports.SDK_VERSION = '1.29.0'; | ||
exports.SDK_VERSION = '1.29.1'; | ||
exports.DIRECTION_INCOMING = 'incoming'; | ||
exports.DIRECTION_OUTGOING = 'outgoing'; |
{ | ||
"name": "@andyet/simplewebrtc", | ||
"version": "1.29.0", | ||
"version": "1.29.1", | ||
"dependencies": { | ||
@@ -5,0 +5,0 @@ "@types/node": "^12.6.8", |
import { AsyncPriorityQueue } from 'async'; | ||
import { ThunkDispatch } from 'redux-thunk'; | ||
import { Jingle } from 'stanza'; | ||
import { Media } from '../Definitions'; | ||
import { Media, Peer } from '../Definitions'; | ||
import { State } from '../reducers'; | ||
@@ -15,2 +15,3 @@ import SignalingClient from './Client'; | ||
constructor(client: SignalingClient); | ||
connectionFilter(user: Peer, peer: Peer): boolean; | ||
updateICEServers(): void; | ||
@@ -17,0 +18,0 @@ updateConnections(reason?: string): Promise<void>; |
@@ -77,4 +77,6 @@ "use strict"; | ||
for (const call of calls) { | ||
const user = Selectors.getUserDataForRoom(state, call.roomAddress); | ||
const peers = Selectors.getPeersForCall(state, call.roomAddress); | ||
for (const peer of peers) { | ||
const allowConnection = this.connectionFilter(user, peer); | ||
const needsVideo = new Set(); | ||
@@ -88,2 +90,6 @@ const needsAudio = new Set(); | ||
for (const conn of connections) { | ||
if (!allowConnection) { | ||
overSharedSessions.add(conn.id); | ||
continue; | ||
} | ||
if (conn.sendingAudioMediaId) { | ||
@@ -115,2 +121,11 @@ peerSharedMedia.set(conn.sendingAudioMediaId, 'audio'); | ||
} | ||
for (const sessionId of overSharedSessions) { | ||
const session = this.jingle.sessions[sessionId]; | ||
if (session) { | ||
session.end(); | ||
} | ||
} | ||
if (!allowConnection) { | ||
continue; | ||
} | ||
for (const track of sharedMedia) { | ||
@@ -129,8 +144,2 @@ if (!peerSharedMedia.has(track.id)) { | ||
} | ||
for (const sessionId of overSharedSessions) { | ||
const session = this.jingle.sessions[sessionId]; | ||
if (session) { | ||
session.end(); | ||
} | ||
} | ||
const pairedTracks = new Map(); | ||
@@ -246,2 +255,5 @@ for (const id of [...needsAudio, ...needsVideo]) { | ||
} | ||
connectionFilter(user, peer) { | ||
return true; | ||
} | ||
updateICEServers() { | ||
@@ -274,5 +286,12 @@ this.jingle.resetICEServers(); | ||
const state = this.getState(); | ||
const user = Selectors.getUserDataForRoom(state, session.peerID.split('/')[0]); | ||
const peer = Selectors.getPeerByAddress(state, session.peerID); | ||
const call = Selectors.getCallForRoom(state, session.peerID.split('/')[0]); | ||
if (call && call.joined) { | ||
session.accept(); | ||
if (this.connectionFilter(user, peer)) { | ||
session.accept(); | ||
} | ||
else { | ||
session.end(); | ||
} | ||
} | ||
@@ -279,0 +298,0 @@ else { |
Sorry, the diff of this file is too big to display
620778
17812