Changeset View
Changeset View
Standalone View
Standalone View
src/resources/js/meet/app.js
Show First 20 Lines • Show All 217 Lines • ▼ Show 20 Lines | function joinRoom(data) { | ||||
}) | }) | ||||
// Handle session disconnection events | // Handle session disconnection events | ||||
session.on('sessionDisconnected', event => { | session.on('sessionDisconnected', event => { | ||||
if (data.onDestroy) { | if (data.onDestroy) { | ||||
data.onDestroy(event) | data.onDestroy(event) | ||||
} | } | ||||
session = null | |||||
resize() | resize() | ||||
}) | }) | ||||
// Handle signals from all participants | // Handle signals from all participants | ||||
session.on('signal', signalEventHandler) | session.on('signal', signalEventHandler) | ||||
// Connect with the token | // Connect with the token | ||||
session.connect(data.token, data.params) | session.connect(data.token, data.params) | ||||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Lines | function Meet(container) | ||||
/** | /** | ||||
* Leave the room (disconnect) | * Leave the room (disconnect) | ||||
*/ | */ | ||||
function leaveRoom() { | function leaveRoom() { | ||||
if (publisher) { | if (publisher) { | ||||
volumeMeterStop() | volumeMeterStop() | ||||
// FIXME: We have to unpublish streams only if there's no session yet | // Release any media | ||||
if (!session && audioActive) { | let mediaStream = publisher.stream.getMediaStream() | ||||
publisher.publishAudio(false) | if (mediaStream) { | ||||
} | mediaStream.getTracks().forEach(track => track.stop()) | ||||
if (!session && videoActive) { | |||||
publisher.publishVideo(false) | |||||
} | } | ||||
publisher = null | publisher = null | ||||
} | } | ||||
if (session) { | if (session) { | ||||
session.disconnect(); | session.disconnect(); | ||||
session = null | session = null | ||||
▲ Show 20 Lines • Show All 1,307 Lines • Show Last 20 Lines |