@techsee/techsee-media-service 999.19.3-alphasap → 999.19.6-nodejs20
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/README.md +27 -28
- package/lib/LocalStreamManager.d.ts +1 -0
- package/lib/LocalStreamManager.d.ts.map +1 -1
- package/lib/LocalStreamManager.js +82 -84
- package/lib/LocalStreamManager.js.map +1 -1
- package/lib/MediaConstants.d.ts +20 -3
- package/lib/MediaConstants.d.ts.map +1 -1
- package/lib/MediaConstants.js +31 -13
- package/lib/MediaConstants.js.map +1 -1
- package/lib/MediaContracts.d.ts +7 -1
- package/lib/MediaContracts.d.ts.map +1 -1
- package/lib/MediaContracts.js +1 -4
- package/lib/MediaContracts.js.map +1 -1
- package/lib/MediaPublisher.d.ts +1 -0
- package/lib/MediaPublisher.d.ts.map +1 -1
- package/lib/MediaPublisher.js +7 -10
- package/lib/MediaPublisher.js.map +1 -1
- package/lib/MediaServiceBase.d.ts +1 -0
- package/lib/MediaServiceBase.d.ts.map +1 -1
- package/lib/MediaServiceBase.js +169 -198
- package/lib/MediaServiceBase.js.map +1 -1
- package/lib/MediaSession/MediaServer.d.ts +1 -0
- package/lib/MediaSession/MediaServer.d.ts.map +1 -1
- package/lib/MediaSession/MediaServer.js +62 -74
- package/lib/MediaSession/MediaServer.js.map +1 -1
- package/lib/MediaSession/MediaSessionBase.d.ts +1 -0
- package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
- package/lib/MediaSession/MediaSessionBase.js +19 -23
- package/lib/MediaSession/MediaSessionBase.js.map +1 -1
- package/lib/MediaSession/SessionOpentok.d.ts +1 -0
- package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
- package/lib/MediaSession/SessionOpentok.js +51 -80
- package/lib/MediaSession/SessionOpentok.js.map +1 -1
- package/lib/MediaSession/SessionTurn.d.ts +1 -0
- package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
- package/lib/MediaSession/SessionTurn.js +109 -151
- package/lib/MediaSession/SessionTurn.js.map +1 -1
- package/lib/MediaSession/TurnConstants.d.ts +1 -0
- package/lib/MediaSession/TurnConstants.d.ts.map +1 -1
- package/lib/MediaSession/TurnConstants.js +1 -16
- package/lib/MediaSession/TurnConstants.js.map +1 -1
- package/lib/MediaSubscriber.d.ts +1 -0
- package/lib/MediaSubscriber.d.ts.map +1 -1
- package/lib/MediaSubscriber.js +37 -43
- package/lib/MediaSubscriber.js.map +1 -1
- package/lib/MediaUtils/Compatibility.d.ts +3 -0
- package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
- package/lib/MediaUtils/Compatibility.js +76 -34
- package/lib/MediaUtils/Compatibility.js.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.d.ts +4 -2
- package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.js +64 -62
- package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
- package/lib/MediaUtils/MediaTracer.d.ts +1 -0
- package/lib/MediaUtils/MediaTracer.d.ts.map +1 -1
- package/lib/MediaUtils/MediaTracer.js +2 -5
- package/lib/MediaUtils/MediaTracer.js.map +1 -1
- package/lib/MediaUtils/index.d.ts +2 -0
- package/lib/MediaUtils/index.d.ts.map +1 -0
- package/lib/MediaUtils/index.js +6 -0
- package/lib/MediaUtils/index.js.map +1 -0
- package/lib/MultiParty/DetectWebRtcService.d.ts +17 -14
- package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -1
- package/lib/MultiParty/DetectWebRtcService.js +98 -54
- package/lib/MultiParty/DetectWebRtcService.js.map +1 -1
- package/lib/MultiParty/MediaCapabilitiesService.d.ts +18 -0
- package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesService.js +158 -0
- package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +6 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.js +123 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
- package/lib/MultiParty/MediaTracer.d.ts +4 -0
- package/lib/MultiParty/MediaTracer.d.ts.map +1 -0
- package/lib/MultiParty/MediaTracer.js +10 -0
- package/lib/MultiParty/MediaTracer.js.map +1 -0
- package/lib/MultiParty/MultiPartyService.d.ts +49 -0
- package/lib/MultiParty/MultiPartyService.d.ts.map +1 -0
- package/lib/MultiParty/MultiPartyService.js +30 -0
- package/lib/MultiParty/MultiPartyService.js.map +1 -0
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts +4 -0
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
- package/lib/MultiParty/MultiPartyServiceFactory.js +13 -0
- package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts +89 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.d.ts.map +1 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.js +16 -0
- package/lib/MultiParty/MultipartyServiceEventTypes.js.map +1 -0
- package/lib/MultiParty/index.d.ts +7 -0
- package/lib/MultiParty/index.d.ts.map +1 -0
- package/lib/MultiParty/index.js +25 -0
- package/lib/MultiParty/index.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts +38 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js +492 -0
- package/lib/MultiParty/opentok/OpentokMultiPartyService.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts +34 -0
- package/lib/MultiParty/opentok/OpentokPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisher.js +121 -0
- package/lib/MultiParty/opentok/OpentokPublisher.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts +20 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js +49 -0
- package/lib/MultiParty/opentok/OpentokPublisherEventMapper.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts +6 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js +48 -0
- package/lib/MultiParty/opentok/OpentokScreenPublisher.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts +2 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.js +26 -0
- package/lib/MultiParty/opentok/OpentokSubscriber.js.map +1 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts +19 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.d.ts.map +1 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js +182 -0
- package/lib/MultiParty/opentok/OpentokVideoPublisher.js.map +1 -0
- package/lib/MultiParty/opentok/trace.d.ts +3 -0
- package/lib/MultiParty/opentok/trace.d.ts.map +1 -0
- package/lib/MultiParty/opentok/trace.js +18 -0
- package/lib/MultiParty/opentok/trace.js.map +1 -0
- package/lib/MultiParty/opentok.d.ts +463 -0
- package/lib/MultiParty/types.d.ts +33 -0
- package/lib/MultiParty/types.d.ts.map +1 -0
- package/lib/MultiParty/types.js +3 -0
- package/lib/MultiParty/types.js.map +1 -0
- package/lib/MultiParty/utils.d.ts +10 -0
- package/lib/MultiParty/utils.d.ts.map +1 -0
- package/lib/MultiParty/utils.js +17 -0
- package/lib/MultiParty/utils.js.map +1 -0
- package/lib/TechseeMediaStream.d.ts +1 -0
- package/lib/TechseeMediaStream.d.ts.map +1 -1
- package/lib/TechseeMediaStream.js +9 -12
- package/lib/TechseeMediaStream.js.map +1 -1
- package/lib/qos/raw-qos.d.ts +29 -0
- package/lib/qos/raw-qos.d.ts.map +1 -0
- package/lib/qos/raw-qos.js +84 -145
- package/lib/qos/raw-qos.js.map +1 -1
- package/lib/webrtc-ie-shim.d.ts +4 -0
- package/lib/webrtc-ie-shim.d.ts.map +1 -0
- package/lib/webrtc-ie-shim.js +1896 -2950
- package/lib/webrtc-ie-shim.js.map +1 -1
- package/package.json +66 -60
- package/lib/MultiParty/Contracts.d.ts +0 -11
- package/lib/MultiParty/Contracts.d.ts.map +0 -1
- package/lib/MultiParty/Contracts.js +0 -6
- package/lib/MultiParty/Contracts.js.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts +0 -12
- package/lib/MultiParty/MediaCapabilitiesHelper.d.ts.map +0 -1
- package/lib/MultiParty/MediaCapabilitiesHelper.js +0 -167
- package/lib/MultiParty/MediaCapabilitiesHelper.js.map +0 -1
- package/lib/MultiParty/MultiParty.d.ts +0 -21
- package/lib/MultiParty/MultiParty.d.ts.map +0 -1
- package/lib/MultiParty/MultiParty.js +0 -155
- package/lib/MultiParty/MultiParty.js.map +0 -1
- package/lib/MultiParty/MultipartyFactory.d.ts +0 -2
- package/lib/MultiParty/MultipartyFactory.d.ts.map +0 -1
- package/lib/MultiParty/MultipartyFactory.js +0 -15
- package/lib/MultiParty/MultipartyFactory.js.map +0 -1
- package/lib/MultiParty/OpentokMultiparty.d.ts +0 -24
- package/lib/MultiParty/OpentokMultiparty.d.ts.map +0 -1
- package/lib/MultiParty/OpentokMultiparty.js +0 -408
- package/lib/MultiParty/OpentokMultiparty.js.map +0 -1
- package/lib/oldCode/constants.js +0 -20
- package/lib/oldCode/constants.js.map +0 -1
- package/lib/oldCode/event-emitter.js +0 -39
- package/lib/oldCode/event-emitter.js.map +0 -1
- package/lib/oldCode/index.js +0 -64
- package/lib/oldCode/index.js.map +0 -1
- package/lib/oldCode/opentok/session.js +0 -310
- package/lib/oldCode/opentok/session.js.map +0 -1
- package/lib/oldCode/opentok/stream.js +0 -310
- package/lib/oldCode/opentok/stream.js.map +0 -1
- package/lib/oldCode/publisher.js +0 -143
- package/lib/oldCode/publisher.js.map +0 -1
- package/lib/oldCode/service.js +0 -395
- package/lib/oldCode/service.js.map +0 -1
- package/lib/oldCode/session.js +0 -110
- package/lib/oldCode/session.js.map +0 -1
- package/lib/oldCode/stream.js +0 -195
- package/lib/oldCode/stream.js.map +0 -1
- package/lib/oldCode/subscriber.js +0 -90
- package/lib/oldCode/subscriber.js.map +0 -1
- package/lib/oldCode/tracer.d.ts +0 -36
- package/lib/oldCode/tracer.d.ts.map +0 -1
- package/lib/oldCode/tracer.js +0 -161
- package/lib/oldCode/tracer.js.map +0 -1
- package/lib/oldCode/utils/ImageFixer.d.ts +0 -1
- package/lib/oldCode/utils/ImageFixer.d.ts.map +0 -1
- package/lib/oldCode/utils/ImageFixer.js +0 -59
- package/lib/oldCode/utils/ImageFixer.js.map +0 -1
- package/lib/oldCode/webrtc/constants.js +0 -114
- package/lib/oldCode/webrtc/constants.js.map +0 -1
- package/lib/oldCode/webrtc/helper.js +0 -173
- package/lib/oldCode/webrtc/helper.js.map +0 -1
- package/lib/oldCode/webrtc/session-kms.js +0 -558
- package/lib/oldCode/webrtc/session-kms.js.map +0 -1
- package/lib/oldCode/webrtc/session-loopback.js +0 -336
- package/lib/oldCode/webrtc/session-loopback.js.map +0 -1
- package/lib/oldCode/webrtc/session-turn.js +0 -880
- package/lib/oldCode/webrtc/session-turn.js.map +0 -1
- package/lib/oldCode/webrtc/session-turn.v2.js +0 -583
- package/lib/oldCode/webrtc/session-turn.v2.js.map +0 -1
- package/lib/oldCode/webrtc/session.js +0 -52
- package/lib/oldCode/webrtc/session.js.map +0 -1
- package/lib/oldCode/webrtc/stream.js +0 -674
- package/lib/oldCode/webrtc/stream.js.map +0 -1
- package/lib/oldCode/webrtc/temasys/adapter-loader.js +0 -12
- package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +0 -1
- package/lib/oldCode/webrtc/temasys/adapter.js +0 -5861
- package/lib/oldCode/webrtc/temasys/adapter.js.map +0 -1
- package/lib/oldCode/webrtc/webrtc-ie-shim.js +0 -3007
- package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MediaSession/SessionTurn.js"],"names":["__extends","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","constructor","create","__createBinding","o","m","k","k2","undefined","defineProperty","enumerable","get","__setModuleDefault","v","value","__importStar","mod","__esModule","result","__importDefault","exports","TurnWebRtcSession","io","require","once_1","MediaConstants_1","TurnConstants_1","MediaTracer_1","MediaSessionBase_1","trace","getMediaTracer","_super","sessionParams","sessionHandlers","streamFactory","_this","_sessionHandlers","_socket","_pendingPeersIce","iceServers","credentials","ice","map","item","urls","url","username","login","credential","password","_configuration","iceTransportPolicy","_joinResponseHandler","bind","_iceCandidateReceivedHandler","_sendOfferHandler","_sdpOfferHandler","_initiatorPeerReconnectHandler","_peerDisconnectedHandler","_onSocketDisconnectedHandler","_sessionParams","sessionId","configurable","connect","connectOnly","info","_connectSocket","then","emit","SOCKET_EVENTS","OUTGOING","JOIN_ROOM","clientType","catch","error","disconnect","MediaSessionDisconnectReason","ForcedByConsumer","_disconnectInternal","Promise","resolve","reject","socket","SOCKET_RECONNECTION_DELAY","SOCKET_RECONNECTION_DELAY_MAX","SOCKET_RECONNECTION_ATTEMPTS","SOCKET_PATH","done","default","err","once","on","INCOMING","ERROR","SEND_OFFER","JOIN_RESPONSE","PEER_DISCONNECTED","SDP_OFFER","PUBLISHER_RECONNECT","ICE_CANDIDATE","reason","SignalingChannelDisconnect","replaceStreamTracks","mediaStream","promises","_peerConnections","forEach","peerConnection","getTracks","track","sender","getSenders","find","s","kind","push","replaceTrack","id","all","window","mediaStreamAlreadyReplaced","sendOfferEventData","uid","peerId","_createPeerConnection","SessionClientType","GUEST","SessionClientRole","AGENT","offerParams","offerToReceiveAudio","offerToReceiveVideo","_sessionStreamsManager","getMediaStreamForRole","addTrack","createOffer","offerDesc","sdpOffer","sdp","setLocalDescription","_setPeerConnectionMonitor","latestUserMediaStream","e","warn","joinResponseData","sdpAnswer","_withPeerConnection","answer","RTCSessionDescription","type","setRemoteDescription","_processQueuedIceCandidates","peerDisconnectedEvent","_destroyPeerConnection","sdpOfferEvent","INITIATOR","USER","remoteDesc","createAnswer","SDP_ANSWER","InitiatorPeerReconnected","onMediaStreamDestroyed","clientRole","PublishedStreamDestroyed","onMediaStreamRenewed","getRemoteTrackStats","mediaTrack","peerConnectionOfTrack","getPeerConnectionByMediaTrack","getStats","Error","sessionDisconnect","setTimeout","onDisconnectedHandler","peerConnectionType","peerConnectionRole","RTCPeerConnection","peerType","remoteMediaTracks","peerRole","connectionTimoutPrt","onconnectionstatechange","oniceconnectionstatechange","state","currentTarget","iceConnectionState","cnState","clearTimeout","indexOf","_iceStateDisconnected","registerPeersRemoteTracks","onicecandidate","event","candidate","ontrack","trackEvent","addRemoteTrackToPeer","connectionState","set","_handlePeerConnectionTimeout","peerConnectivityTimeoutSeconds","PeerConnectionStateChangeTimeout","onicegatheringstatechange","unregisterPeersRemoteMediaTracks","delete","close","callback","iceCandidateData","remoteDescription","_queueIceCandidate","_addIceCandidateToPeer","iceCandidate","addIceCandidate","pendingIces","pendingIce","PeerConnectionInterrupted","off","MediaSessionBase"],"mappings":"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","file":"SessionTurn.js","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TurnWebRtcSession = void 0;\nvar io = __importStar(require(\"socket.io-client\"));\nvar once_1 = __importDefault(require(\"lodash/once\"));\nvar MediaConstants_1 = require(\"../MediaConstants\");\nvar TurnConstants_1 = require(\"./TurnConstants\");\nvar MediaTracer_1 = require(\"../MediaUtils/MediaTracer\");\nvar MediaSessionBase_1 = require(\"./MediaSessionBase\");\nvar trace = MediaTracer_1.getMediaTracer('TurnWebRtcSession');\n//Currently this version supports subscribing only. Publishing will be implemented as needed.\nvar TurnWebRtcSession = /** @class */ (function (_super) {\n __extends(TurnWebRtcSession, _super);\n function TurnWebRtcSession(sessionParams, sessionHandlers, streamFactory) {\n var _this = _super.call(this, sessionParams, streamFactory) || this;\n _this._sessionHandlers = sessionHandlers;\n _this._socket = null;\n _this._pendingPeersIce = {};\n var iceServers = sessionParams.credentials.ice.map(function (item) { return ({\n urls: item.url,\n username: item.login,\n credential: item.password\n }); });\n _this._configuration = {\n iceServers: iceServers,\n iceTransportPolicy: 'relay'\n };\n _this._joinResponseHandler = _this._joinResponseHandler.bind(_this);\n _this._iceCandidateReceivedHandler = _this._iceCandidateReceivedHandler.bind(_this);\n _this._sendOfferHandler = _this._sendOfferHandler.bind(_this);\n _this._sdpOfferHandler = _this._sdpOfferHandler.bind(_this);\n _this._initiatorPeerReconnectHandler = _this._initiatorPeerReconnectHandler.bind(_this);\n _this._peerDisconnectedHandler = _this._peerDisconnectedHandler.bind(_this);\n _this._onSocketDisconnectedHandler = _this._onSocketDisconnectedHandler.bind(_this);\n return _this;\n }\n Object.defineProperty(TurnWebRtcSession.prototype, \"id\", {\n get: function () {\n return this._sessionParams.sessionId;\n },\n enumerable: false,\n configurable: true\n });\n //#region Socket Connectivity\n TurnWebRtcSession.prototype.connect = function (connectOnly) {\n var _this = this;\n if (connectOnly === void 0) { connectOnly = false; }\n trace.info('Connect to session');\n return this._connectSocket(this._sessionParams.credentials.url, connectOnly)\n .then(function () {\n trace.info('Joining SessionId: ' + _this._sessionParams.sessionId);\n _this._socket.emit(TurnConstants_1.SOCKET_EVENTS.OUTGOING.JOIN_ROOM, {\n clientType: _this._sessionParams.clientType,\n sessionId: _this._sessionParams.sessionId\n });\n })\n .catch(function (error) {\n throw error;\n });\n };\n TurnWebRtcSession.prototype.disconnect = function () {\n trace.info('disconnect - call disconnect from session', MediaConstants_1.MediaSessionDisconnectReason.ForcedByConsumer);\n return this._disconnectInternal(MediaConstants_1.MediaSessionDisconnectReason.ForcedByConsumer);\n };\n TurnWebRtcSession.prototype._connectSocket = function (url, connectOnly) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var socket = _this._socket = io.connect(url, {\n 'forceNew': true,\n 'reconnectionDelay': TurnConstants_1.SOCKET_RECONNECTION_DELAY,\n 'reconnectionDelayMax': TurnConstants_1.SOCKET_RECONNECTION_DELAY_MAX,\n 'reconnectionAttempts': TurnConstants_1.SOCKET_RECONNECTION_ATTEMPTS,\n 'path': TurnConstants_1.SOCKET_PATH\n });\n var done = once_1.default(function (err) {\n err ? reject(err) : resolve();\n });\n socket.once('connect', function () { return done(); });\n socket.on(TurnConstants_1.SOCKET_EVENTS.INCOMING.ERROR, done);\n socket.on('connect_error', done);\n socket.on('connect_timeout', done);\n socket.on('disconnect', _this._onSocketDisconnectedHandler);\n if (!connectOnly) {\n trace.info('Subscribing socket events');\n socket.on(TurnConstants_1.SOCKET_EVENTS.INCOMING.SEND_OFFER, _this._sendOfferHandler);\n socket.on(TurnConstants_1.SOCKET_EVENTS.INCOMING.JOIN_RESPONSE, _this._joinResponseHandler);\n socket.on(TurnConstants_1.SOCKET_EVENTS.INCOMING.PEER_DISCONNECTED, _this._peerDisconnectedHandler);\n socket.on(TurnConstants_1.SOCKET_EVENTS.INCOMING.SDP_OFFER, _this._sdpOfferHandler);\n socket.on(TurnConstants_1.SOCKET_EVENTS.INCOMING.PUBLISHER_RECONNECT, _this._initiatorPeerReconnectHandler);\n socket.on(TurnConstants_1.SOCKET_EVENTS.INCOMING.ICE_CANDIDATE, _this._iceCandidateReceivedHandler);\n }\n });\n };\n TurnWebRtcSession.prototype._onSocketDisconnectedHandler = function (reason) {\n if (this._socket) {\n // The initial example of differentiating between \"forced\" disconnect and \"network\" disconnect is taken from:\n // https://socket.io/docs/client-api/#Event-%E2%80%98disconnect%E2%80%99\n if (reason !== 'io server disconnect' && reason !== 'io client disconnect') {\n trace.info('_onSocketDisconnectedHandler disconnect from session', MediaConstants_1.MediaSessionDisconnectReason.SignalingChannelDisconnect);\n // the disconnection was initiated by the server or by client, you need to call (connect) manually\n this._disconnectInternal(MediaConstants_1.MediaSessionDisconnectReason.SignalingChannelDisconnect).catch(function () { return undefined; });\n }\n }\n };\n TurnWebRtcSession.prototype.replaceStreamTracks = function (mediaStream) {\n var promises = [];\n if (mediaStream && this._peerConnections) {\n trace.info('replaceStreamTracks - Replace local tracks to peer connection');\n this._peerConnections.forEach(function (peerConnection) {\n mediaStream.getTracks().forEach(function (track) {\n var sender = peerConnection.getSenders().find(function (s) { return s.track.kind === track.kind; });\n if (sender) {\n promises.push(sender.replaceTrack(track)\n .then(function () { return trace.info(\"replaceStreamTracks - Local \" + track.kind + \" \" + track.id + \" track replace to peer connection\"); }));\n }\n });\n });\n }\n return Promise.all(promises).then(function () {\n window.mediaStreamAlreadyReplaced = true;\n trace.info('replaceStreamTracks: replace stream tracks - Success');\n });\n };\n //#endregion\n //#region WebRTC Initiator - session Initiator (User on mobile device)\n // Received by Initiator, causing him to emit SDP_OFFER\n TurnWebRtcSession.prototype._sendOfferHandler = function (sendOfferEventData) {\n var _this = this;\n var uid = sendOfferEventData.uid, peerId = sendOfferEventData.peerId;\n trace.info('_sendOfferHandler');\n //Currently we not support of passing role through signaling, so we assume every connection is \"AGENT\" like\n var peerConnection = this._createPeerConnection(peerId, MediaConstants_1.SessionClientType.GUEST, MediaConstants_1.SessionClientRole.AGENT);\n var offerParams = { offerToReceiveAudio: true, offerToReceiveVideo: true };\n //TODO - Alex: Currently we not sending \"role\" through signaling, and by default we assume that the one who asks fot offer, is agent.\n //On later stages we can send or the client \"role\" or the list of \"streams\" that peer is interested in.\n this._sessionStreamsManager.getMediaStreamForRole(MediaConstants_1.SessionClientRole.AGENT)\n .then(function (mediaStream) {\n trace.info('_sendOfferHandler stream and peer created');\n if (mediaStream) {\n trace.info('Adding local tracks to peer connection for sending offer');\n mediaStream.getTracks().forEach(function (track) {\n peerConnection.addTrack(track, mediaStream);\n trace.info(\"Local \" + track.kind + \" \" + track.id + \" track added to peer connection\");\n });\n }\n else {\n trace.info('No media stream was found for publishing');\n }\n })\n .then(function () { return peerConnection.createOffer(offerParams); })\n .then(function (offerDesc) {\n trace.info('Initiator has created sdp offer', { offerDesc: offerDesc });\n _this._socket.emit(TurnConstants_1.SOCKET_EVENTS.OUTGOING.SDP_OFFER, {\n uid: uid,\n peerId: peerId,\n sessionId: _this._sessionParams.sessionId,\n sdpOffer: offerDesc.sdp\n });\n return peerConnection.setLocalDescription(offerDesc)\n .then(function () {\n trace.info('Local description was set on peerConnection', peerConnection);\n _this._setPeerConnectionMonitor(peerConnection);\n // make sure using the tracks of the last stream that used\n if (window.latestUserMediaStream && window.mediaStreamAlreadyReplaced) {\n _this.replaceStreamTracks(window.latestUserMediaStream.mediaStream)\n .catch(function (e) { return trace.warn('_sendOfferHandler - Failed to replaceStreamTrace', e); });\n }\n });\n })\n .catch(function (e) {\n trace.warn('Error', e);\n });\n };\n // Received by the Initiator: Indicates that publish should be started\n TurnWebRtcSession.prototype._joinResponseHandler = function (joinResponseData) {\n var _this = this;\n var sdpAnswer = joinResponseData.sdpAnswer, uid = joinResponseData.uid, peerId = joinResponseData.peerId;\n trace.info('joinResponse Received', { sdpAnswer: sdpAnswer });\n this._withPeerConnection(peerId, function (peerConnection) {\n var answer = new RTCSessionDescription({\n type: 'answer',\n sdp: sdpAnswer\n });\n peerConnection.setRemoteDescription(answer)\n .then(function () {\n trace.info('Remote description was set', answer);\n _this._processQueuedIceCandidates(peerId);\n })\n .catch(function (e) {\n trace.warn('Error', e);\n });\n });\n };\n // Received by Initiator after a guests socket has been disconnected\n TurnWebRtcSession.prototype._peerDisconnectedHandler = function (peerDisconnectedEvent) {\n var _this = this;\n var peerId = peerDisconnectedEvent.peerId;\n trace.info('_peerDisconnectedHandler');\n this._withPeerConnection(peerId, function (peerConnection) {\n _this._destroyPeerConnection(peerConnection);\n //this._disconnectInternal(MediaSessionDisconnectReason.PeerDisconnected).catch(() => undefined);\n });\n };\n //#endregion WebRTC Initiator - session Initiator (User on mobile device)\n //#region WebRTC Guest - session Guest (Agent on dashboard platform)\n // Received by Guest, causing him to emit SDP_ANSWER\n TurnWebRtcSession.prototype._sdpOfferHandler = function (sdpOfferEvent) {\n var _this = this;\n var sdpOffer = sdpOfferEvent.sdpOffer, peerId = sdpOfferEvent.peerId, uid = sdpOfferEvent.uid;\n trace.info('sdpOffer Received', { sdpOffer: sdpOffer });\n var peerConnection = this._createPeerConnection(peerId, MediaConstants_1.SessionClientType.INITIATOR, MediaConstants_1.SessionClientRole.USER);\n this._sessionStreamsManager.getMediaStreamForRole(MediaConstants_1.SessionClientRole.USER)\n .then(function (mediaStream) {\n if (mediaStream) {\n trace.info('Adding local tracks to peer connection offer handler');\n mediaStream.getTracks().forEach(function (track) {\n peerConnection.addTrack(track, mediaStream);\n trace.info(\"Local \" + track.kind + \" track added to peer connection\");\n });\n }\n else {\n trace.info('No media stream was found for publishing');\n }\n })\n .then(function () {\n var remoteDesc = new RTCSessionDescription({ type: 'offer', sdp: sdpOffer });\n return peerConnection.setRemoteDescription(remoteDesc)\n .then(function () {\n trace.info('Remote description was set', remoteDesc);\n return peerConnection.createAnswer()\n .then(function (sdpAnswer) {\n trace.info('_sdpOfferHandler answer created', sdpAnswer);\n _this._socket.emit(TurnConstants_1.SOCKET_EVENTS.OUTGOING.SDP_ANSWER, {\n uid: uid,\n peerId: peerId,\n sessionId: _this._sessionParams.sessionId,\n sdpAnswer: sdpAnswer.sdp\n });\n return peerConnection.setLocalDescription(sdpAnswer)\n .then(function () {\n trace.info('_sdpOfferHandler local desc was set');\n _this._processQueuedIceCandidates(peerId);\n _this._setPeerConnectionMonitor(peerConnection);\n });\n });\n });\n })\n .catch(function (e) {\n trace.error('Error in _sdpOfferHandler', e);\n throw e;\n });\n };\n // Received by Guest after an Initiator reconnects to room\n TurnWebRtcSession.prototype._initiatorPeerReconnectHandler = function () {\n trace.info('_initiatorPeerReconnectHandler disconnect from session', MediaConstants_1.MediaSessionDisconnectReason.InitiatorPeerReconnected);\n this._disconnectInternal(MediaConstants_1.MediaSessionDisconnectReason.InitiatorPeerReconnected)\n .catch(function (error) {\n trace.warn('Error while disconnecting during userPeerReconnectHandler.', error);\n });\n };\n //#endregion WebRTC Guest - session Guest (Agent on dashboard platform)\n //#region Peer Connection\n //#region Streams Handling\n TurnWebRtcSession.prototype.onMediaStreamDestroyed = function (clientRole) {\n var _this = this;\n //TODO - Alex: need to implement adding new tracks to peer connection and forcing negotiation\n trace.info('onMediaStreamDestroyed disconnect all peer connections from session', MediaConstants_1.MediaSessionDisconnectReason.PublishedStreamDestroyed);\n this._peerConnections.forEach(function (peerConnection) {\n _this._disconnectInternal(MediaConstants_1.MediaSessionDisconnectReason.PublishedStreamDestroyed).catch(function () { return undefined; });\n });\n return Promise.resolve();\n };\n TurnWebRtcSession.prototype.onMediaStreamRenewed = function (clientRole, mediaStream) {\n //TODO - Alex: need to implement adding new tracks to peer connection and forcing negotiation\n return Promise.resolve();\n };\n TurnWebRtcSession.prototype.getRemoteTrackStats = function (mediaTrack) {\n var peerConnectionOfTrack = this.getPeerConnectionByMediaTrack(mediaTrack);\n if (peerConnectionOfTrack !== null) {\n return peerConnectionOfTrack.getStats(mediaTrack);\n }\n return Promise.reject(new Error('Provided track is not remote track'));\n };\n //#endregion\n TurnWebRtcSession.prototype._disconnectInternal = function (reason) {\n var _this = this;\n this._peerConnections.forEach(function (peerConnection) {\n _this._destroyPeerConnection(peerConnection);\n });\n if (this._socket) {\n trace.info('Disconnecting from session', reason);\n this.sessionDisconnect();\n this._socket = null;\n setTimeout(function () { return _this._sessionHandlers.onDisconnectedHandler(reason); });\n }\n return Promise.resolve();\n };\n TurnWebRtcSession.prototype._createPeerConnection = function (peerId, peerConnectionType, peerConnectionRole) {\n var _this = this;\n if (this._peerConnections.get(peerId)) {\n throw new Error(this._sessionParams.clientType + \" peer connection for \" + peerId + \" already exists\");\n }\n var peerConnection = new RTCPeerConnection(this._configuration);\n peerConnection.peerId = peerId;\n peerConnection.peerType = peerConnectionType;\n peerConnection.remoteMediaTracks = [];\n peerConnection.peerRole = peerConnectionRole;\n peerConnection.connectionTimoutPrt = null;\n peerConnection.onconnectionstatechange = function () {\n trace.info('onconnectionstatechange', peerConnection);\n };\n peerConnection.oniceconnectionstatechange = function (state) {\n trace.info(\"ICE Connection state for peer \" + peerId + \" was changed to: \" + state.currentTarget.iceConnectionState, state);\n var cnState = state.currentTarget.iceConnectionState;\n clearTimeout(peerConnection.connectionTimoutPrt);\n if (['closed', 'disconnected', 'failed'].indexOf(cnState) > -1) {\n _this._iceStateDisconnected(peerConnection);\n }\n else if (cnState === 'connected') {\n _this.registerPeersRemoteTracks(peerConnection);\n }\n };\n peerConnection.onicecandidate = function (event) {\n if (event.candidate) {\n trace.info(_this._sessionParams.clientType + \" peerConn.onicecandidate\", event.candidate);\n _this._socket.emit(TurnConstants_1.SOCKET_EVENTS.OUTGOING.ICE_CANDIDATE, {\n sessionId: _this._sessionParams.sessionId,\n peerId: peerId,\n candidate: event.candidate,\n clientType: _this._sessionParams.clientType\n });\n }\n else {\n trace.info('ICE Candidate is null in peerConnection', event);\n }\n };\n peerConnection.ontrack = function (trackEvent) {\n var track = trackEvent.track;\n trace.info(\"MediaStreamTrack arrived from peerConnection: \" + track.kind, track);\n _this.addRemoteTrackToPeer(peerConnection, track);\n if (peerConnection.connectionState === 'connected') {\n _this.registerPeersRemoteTracks(peerConnection);\n }\n };\n this._peerConnections.set(peerId, peerConnection);\n trace.info(peerConnectionType + \" peerConnection created\");\n return peerConnection;\n };\n TurnWebRtcSession.prototype._setPeerConnectionMonitor = function (peerConnection) {\n var _this = this;\n clearTimeout(peerConnection.connectionTimoutPrt);\n peerConnection.connectionTimoutPrt = setTimeout(function () {\n trace.info('PeerConnection ICE state timeout', peerConnection);\n _this._handlePeerConnectionTimeout(peerConnection);\n }, this._sessionParams.peerConnectivityTimeoutSeconds * 1000);\n };\n TurnWebRtcSession.prototype._handlePeerConnectionTimeout = function (peerConnection) {\n trace.info('_handlePeerConnectionTimeout disconnect from session', MediaConstants_1.MediaSessionDisconnectReason.PeerConnectionStateChangeTimeout);\n if (peerConnection.peerRole === MediaConstants_1.SessionClientRole.USER) {\n this._disconnectInternal(MediaConstants_1.MediaSessionDisconnectReason.PeerConnectionStateChangeTimeout).catch(function () { return undefined; });\n }\n };\n TurnWebRtcSession.prototype._destroyPeerConnection = function (peerConnection) {\n trace.info('Destroying PeerConnection', peerConnection.peerType);\n peerConnection.ontrack = null;\n peerConnection.onicecandidate = null;\n peerConnection.onconnectionstatechange = null;\n peerConnection.oniceconnectionstatechange = null;\n peerConnection.onicegatheringstatechange = null;\n clearTimeout(peerConnection.connectionTimoutPrt);\n this.unregisterPeersRemoteMediaTracks(peerConnection).catch(function () { return undefined; });\n this._peerConnections.delete(peerConnection.peerId);\n peerConnection.close();\n };\n TurnWebRtcSession.prototype._withPeerConnection = function (peerId, callback) {\n if (this._peerConnections.get(peerId)) {\n return callback(this._peerConnections.get(peerId));\n }\n return undefined;\n };\n //#endregion\n //#region ICE Candidates\n TurnWebRtcSession.prototype._iceCandidateReceivedHandler = function (iceCandidateData) {\n var candidate = iceCandidateData.candidate, peerId = iceCandidateData.peerId;\n trace.info('_iceCandidateReceivedHandler', candidate);\n if (!candidate) {\n trace.info('Unexpected case, iceCandidate message arrived without candidate');\n return;\n }\n var peerConnection = this._peerConnections.get(peerId);\n if (!peerConnection || !peerConnection.remoteDescription) {\n trace.info('Queueing iceCandidate', candidate);\n this._queueIceCandidate(candidate, peerId);\n return;\n }\n trace.info('Going to add iceCandidate', candidate);\n this._addIceCandidateToPeer(candidate, peerConnection).catch(function () { return undefined; });\n };\n TurnWebRtcSession.prototype._addIceCandidateToPeer = function (iceCandidate, peerConnection) {\n return peerConnection.addIceCandidate(iceCandidate)\n .then(function () {\n trace.info('ICE Candidate add to peer connection');\n })\n .catch(function (e) {\n trace.warn('Error adding ICE Candidate to peer connection', e);\n throw e;\n });\n };\n TurnWebRtcSession.prototype._processQueuedIceCandidates = function (peerId) {\n var _this = this;\n this._withPeerConnection(peerId, function (peerConnection) {\n var pendingIces = _this._pendingPeersIce[peerId];\n if (pendingIces) {\n pendingIces.forEach(function (pendingIce) {\n trace.info('Adding pending ICE to peer connections');\n _this._addIceCandidateToPeer(pendingIce, peerConnection).catch(function () { return undefined; });\n });\n }\n else {\n trace.info('No pending ICE found for peer', peerId);\n }\n });\n };\n TurnWebRtcSession.prototype._queueIceCandidate = function (iceCandidate, peerId) {\n if (!this._pendingPeersIce[peerId]) {\n this._pendingPeersIce[peerId] = [];\n }\n this._pendingPeersIce[peerId].push(iceCandidate);\n };\n TurnWebRtcSession.prototype._iceStateDisconnected = function (peerConnection) {\n trace.info('_iceStateDisconnected disconnect from session', MediaConstants_1.MediaSessionDisconnectReason.PeerConnectionInterrupted);\n this._disconnectInternal(MediaConstants_1.MediaSessionDisconnectReason.PeerConnectionInterrupted).catch(function () { return undefined; });\n };\n //#endregion\n TurnWebRtcSession.prototype.sessionDisconnect = function () {\n if (this._socket) {\n this._socket.off();\n this._socket.disconnect();\n }\n };\n return TurnWebRtcSession;\n}(MediaSessionBase_1.MediaSessionBase));\nexports.TurnWebRtcSession = TurnWebRtcSession;\n\n//# sourceMappingURL=SessionTurn.js.map\n"]}
|
|
1
|
+
{"version":3,"file":"SessionTurn.js","sourceRoot":"","sources":["../../src/MediaSession/SessionTurn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"TurnConstants.d.ts","sourceRoot":"","sources":["../../src/MediaSession/TurnConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAqCzB,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAAO,EACzC,6BAA6B,OAAO,EACpC,4BAA4B,MAAM,EAClC,WAAW,gBAAgB,CAAC"}
|
|
@@ -1,37 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.SOCKET_PATH = exports.SOCKET_RECONNECTION_ATTEMPTS = exports.SOCKET_RECONNECTION_DELAY_MAX = exports.SOCKET_RECONNECTION_DELAY = exports.SOCKET_EVENTS = void 0;
|
|
5
4
|
exports.SOCKET_EVENTS = {
|
|
6
5
|
OUTGOING: {
|
|
7
|
-
// Emitted to a peer, offering an ICE candidate
|
|
8
6
|
ICE_CANDIDATE: 'onIceCandidate',
|
|
9
|
-
// Initial event, sent by pub/sub as a request to create/join a room
|
|
10
7
|
JOIN_ROOM: 'joinRoom',
|
|
11
|
-
// Sent by publisher, as a response to an SDP offer request (SEND_OFFER)
|
|
12
8
|
SDP_OFFER: 'sdpOfferSend',
|
|
13
|
-
// An SDP response (emitted after receiving an SDP offer)
|
|
14
9
|
SDP_ANSWER: 'sdpAnswerSend'
|
|
15
10
|
},
|
|
16
11
|
INCOMING: {
|
|
17
|
-
// In TURN - Received by a publisher, as a response to an SDP_ANSWER sent by a subscriber
|
|
18
|
-
// In KMS - Received after JOIN_PIPELINE is processed
|
|
19
12
|
JOIN_RESPONSE: 'joinResponse',
|
|
20
|
-
// An incoming ICE candidate sent by a peer
|
|
21
13
|
ICE_CANDIDATE: 'iceCandidate',
|
|
22
|
-
// An error occured in the signaling server
|
|
23
14
|
ERROR: 'errorOccured',
|
|
24
|
-
// Received by a publisher (sent by signaling server when a peer joining a room)
|
|
25
15
|
SEND_OFFER: 'sendOffer',
|
|
26
|
-
// Recieved by a subscriber when publisher sent an SDP offer
|
|
27
16
|
SDP_OFFER: 'sdpOfferRecv',
|
|
28
|
-
// Recieved by all subscribers, when the publisher has reconnected
|
|
29
17
|
PUBLISHER_RECONNECT: 'publisherReconnect',
|
|
30
|
-
// Recieved by the publisher, when a subscriber has disconnected
|
|
31
18
|
PEER_DISCONNECTED: 'peerDisconnected'
|
|
32
19
|
}
|
|
33
20
|
};
|
|
34
21
|
exports.SOCKET_RECONNECTION_DELAY = 3000, exports.SOCKET_RECONNECTION_DELAY_MAX = 6000, exports.SOCKET_RECONNECTION_ATTEMPTS = 100, exports.SOCKET_PATH = '/socket2.io';
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=TurnConstants.js.map
|
|
37
|
-
//# sourceMappingURL=TurnConstants.js.map
|
|
22
|
+
//# sourceMappingURL=TurnConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"TurnConstants.js","sourceRoot":"","sources":["../../src/MediaSession/TurnConstants.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IACzB,QAAQ,EAAE;QAEN,aAAa,EAAE,gBAAgB;QAG/B,SAAS,EAAE,UAAU;QAGrB,SAAS,EAAE,cAAc;QAGzB,UAAU,EAAE,eAAe;KAC9B;IACD,QAAQ,EAAE;QAGN,aAAa,EAAE,cAAc;QAG7B,aAAa,EAAE,cAAc;QAG7B,KAAK,EAAE,cAAc;QAGrB,UAAU,EAAE,WAAW;QAGvB,SAAS,EAAE,cAAc;QAGzB,mBAAmB,EAAE,oBAAoB;QAGzC,iBAAiB,EAAE,kBAAkB;KACxC;CACJ,CAAC;AAEW,QAAA,yBAAyB,GAAG,IAAI,EACzC,QAAA,6BAA6B,GAAG,IAAI,EACpC,QAAA,4BAA4B,GAAG,GAAG,EAClC,QAAA,WAAW,GAAG,aAAa,CAAC"}
|
package/lib/MediaSubscriber.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/MediaSubscriber.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAC,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAYxE,qBAAa,sBAAuB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAoC;
|
|
1
|
+
{"version":3,"file":"MediaSubscriber.d.ts","sourceRoot":"","sources":["../src/MediaSubscriber.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAC,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAYxE,qBAAa,sBAAuB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;gBAE9C,gBAAgB,EAAE,qBAAqB;IAWnD,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,YAAY,IAAI,OAAO,CAM1B;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,YAAY,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAE7C;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASjC,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAK1C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IASrC,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAmB9C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,OAAO,IAAI,IAAI;IAef,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,eAAe;CAK1B"}
|
package/lib/MediaSubscriber.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.TechseeMediaSubscriber = void 0;
|
|
5
4
|
var events_1 = require("events");
|
|
@@ -7,13 +6,13 @@ var MediaDomUtils_1 = require("./MediaUtils/MediaDomUtils");
|
|
|
7
6
|
var MediaConstants_1 = require("./MediaConstants");
|
|
8
7
|
var MediaTracer_1 = require("./MediaUtils/MediaTracer");
|
|
9
8
|
var Compatibility_1 = require("./MediaUtils/Compatibility");
|
|
10
|
-
var trace = MediaTracer_1.getMediaTracer('MediaSubscriber');
|
|
9
|
+
var trace = (0, MediaTracer_1.getMediaTracer)('MediaSubscriber');
|
|
11
10
|
var privateEvents;
|
|
12
11
|
(function (privateEvents) {
|
|
13
12
|
privateEvents["STREAM_STATE_CHANGE"] = "STREAM_STATE_CHANGE";
|
|
14
13
|
privateEvents["SUBSCRIBER_DISPOSE"] = "SUBSCRIBER_DISPOSE";
|
|
15
14
|
})(privateEvents || (privateEvents = {}));
|
|
16
|
-
var TechseeMediaSubscriber =
|
|
15
|
+
var TechseeMediaSubscriber = (function () {
|
|
17
16
|
function TechseeMediaSubscriber(subscriberParams) {
|
|
18
17
|
this._isDisposed = false;
|
|
19
18
|
this._isPlaying = false;
|
|
@@ -26,29 +25,28 @@ var TechseeMediaSubscriber = /** @class */function () {
|
|
|
26
25
|
this._subscriberParams = subscriberParams;
|
|
27
26
|
}
|
|
28
27
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "streamType", {
|
|
29
|
-
|
|
30
|
-
get: function get() {
|
|
28
|
+
get: function () {
|
|
31
29
|
return this._subscriberParams.streamType;
|
|
32
30
|
},
|
|
33
31
|
enumerable: false,
|
|
34
32
|
configurable: true
|
|
35
33
|
});
|
|
36
34
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "container", {
|
|
37
|
-
get: function
|
|
35
|
+
get: function () {
|
|
38
36
|
return this._subscriberParams.container;
|
|
39
37
|
},
|
|
40
38
|
enumerable: false,
|
|
41
39
|
configurable: true
|
|
42
40
|
});
|
|
43
41
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "isPlaying", {
|
|
44
|
-
get: function
|
|
42
|
+
get: function () {
|
|
45
43
|
return this._isPlaying;
|
|
46
44
|
},
|
|
47
45
|
enumerable: false,
|
|
48
46
|
configurable: true
|
|
49
47
|
});
|
|
50
48
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "isSoundMuted", {
|
|
51
|
-
get: function
|
|
49
|
+
get: function () {
|
|
52
50
|
if (!this._mediaElement) {
|
|
53
51
|
return true;
|
|
54
52
|
}
|
|
@@ -58,49 +56,49 @@ var TechseeMediaSubscriber = /** @class */function () {
|
|
|
58
56
|
configurable: true
|
|
59
57
|
});
|
|
60
58
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "hasAudio", {
|
|
61
|
-
get: function
|
|
59
|
+
get: function () {
|
|
62
60
|
return this._hasAudio;
|
|
63
61
|
},
|
|
64
62
|
enumerable: false,
|
|
65
63
|
configurable: true
|
|
66
64
|
});
|
|
67
65
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "hasVideo", {
|
|
68
|
-
get: function
|
|
66
|
+
get: function () {
|
|
69
67
|
return this._hasVideo;
|
|
70
68
|
},
|
|
71
69
|
enumerable: false,
|
|
72
70
|
configurable: true
|
|
73
71
|
});
|
|
74
72
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "mediaElement", {
|
|
75
|
-
get: function
|
|
73
|
+
get: function () {
|
|
76
74
|
return this._mediaElement;
|
|
77
75
|
},
|
|
78
76
|
enumerable: false,
|
|
79
77
|
configurable: true
|
|
80
78
|
});
|
|
81
79
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "videoWidth", {
|
|
82
|
-
get: function
|
|
80
|
+
get: function () {
|
|
83
81
|
return this.mediaElement ? this.mediaElement.videoWidth : 0;
|
|
84
82
|
},
|
|
85
83
|
enumerable: false,
|
|
86
84
|
configurable: true
|
|
87
85
|
});
|
|
88
86
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "videoHeight", {
|
|
89
|
-
get: function
|
|
87
|
+
get: function () {
|
|
90
88
|
return this.mediaElement ? this.mediaElement.videoHeight : 0;
|
|
91
89
|
},
|
|
92
90
|
enumerable: false,
|
|
93
91
|
configurable: true
|
|
94
92
|
});
|
|
95
93
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "renderWidth", {
|
|
96
|
-
get: function
|
|
94
|
+
get: function () {
|
|
97
95
|
return this.container.offsetWidth;
|
|
98
96
|
},
|
|
99
97
|
enumerable: false,
|
|
100
98
|
configurable: true
|
|
101
99
|
});
|
|
102
100
|
Object.defineProperty(TechseeMediaSubscriber.prototype, "renderHeight", {
|
|
103
|
-
get: function
|
|
101
|
+
get: function () {
|
|
104
102
|
return this.container.offsetHeight;
|
|
105
103
|
},
|
|
106
104
|
enumerable: false,
|
|
@@ -122,75 +120,73 @@ var TechseeMediaSubscriber = /** @class */function () {
|
|
|
122
120
|
this.throwIfDisposed();
|
|
123
121
|
this._emitter.on(privateEvents.SUBSCRIBER_DISPOSE, callback);
|
|
124
122
|
};
|
|
125
|
-
//#endregion
|
|
126
|
-
//#region Non Interface Methods
|
|
127
123
|
TechseeMediaSubscriber.prototype.renderStream = function (stream) {
|
|
128
124
|
var _this = this;
|
|
129
125
|
this.throwIfDisposed();
|
|
130
|
-
this.stopRenderInternal()
|
|
131
|
-
return MediaDomUtils_1.renderMediaStreamToVideoEl(_this.container, stream.mediaStream, stream.streamType);
|
|
132
|
-
|
|
126
|
+
this.stopRenderInternal()
|
|
127
|
+
.then(function () { return (0, MediaDomUtils_1.renderMediaStreamToVideoEl)(_this.container, stream.mediaStream, stream.streamType); })
|
|
128
|
+
.then(function (videoEl) {
|
|
133
129
|
_this._hasAudio = stream.mediaStream.getAudioTracks().length > 0;
|
|
134
130
|
_this._hasVideo = stream.mediaStream.getVideoTracks().length > 0;
|
|
135
131
|
_this.setPlayingState(videoEl, stream.streamKind);
|
|
136
132
|
if (_this._hasAudio) {
|
|
137
133
|
_this.muteSound(false);
|
|
138
134
|
}
|
|
139
|
-
})
|
|
135
|
+
})
|
|
136
|
+
.catch(function (error) {
|
|
140
137
|
trace.warn('Error while rendering stream on video element', error);
|
|
141
138
|
});
|
|
142
139
|
};
|
|
143
140
|
TechseeMediaSubscriber.prototype.stopRendering = function () {
|
|
144
141
|
var _this = this;
|
|
145
|
-
return this.stopRenderInternal().then(function () {
|
|
146
|
-
return _this.setPlayingState();
|
|
147
|
-
});
|
|
142
|
+
return this.stopRenderInternal().then(function () { return _this.setPlayingState(); });
|
|
148
143
|
};
|
|
149
144
|
TechseeMediaSubscriber.prototype.dispose = function () {
|
|
150
145
|
if (this._isDisposed) {
|
|
151
146
|
return;
|
|
152
147
|
}
|
|
153
|
-
this.stopRendering().catch(function () {
|
|
154
|
-
return undefined;
|
|
155
|
-
});
|
|
148
|
+
this.stopRendering().catch(function () { return undefined; });
|
|
156
149
|
this._isDisposed = true;
|
|
157
150
|
this._emitter.removeAllListeners();
|
|
158
151
|
trace.info('Subscriber disposed');
|
|
159
152
|
this.emitEvent(privateEvents.SUBSCRIBER_DISPOSE);
|
|
160
153
|
};
|
|
161
|
-
//#endregion
|
|
162
154
|
TechseeMediaSubscriber.prototype.setPlayingState = function (mediaElement, streamKind) {
|
|
163
155
|
var _this = this;
|
|
164
156
|
this._isPlaying = !!mediaElement;
|
|
165
157
|
this._mediaElement = mediaElement || null;
|
|
166
|
-
var finalize = function
|
|
158
|
+
var finalize = function () {
|
|
167
159
|
_this.emitEvent(privateEvents.STREAM_STATE_CHANGE);
|
|
168
|
-
trace.info("Video element "
|
|
160
|
+
trace.info("Video element ".concat(streamKind || '', " ").concat(_this.isPlaying ? 'play' : 'stop', " success"));
|
|
169
161
|
};
|
|
170
162
|
if (this._mediaElement && streamKind === MediaConstants_1.KnownMediaStreamKind.Video) {
|
|
171
163
|
if (this._mediaElement.videoHeight === 0) {
|
|
172
164
|
var disposeResizeHandler_1 = null;
|
|
173
|
-
var resizeHandler = function
|
|
165
|
+
var resizeHandler = function () {
|
|
174
166
|
disposeResizeHandler_1 && disposeResizeHandler_1();
|
|
175
|
-
Compatibility_1.onMediaElementResize(_this._mediaElement, _this.videoResizeHandler);
|
|
167
|
+
(0, Compatibility_1.onMediaElementResize)(_this._mediaElement, _this.videoResizeHandler);
|
|
176
168
|
finalize();
|
|
177
169
|
};
|
|
178
|
-
disposeResizeHandler_1 = Compatibility_1.onMediaElementResize(this._mediaElement, resizeHandler);
|
|
179
|
-
}
|
|
180
|
-
|
|
170
|
+
disposeResizeHandler_1 = (0, Compatibility_1.onMediaElementResize)(this._mediaElement, resizeHandler);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
(0, Compatibility_1.onMediaElementResize)(this._mediaElement, this.videoResizeHandler);
|
|
181
174
|
finalize();
|
|
182
175
|
}
|
|
183
|
-
}
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
184
178
|
finalize();
|
|
185
179
|
}
|
|
186
180
|
};
|
|
187
181
|
TechseeMediaSubscriber.prototype.videoResizeHandler = function () {
|
|
188
|
-
trace.info("Video resize, new size = w: "
|
|
189
|
-
this.
|
|
182
|
+
trace.info("Video resize, new size = w: ".concat(this.videoWidth, " h:").concat(this.videoHeight));
|
|
183
|
+
var resolution = { videoWidth: this.videoWidth, videoHeight: this.videoHeight };
|
|
184
|
+
var resolutionFormat = (0, MediaDomUtils_1.calculateResolution)(resolution);
|
|
185
|
+
this.emitEvent(privateEvents.STREAM_STATE_CHANGE, { resolutionFormat: resolutionFormat });
|
|
190
186
|
};
|
|
191
187
|
TechseeMediaSubscriber.prototype.stopRenderInternal = function () {
|
|
192
188
|
if (this._mediaElement && document.body.contains(this._mediaElement)) {
|
|
193
|
-
return MediaDomUtils_1.removeVideoElementFromDom(this._mediaElement);
|
|
189
|
+
return (0, MediaDomUtils_1.removeVideoElementFromDom)(this._mediaElement);
|
|
194
190
|
}
|
|
195
191
|
return Promise.resolve();
|
|
196
192
|
};
|
|
@@ -206,8 +202,6 @@ var TechseeMediaSubscriber = /** @class */function () {
|
|
|
206
202
|
}
|
|
207
203
|
};
|
|
208
204
|
return TechseeMediaSubscriber;
|
|
209
|
-
}();
|
|
205
|
+
}());
|
|
210
206
|
exports.TechseeMediaSubscriber = TechseeMediaSubscriber;
|
|
211
|
-
|
|
212
|
-
//# sourceMappingURL=MediaSubscriber.js.map
|
|
213
|
-
//# sourceMappingURL=MediaSubscriber.js.map
|
|
207
|
+
//# sourceMappingURL=MediaSubscriber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MediaSubscriber.js","../src/MediaSubscriber.ts"],"names":["Object","defineProperty","exports","value","TechseeMediaSubscriber","events_1","require","MediaDomUtils_1","MediaConstants_1","MediaTracer_1","Compatibility_1","trace","getMediaTracer","privateEvents","subscriberParams","_isDisposed","_isPlaying","_hasVideo","_hasAudio","_mediaElement","info","videoResizeHandler","bind","_emitter","EventEmitter","_subscriberParams","prototype","get","streamType","enumerable","configurable","container","muted","mediaElement","videoWidth","videoHeight","offsetWidth","offsetHeight","muteSound","isMuted","throwIfDisposed","emitEvent","STREAM_STATE_CHANGE","onStateChanged","callback","on","onDispose","SUBSCRIBER_DISPOSE","renderStream","stream","_this","stopRenderInternal","then","renderMediaStreamToVideoEl","mediaStream","videoEl","getAudioTracks","length","getVideoTracks","setPlayingState","streamKind","catch","error","warn","stopRendering","dispose","undefined","removeAllListeners","finalize","isPlaying","KnownMediaStreamKind","Video","disposeResizeHandler_1","resizeHandler","onMediaElementResize","document","body","contains","removeVideoElementFromDom","Promise","resolve","event","eventArgs","setTimeout","emit","Error"],"mappings":"AAAA;;AACAA,OAAOC,cAAP,CAAsBC,OAAtB,EAA+B,YAA/B,EAA6C,EAAEC,OAAO,IAAT,EAA7C;AACAD,QAAQE,sBAAR,GAAiC,KAAK,CAAtC;ACFA,IAAAC,WAAAC,QAAA,QAAA,CAAA;AAIA,IAAAC,kBAAAD,QAAA,4BAAA,CAAA;AACA,IAAAE,mBAAAF,QAAA,kBAAA,CAAA;AAEA,IAAAG,gBAAAH,QAAA,0BAAA,CAAA;AACA,IAAAI,kBAAAJ,QAAA,4BAAA,CAAA;AAEA,IAAMK,QAAQF,cAAAG,cAAA,CAAe,iBAAf,CAAd;AAEA,IAAKC,aAAL;AAAA,CAAA,UAAKA,aAAL,EAAkB;AACdA,kBAAA,qBAAA,IAAA,qBAAA;AACAA,kBAAA,oBAAA,IAAA,oBAAA;AACH,CAHD,EAAKA,kBAAAA,gBAAa,EAAb,CAAL;AAKA,IAAAT,yBAAA,aAAA,YAAA;AAUI,aAAAA,sBAAA,CAAYU,gBAAZ,EAAmD;AAR3C,aAAAC,WAAA,GAAc,KAAd;AACA,aAAAC,UAAA,GAAa,KAAb;AACA,aAAAC,SAAA,GAAY,KAAZ;AACA,aAAAC,SAAA,GAAY,KAAZ;AACA,aAAAC,aAAA,GAA4C,IAA5C;AAKJR,cAAMS,IAAN,CAAW,oBAAX;AAEA,aAAKC,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBC,IAAxB,CAA6B,IAA7B,CAA1B;AAEA,aAAKC,QAAL,GAAgB,IAAIlB,SAAAmB,YAAJ,EAAhB;AACA,aAAKC,iBAAL,GAAyBX,gBAAzB;AACH;AAIDd,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,YAAJ,EAAc;AAFd;ADRIC,aCUJ,eAAA;AACI,mBAAO,KAAKF,iBAAL,CAAuBG,UAA9B;AACH,SAFa;ADPVC,oBAAY,KCOF;ADNVC,sBAAc;ACMJ,KAAd;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,WAAJ,EAAa;ADPTC,aCOJ,eAAA;AACI,mBAAO,KAAKF,iBAAL,CAAuBM,SAA9B;AACH,SAFY;ADJTF,oBAAY,KCIH;ADHTC,sBAAc;ACGL,KAAb;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,WAAJ,EAAa;ADJTC,aCIJ,eAAA;AACI,mBAAO,KAAKX,UAAZ;AACH,SAFY;ADDTa,oBAAY,KCCH;ADATC,sBAAc;ACAL,KAAb;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,cAAJ,EAAgB;ADDZC,aCCJ,eAAA;AACI,gBAAI,CAAC,KAAKR,aAAV,EAAyB;AACrB,uBAAO,IAAP;AACH;AAED,mBAAO,KAAKA,aAAL,CAAmBa,KAA1B;AACH,SANe;ADKZH,oBAAY,KCLA;ADMZC,sBAAc;ACNF,KAAhB;AAQA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,UAAJ,EAAY;ADCRC,aCDJ,eAAA;AACI,mBAAO,KAAKT,SAAZ;AACH,SAFW;ADIRW,oBAAY,KCJJ;ADKRC,sBAAc;ACLN,KAAZ;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,UAAJ,EAAY;ADIRC,aCJJ,eAAA;AACI,mBAAO,KAAKV,SAAZ;AACH,SAFW;ADORY,oBAAY,KCPJ;ADQRC,sBAAc;ACRN,KAAZ;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,cAAJ,EAAgB;ADOZC,aCPJ,eAAA;AACI,mBAAO,KAAKR,aAAZ;AACH,SAFe;ADUZU,oBAAY,KCVA;ADWZC,sBAAc;ACXF,KAAhB;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,YAAJ,EAAc;ADUVC,aCVJ,eAAA;AACI,mBAAO,KAAKM,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,UAAtC,GAAmD,CAA1D;AACH,SAFa;ADaVL,oBAAY,KCbF;ADcVC,sBAAc;ACdJ,KAAd;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,aAAJ,EAAe;ADaXC,aCbJ,eAAA;AACI,mBAAO,KAAKM,YAAL,GAAoB,KAAKA,YAAL,CAAkBE,WAAtC,GAAoD,CAA3D;AACH,SAFc;ADgBXN,oBAAY,KChBD;ADiBXC,sBAAc;ACjBH,KAAf;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,aAAJ,EAAe;ADgBXC,aChBJ,eAAA;AACI,mBAAO,KAAKI,SAAL,CAAeK,WAAtB;AACH,SAFc;ADmBXP,oBAAY,KCnBD;ADoBXC,sBAAc;ACpBH,KAAf;AAIA9B,WAAAC,cAAA,CAAIG,uBAAAsB,SAAJ,EAAI,cAAJ,EAAgB;ADmBZC,aCnBJ,eAAA;AACI,mBAAO,KAAKI,SAAL,CAAeM,YAAtB;AACH,SAFe;ADsBZR,oBAAY,KCtBA;ADuBZC,sBAAc;ACvBF,KAAhB;AAIA1B,2BAAAsB,SAAA,CAAAY,SAAA,GAAA,UAAUC,OAAV,EAA0B;AACtB,aAAKC,eAAL;AACA7B,cAAMS,IAAN,CAAW,oCAAX,EAAiDmB,OAAjD;AACA,YAAI,KAAKpB,aAAL,IAAsB,KAAKA,aAAL,CAAmBa,KAAnB,KAA6BO,OAAvD,EAAgE;AAC5D,iBAAKpB,aAAL,CAAmBa,KAAnB,GAA2BO,OAA3B;AACA,iBAAKE,SAAL,CAAe5B,cAAc6B,mBAA7B;AACH;AACJ,KAPD;AASAtC,2BAAAsB,SAAA,CAAAiB,cAAA,GAAA,UAAeC,QAAf,EAAmC;AAC/B,aAAKJ,eAAL;AACA,aAAKjB,QAAL,CAAcsB,EAAd,CAAiBhC,cAAc6B,mBAA/B,EAAoDE,QAApD;AACH,KAHD;AAKAxC,2BAAAsB,SAAA,CAAAoB,SAAA,GAAA,UAAUF,QAAV,EAA8B;AAC1B,aAAKJ,eAAL;AACA,aAAKjB,QAAL,CAAcsB,EAAd,CAAiBhC,cAAckC,kBAA/B,EAAmDH,QAAnD;AACH,KAHD;AAKA;AAEA;AAEAxC,2BAAAsB,SAAA,CAAAsB,YAAA,GAAA,UAAaC,MAAb,EAAuC;AAAvC,YAAAC,QAAA,IAAA;AACI,aAAKV,eAAL;AACA,aAAKW,kBAAL,GAA0BC,IAA1B,CAA+B,YAAA;AAAM,mBAAA7C,gBAAA8C,0BAAA,CAA2BH,MAAKnB,SAAhC,EAA2CkB,OAAOK,WAAlD,EAA+DL,OAAOrB,UAAtE,CAAA;AAAiF,SAAtH,EACKwB,IADL,CACU,UAACG,OAAD,EAAQ;AACVL,kBAAKhC,SAAL,GAAiB+B,OAAOK,WAAP,CAAmBE,cAAnB,GAAoCC,MAApC,GAA6C,CAA9D;AACAP,kBAAKjC,SAAL,GAAiBgC,OAAOK,WAAP,CAAmBI,cAAnB,GAAoCD,MAApC,GAA6C,CAA9D;AAEAP,kBAAKS,eAAL,CAAqBJ,OAArB,EAA8BN,OAAOW,UAArC;AAEA,gBAAIV,MAAKhC,SAAT,EAAoB;AAChBgC,sBAAKZ,SAAL,CAAe,KAAf;AACH;AACJ,SAVL,EAWKuB,KAXL,CAWW,UAACC,KAAD,EAAM;AACTnD,kBAAMoD,IAAN,CAAW,+CAAX,EAA4DD,KAA5D;AACH,SAbL;AAcH,KAhBD;AAkBA1D,2BAAAsB,SAAA,CAAAsC,aAAA,GAAA,YAAA;AAAA,YAAAd,QAAA,IAAA;AACI,eAAO,KAAKC,kBAAL,GAA0BC,IAA1B,CAA+B,YAAA;AAAM,mBAAAF,MAAKS,eAAL,EAAA;AAAsB,SAA3D,CAAP;AACH,KAFD;AAIAvD,2BAAAsB,SAAA,CAAAuC,OAAA,GAAA,YAAA;AACI,YAAI,KAAKlD,WAAT,EAAsB;AAClB;AACH;AAED,aAAKiD,aAAL,GAAqBH,KAArB,CAA2B,YAAA;AAAM,mBAAAK,SAAA;AAAS,SAA1C;AAGA,aAAKnD,WAAL,GAAmB,IAAnB;AACA,aAAKQ,QAAL,CAAc4C,kBAAd;AACAxD,cAAMS,IAAN,CAAW,qBAAX;AACA,aAAKqB,SAAL,CAAe5B,cAAckC,kBAA7B;AACH,KAZD;AAcA;AAEQ3C,2BAAAsB,SAAA,CAAAiC,eAAA,GAAR,UAAwB1B,YAAxB,EAAyD2B,UAAzD,EAA0F;AAA1F,YAAAV,QAAA,IAAA;AACI,aAAKlC,UAAL,GAAkB,CAAC,CAACiB,YAApB;AACA,aAAKd,aAAL,GAAqBc,gBAAgB,IAArC;AAEA,YAAMmC,WAAW,SAAXA,QAAW,GAAA;AACblB,kBAAKT,SAAL,CAAe5B,cAAc6B,mBAA7B;AACA/B,kBAAMS,IAAN,CAAW,oBAAiBwC,cAAc,EAA/B,IAAiC,GAAjC,IAAqCV,MAAKmB,SAAL,GAAiB,MAAjB,GAA0B,MAA/D,IAAqE,UAAhF;AACH,SAHD;AAKA,YAAI,KAAKlD,aAAL,IAAsByC,eAAepD,iBAAA8D,oBAAA,CAAqBC,KAA9D,EAAqE;AACjE,gBAAI,KAAKpD,aAAL,CAAmBgB,WAAnB,KAAmC,CAAvC,EAA0C;AACtC,oBAAIqC,yBAA4B,IAAhC;AACA,oBAAMC,gBAAgB,SAAhBA,aAAgB,GAAA;AAClBD,8CAAwBA,wBAAxB;AACA9D,oCAAAgE,oBAAA,CAAqBxB,MAAK/B,aAA1B,EAAyC+B,MAAK7B,kBAA9C;AACA+C;AACH,iBAJD;AAMAI,yCAAuB9D,gBAAAgE,oBAAA,CAAqB,KAAKvD,aAA1B,EAAyCsD,aAAzC,CAAvB;AACH,aATD,MASO;AACH/D,gCAAAgE,oBAAA,CAAqB,KAAKvD,aAA1B,EAAyC,KAAKE,kBAA9C;AACA+C;AACH;AACJ,SAdD,MAcO;AACHA;AACH;AACJ,KA1BO;AA4BAhE,2BAAAsB,SAAA,CAAAL,kBAAA,GAAR,YAAA;AACIV,cAAMS,IAAN,CAAW,iCAA+B,KAAKc,UAApC,GAA8C,KAA9C,GAAoD,KAAKC,WAApE;AACA,aAAKM,SAAL,CAAe5B,cAAc6B,mBAA7B;AACH,KAHO;AAKAtC,2BAAAsB,SAAA,CAAAyB,kBAAA,GAAR,YAAA;AACI,YAAI,KAAKhC,aAAL,IAAsBwD,SAASC,IAAT,CAAcC,QAAd,CAAuB,KAAK1D,aAA5B,CAA1B,EAAsE;AAClE,mBAAOZ,gBAAAuE,yBAAA,CAA0B,KAAK3D,aAA/B,CAAP;AACH;AAED,eAAO4D,QAAQC,OAAR,EAAP;AACH,KANO;AAQA5E,2BAAAsB,SAAA,CAAAe,SAAA,GAAR,UAAkBwC,KAAlB,EAAiCC,SAAjC,EAAgD;AAAhD,YAAAhC,QAAA,IAAA;AACIiC,mBAAW,YAAA;AACPjC,kBAAK3B,QAAL,CAAc6D,IAAd,CAAmBH,KAAnB,EAA0BC,SAA1B;AACH,SAFD;AAGH,KAJO;AAMA9E,2BAAAsB,SAAA,CAAAc,eAAA,GAAR,YAAA;AACI,YAAI,KAAKzB,WAAT,EAAsB;AAClB,kBAAM,IAAIsE,KAAJ,CAAU,gCAAV,CAAN;AACH;AACJ,KAJO;AAKZ,WAAAjF,sBAAA;AAtLA,CAAA,EAAA;AAAaF,QAAAE,sBAAA,GAAAA,sBAAA;;AD+Lb","file":"MediaSubscriber.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TechseeMediaSubscriber = void 0;\nvar events_1 = require(\"events\");\nvar MediaDomUtils_1 = require(\"./MediaUtils/MediaDomUtils\");\nvar MediaConstants_1 = require(\"./MediaConstants\");\nvar MediaTracer_1 = require(\"./MediaUtils/MediaTracer\");\nvar Compatibility_1 = require(\"./MediaUtils/Compatibility\");\nvar trace = MediaTracer_1.getMediaTracer('MediaSubscriber');\nvar privateEvents;\n(function (privateEvents) {\n privateEvents[\"STREAM_STATE_CHANGE\"] = \"STREAM_STATE_CHANGE\";\n privateEvents[\"SUBSCRIBER_DISPOSE\"] = \"SUBSCRIBER_DISPOSE\";\n})(privateEvents || (privateEvents = {}));\nvar TechseeMediaSubscriber = /** @class */ (function () {\n function TechseeMediaSubscriber(subscriberParams) {\n this._isDisposed = false;\n this._isPlaying = false;\n this._hasVideo = false;\n this._hasAudio = false;\n this._mediaElement = null;\n trace.info('Subscriber created');\n this.videoResizeHandler = this.videoResizeHandler.bind(this);\n this._emitter = new events_1.EventEmitter();\n this._subscriberParams = subscriberParams;\n }\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"streamType\", {\n //#region IMediaSubscriber\n get: function () {\n return this._subscriberParams.streamType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"container\", {\n get: function () {\n return this._subscriberParams.container;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"isPlaying\", {\n get: function () {\n return this._isPlaying;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"isSoundMuted\", {\n get: function () {\n if (!this._mediaElement) {\n return true;\n }\n return this._mediaElement.muted;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"hasAudio\", {\n get: function () {\n return this._hasAudio;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"hasVideo\", {\n get: function () {\n return this._hasVideo;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"mediaElement\", {\n get: function () {\n return this._mediaElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"videoWidth\", {\n get: function () {\n return this.mediaElement ? this.mediaElement.videoWidth : 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"videoHeight\", {\n get: function () {\n return this.mediaElement ? this.mediaElement.videoHeight : 0;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"renderWidth\", {\n get: function () {\n return this.container.offsetWidth;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TechseeMediaSubscriber.prototype, \"renderHeight\", {\n get: function () {\n return this.container.offsetHeight;\n },\n enumerable: false,\n configurable: true\n });\n TechseeMediaSubscriber.prototype.muteSound = function (isMuted) {\n this.throwIfDisposed();\n trace.info('Subscriber mute change - isMuted =', isMuted);\n if (this._mediaElement && this._mediaElement.muted !== isMuted) {\n this._mediaElement.muted = isMuted;\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n }\n };\n TechseeMediaSubscriber.prototype.onStateChanged = function (callback) {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.STREAM_STATE_CHANGE, callback);\n };\n TechseeMediaSubscriber.prototype.onDispose = function (callback) {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.SUBSCRIBER_DISPOSE, callback);\n };\n //#endregion\n //#region Non Interface Methods\n TechseeMediaSubscriber.prototype.renderStream = function (stream) {\n var _this = this;\n this.throwIfDisposed();\n this.stopRenderInternal().then(function () { return MediaDomUtils_1.renderMediaStreamToVideoEl(_this.container, stream.mediaStream, stream.streamType); })\n .then(function (videoEl) {\n _this._hasAudio = stream.mediaStream.getAudioTracks().length > 0;\n _this._hasVideo = stream.mediaStream.getVideoTracks().length > 0;\n _this.setPlayingState(videoEl, stream.streamKind);\n if (_this._hasAudio) {\n _this.muteSound(false);\n }\n })\n .catch(function (error) {\n trace.warn('Error while rendering stream on video element', error);\n });\n };\n TechseeMediaSubscriber.prototype.stopRendering = function () {\n var _this = this;\n return this.stopRenderInternal().then(function () { return _this.setPlayingState(); });\n };\n TechseeMediaSubscriber.prototype.dispose = function () {\n if (this._isDisposed) {\n return;\n }\n this.stopRendering().catch(function () { return undefined; });\n this._isDisposed = true;\n this._emitter.removeAllListeners();\n trace.info('Subscriber disposed');\n this.emitEvent(privateEvents.SUBSCRIBER_DISPOSE);\n };\n //#endregion\n TechseeMediaSubscriber.prototype.setPlayingState = function (mediaElement, streamKind) {\n var _this = this;\n this._isPlaying = !!mediaElement;\n this._mediaElement = mediaElement || null;\n var finalize = function () {\n _this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n trace.info(\"Video element \" + (streamKind || '') + \" \" + (_this.isPlaying ? 'play' : 'stop') + \" success\");\n };\n if (this._mediaElement && streamKind === MediaConstants_1.KnownMediaStreamKind.Video) {\n if (this._mediaElement.videoHeight === 0) {\n var disposeResizeHandler_1 = null;\n var resizeHandler = function () {\n disposeResizeHandler_1 && disposeResizeHandler_1();\n Compatibility_1.onMediaElementResize(_this._mediaElement, _this.videoResizeHandler);\n finalize();\n };\n disposeResizeHandler_1 = Compatibility_1.onMediaElementResize(this._mediaElement, resizeHandler);\n }\n else {\n Compatibility_1.onMediaElementResize(this._mediaElement, this.videoResizeHandler);\n finalize();\n }\n }\n else {\n finalize();\n }\n };\n TechseeMediaSubscriber.prototype.videoResizeHandler = function () {\n trace.info(\"Video resize, new size = w: \" + this.videoWidth + \" h:\" + this.videoHeight);\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n };\n TechseeMediaSubscriber.prototype.stopRenderInternal = function () {\n if (this._mediaElement && document.body.contains(this._mediaElement)) {\n return MediaDomUtils_1.removeVideoElementFromDom(this._mediaElement);\n }\n return Promise.resolve();\n };\n TechseeMediaSubscriber.prototype.emitEvent = function (event, eventArgs) {\n var _this = this;\n setTimeout(function () {\n _this._emitter.emit(event, eventArgs);\n });\n };\n TechseeMediaSubscriber.prototype.throwIfDisposed = function () {\n if (this._isDisposed) {\n throw new Error('Subscriber is already disposed');\n }\n };\n return TechseeMediaSubscriber;\n}());\nexports.TechseeMediaSubscriber = TechseeMediaSubscriber;\n\n//# sourceMappingURL=MediaSubscriber.js.map\n","import {EventEmitter} from 'events';\nimport {Nullable} from '@techsee/techsee-common';\nimport {IMediaSubscriber, MediaSubscriberParams} from './MediaContracts';\nimport {TechseeMediaStream} from './TechseeMediaStream';\nimport {removeVideoElementFromDom, renderMediaStreamToVideoEl} from './MediaUtils/MediaDomUtils';\nimport {KnownMediaStream, KnownMediaStreamKind} from './MediaConstants';\n\nimport {getMediaTracer} from './MediaUtils/MediaTracer';\nimport {onMediaElementResize} from './MediaUtils/Compatibility';\n\nconst trace = getMediaTracer('MediaSubscriber');\n\nenum privateEvents {\n STREAM_STATE_CHANGE = 'STREAM_STATE_CHANGE',\n SUBSCRIBER_DISPOSE = 'SUBSCRIBER_DISPOSE'\n}\n\nexport class TechseeMediaSubscriber implements IMediaSubscriber {\n private _emitter: EventEmitter;\n private _isDisposed = false;\n private _isPlaying = false;\n private _hasVideo = false;\n private _hasAudio = false;\n private _mediaElement: Nullable<HTMLVideoElement> = null;\n\n private readonly _subscriberParams: MediaSubscriberParams;\n\n constructor(subscriberParams: MediaSubscriberParams) {\n trace.info('Subscriber created');\n\n this.videoResizeHandler = this.videoResizeHandler.bind(this);\n\n this._emitter = new EventEmitter();\n this._subscriberParams = subscriberParams;\n }\n\n //#region IMediaSubscriber\n\n get streamType(): KnownMediaStream {\n return this._subscriberParams.streamType;\n }\n\n get container(): HTMLDivElement {\n return this._subscriberParams.container;\n }\n\n get isPlaying(): boolean {\n return this._isPlaying;\n }\n\n get isSoundMuted(): boolean {\n if (!this._mediaElement) {\n return true;\n }\n\n return this._mediaElement.muted;\n }\n\n get hasAudio(): boolean {\n return this._hasAudio;\n }\n\n get hasVideo(): boolean {\n return this._hasVideo;\n }\n\n get mediaElement(): Nullable<HTMLVideoElement> {\n return this._mediaElement;\n }\n\n get videoWidth(): number {\n return this.mediaElement ? this.mediaElement.videoWidth : 0;\n }\n\n get videoHeight(): number {\n return this.mediaElement ? this.mediaElement.videoHeight : 0;\n }\n\n get renderWidth(): number {\n return this.container.offsetWidth;\n }\n\n get renderHeight(): number {\n return this.container.offsetHeight;\n }\n\n muteSound(isMuted: boolean): void {\n this.throwIfDisposed();\n trace.info('Subscriber mute change - isMuted =', isMuted);\n if (this._mediaElement && this._mediaElement.muted !== isMuted) {\n this._mediaElement.muted = isMuted;\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n }\n }\n\n onStateChanged(callback: () => void): void {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.STREAM_STATE_CHANGE, callback);\n }\n\n onDispose(callback: () => void): void {\n this.throwIfDisposed();\n this._emitter.on(privateEvents.SUBSCRIBER_DISPOSE, callback);\n }\n\n //#endregion\n\n //#region Non Interface Methods\n\n renderStream(stream: TechseeMediaStream): void {\n this.throwIfDisposed();\n this.stopRenderInternal().then(() => renderMediaStreamToVideoEl(this.container, stream.mediaStream, stream.streamType))\n .then((videoEl) => {\n this._hasAudio = stream.mediaStream.getAudioTracks().length > 0;\n this._hasVideo = stream.mediaStream.getVideoTracks().length > 0;\n\n this.setPlayingState(videoEl, stream.streamKind);\n\n if (this._hasAudio) {\n this.muteSound(false);\n }\n })\n .catch((error) => {\n trace.warn('Error while rendering stream on video element', error);\n });\n }\n\n stopRendering(): Promise<void> {\n return this.stopRenderInternal().then(() => this.setPlayingState());\n }\n\n dispose(): void {\n if (this._isDisposed) {\n return;\n }\n\n this.stopRendering().catch(() => undefined);\n\n\n this._isDisposed = true;\n this._emitter.removeAllListeners();\n trace.info('Subscriber disposed');\n this.emitEvent(privateEvents.SUBSCRIBER_DISPOSE);\n }\n\n //#endregion\n\n private setPlayingState(mediaElement?: HTMLVideoElement, streamKind?: KnownMediaStreamKind): void {\n this._isPlaying = !!mediaElement;\n this._mediaElement = mediaElement || null;\n\n const finalize = (): void => {\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n trace.info(`Video element ${streamKind || ''} ${this.isPlaying ? 'play' : 'stop'} success`);\n };\n\n if (this._mediaElement && streamKind === KnownMediaStreamKind.Video) {\n if (this._mediaElement.videoHeight === 0) {\n let disposeResizeHandler: any = null;\n const resizeHandler = (): void => {\n disposeResizeHandler && disposeResizeHandler();\n onMediaElementResize(this._mediaElement, this.videoResizeHandler);\n finalize();\n };\n\n disposeResizeHandler = onMediaElementResize(this._mediaElement, resizeHandler);\n } else {\n onMediaElementResize(this._mediaElement, this.videoResizeHandler);\n finalize();\n }\n } else {\n finalize();\n }\n }\n\n private videoResizeHandler(): void {\n trace.info(`Video resize, new size = w: ${this.videoWidth} h:${this.videoHeight}`);\n this.emitEvent(privateEvents.STREAM_STATE_CHANGE);\n }\n\n private stopRenderInternal() {\n if (this._mediaElement && document.body.contains(this._mediaElement)) {\n return removeVideoElementFromDom(this._mediaElement);\n }\n\n return Promise.resolve();\n }\n\n private emitEvent(event: string, eventArgs?: any): void {\n setTimeout(() => {\n this._emitter.emit(event, eventArgs);\n });\n }\n\n private throwIfDisposed(): void {\n if (this._isDisposed) {\n throw new Error('Subscriber is already disposed');\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"MediaSubscriber.js","sourceRoot":"","sources":["../src/MediaSubscriber.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAIpC,4DAAsH;AACtH,mDAAwE;AAExE,wDAAwD;AACxD,4DAAgE;AAEhE,IAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,iBAAiB,CAAC,CAAC;AAEhD,IAAK,aAGJ;AAHD,WAAK,aAAa;IACd,4DAA2C,CAAA;IAC3C,0DAAyC,CAAA;AAC7C,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB;AAED;IASI,gCAAY,gBAAuC;QAP3C,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAClB,cAAS,GAAG,KAAK,CAAC;QAClB,kBAAa,GAA+B,IAAI,CAAC;QAIrD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAEjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7D,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAY,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC9C,CAAC;IAID,sBAAI,8CAAU;aAAd;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QAC7C,CAAC;;;OAAA;IAED,sBAAI,6CAAS;aAAb;YACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAC5C,CAAC;;;OAAA;IAED,sBAAI,6CAAS;aAAb;YACI,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB,OAAO,IAAI,CAAC;aACf;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACpC,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACI,OAAO,IAAI,CAAC,aAAa,CAAC;QAC9B,CAAC;;;OAAA;IAED,sBAAI,8CAAU;aAAd;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;;;OAAA;IAED,sBAAI,+CAAW;aAAf;YACI,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;;;OAAA;IAED,sBAAI,+CAAW;aAAf;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QACtC,CAAC;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACI,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QACvC,CAAC;;;OAAA;IAED,0CAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,OAAO,EAAE;YAC5D,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;SACrD;IACL,CAAC;IAED,+CAAc,GAAd,UAAe,QAAoB;QAC/B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,0CAAS,GAAT,UAAU,QAAoB;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAMD,6CAAY,GAAZ,UAAa,MAA0B;QAAvC,iBAiBC;QAhBG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE;aACpB,IAAI,CAAC,cAAM,OAAA,IAAA,0CAA0B,EAAC,KAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,EAAjF,CAAiF,CAAC;aAC7F,IAAI,CAAC,UAAC,OAAO;YACV,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAChE,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAEhE,KAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,KAAI,CAAC,SAAS,EAAE;gBAChB,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACzB;QACL,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,KAAK;YACT,KAAK,CAAC,IAAI,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACX,CAAC;IAED,8CAAa,GAAb;QAAA,iBAEC;QADG,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,KAAI,CAAC,eAAe,EAAE,EAAtB,CAAsB,CAAC,CAAC;IACxE,CAAC;IAED,wCAAO,GAAP;QACI,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,OAAO;SACV;QAED,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAIO,gDAAe,GAAvB,UAAwB,YAA+B,EAAE,UAAiC;QAA1F,iBA0BC;QAzBG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC;QAE1C,IAAM,QAAQ,GAAG;YACb,KAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,wBAAiB,UAAU,IAAI,EAAE,cAAI,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,aAAU,CAAC,CAAC;QAChG,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,IAAI,UAAU,KAAK,qCAAoB,CAAC,KAAK,EAAE;YACjE,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,KAAK,CAAC,EAAE;gBACtC,IAAI,sBAAoB,GAAQ,IAAI,CAAC;gBACrC,IAAM,aAAa,GAAG;oBAClB,sBAAoB,IAAI,sBAAoB,EAAE,CAAC;oBAC/C,IAAA,oCAAoB,EAAC,KAAI,CAAC,aAAa,EAAE,KAAI,CAAC,kBAAkB,CAAC,CAAC;oBAClE,QAAQ,EAAE,CAAC;gBACf,CAAC,CAAC;gBAEF,sBAAoB,GAAG,IAAA,oCAAoB,EAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;aAClF;iBAAM;gBACH,IAAA,oCAAoB,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAClE,QAAQ,EAAE,CAAC;aACd;SACJ;aAAM;YACH,QAAQ,EAAE,CAAC;SACd;IACL,CAAC;IAEO,mDAAkB,GAA1B;QACI,KAAK,CAAC,IAAI,CAAC,sCAA+B,IAAI,CAAC,UAAU,gBAAM,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;QACnF,IAAM,UAAU,GAAG,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAC,CAAC;QAChF,IAAM,gBAAgB,GAAG,IAAA,mCAAmB,EAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAC,gBAAgB,kBAAA,EAAC,CAAC,CAAC;IAC1E,CAAC;IAEO,mDAAkB,GAA1B;QACI,IAAI,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAClE,OAAO,IAAA,yCAAyB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACxD;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,0CAAS,GAAjB,UAAkB,KAAa,EAAE,SAAe;QAAhD,iBAIC;QAHG,UAAU,CAAC;YACP,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,gDAAe,GAAvB;QACI,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACrD;IACL,CAAC;IACL,6BAAC;AAAD,CAAC,AAxLD,IAwLC;AAxLY,wDAAsB"}
|
|
@@ -7,8 +7,11 @@ declare global {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const WAIT_FOR_OPENTOK_INITIALIZATION_MAX_ATTEMPTS = 10;
|
|
9
9
|
export declare const WAIT_FOR_OPENTOK_INITIALIZATION_INTERVAL = 500;
|
|
10
|
+
export declare const WAIT_FOR_OPENTOK_SWITCH_CAMERA_WITH_BLUR_EFFECT = 0;
|
|
10
11
|
export declare function waitForOpenTokIsLoaded(): Promise<void>;
|
|
11
12
|
export declare function enumerateMediaDevices(): Promise<MediaDeviceInfo[]>;
|
|
12
13
|
export declare function isVideoPlaySupportedOnDevice(mediaServiceType: MediaServiceType): Promise<boolean>;
|
|
13
14
|
export declare function onMediaElementResize(mediaElement: any, onResizeHandler: any): () => void;
|
|
14
15
|
export declare function registerWebRTCAdapters(): void;
|
|
16
|
+
export declare function waitAfterClearingFilter(): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=Compatibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"Compatibility.d.ts","sourceRoot":"","sources":["../../src/MediaUtils/Compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAInD,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,EAAE,EAAE,GAAG,CAAC;QACR,QAAQ,EAAE,GAAG,CAAC;KACjB;CACJ;AAgBD,eAAO,MAAM,4CAA4C,KAAK,CAAC;AAC/D,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAI5D,eAAO,MAAM,+CAA+C,IAAI,CAAC;AAUjE,wBAAgB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBtD;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAUlE;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBjG;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,MAAM,IAAI,CA0CxF;AAED,wBAAgB,sBAAsB,SAQrC;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7D"}
|