@techsee/techsee-media-service 999.0.2-switch → 999.0.3-alpha
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/lib/LocalStreamManager.d.ts +12 -0
- package/lib/LocalStreamManager.d.ts.map +1 -1
- package/lib/LocalStreamManager.js +440 -283
- package/lib/LocalStreamManager.js.map +1 -1
- package/lib/MediaConstants.d.ts +14 -4
- package/lib/MediaConstants.d.ts.map +1 -1
- package/lib/MediaConstants.js +83 -38
- package/lib/MediaConstants.js.map +1 -1
- package/lib/MediaContracts.d.ts +17 -14
- package/lib/MediaContracts.d.ts.map +1 -1
- package/lib/MediaContracts.js +3 -3
- package/lib/MediaContracts.js.map +1 -1
- package/lib/MediaPublisher.d.ts +3 -3
- package/lib/MediaPublisher.d.ts.map +1 -1
- package/lib/MediaPublisher.js +46 -35
- package/lib/MediaPublisher.js.map +1 -1
- package/lib/MediaServiceBase.d.ts +21 -7
- package/lib/MediaServiceBase.d.ts.map +1 -1
- package/lib/MediaServiceBase.js +924 -586
- package/lib/MediaServiceBase.js.map +1 -1
- package/lib/MediaSession/MediaServer.d.ts +45 -0
- package/lib/MediaSession/MediaServer.d.ts.map +1 -0
- package/lib/MediaSession/MediaServer.js +538 -0
- package/lib/MediaSession/MediaServer.js.map +1 -0
- package/lib/MediaSession/MediaSessionBase.d.ts +10 -1
- package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
- package/lib/MediaSession/MediaSessionBase.js +128 -66
- package/lib/MediaSession/MediaSessionBase.js.map +1 -1
- package/lib/MediaSession/SessionOpentok.d.ts +11 -9
- package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
- package/lib/MediaSession/SessionOpentok.js +500 -352
- package/lib/MediaSession/SessionOpentok.js.map +1 -1
- package/lib/MediaSession/SessionTurn.d.ts +4 -1
- package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
- package/lib/MediaSession/SessionTurn.js +611 -422
- package/lib/MediaSession/SessionTurn.js.map +1 -1
- package/lib/MediaSession/TurnConstants.js +31 -30
- package/lib/MediaSession/TurnConstants.js.map +1 -1
- package/lib/MediaSubscriber.d.ts +11 -11
- package/lib/MediaSubscriber.d.ts.map +1 -1
- package/lib/MediaSubscriber.js +236 -192
- package/lib/MediaSubscriber.js.map +1 -1
- package/lib/MediaUtils/Compatibility.d.ts +2 -1
- package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
- package/lib/MediaUtils/Compatibility.js +130 -85
- package/lib/MediaUtils/Compatibility.js.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.d.ts +3 -2
- package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
- package/lib/MediaUtils/MediaDomUtils.js +235 -174
- package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
- package/lib/MediaUtils/MediaTracer.js +9 -4
- package/lib/MediaUtils/MediaTracer.js.map +1 -1
- package/lib/MediaUtils/index.d.ts +1 -0
- package/lib/MediaUtils/index.d.ts.map +1 -0
- package/lib/MediaUtils/index.js +16 -0
- package/lib/MediaUtils/index.js.map +1 -0
- package/lib/MultiParty/Contracts.d.ts +16 -0
- package/lib/MultiParty/Contracts.d.ts.map +1 -0
- package/lib/MultiParty/Contracts.js +6 -0
- package/lib/MultiParty/Contracts.js.map +1 -0
- package/lib/MultiParty/DetectWebRtcService.d.ts +16 -0
- package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -0
- package/lib/MultiParty/DetectWebRtcService.js +79 -0
- package/lib/MultiParty/DetectWebRtcService.js.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesService.d.ts +23 -0
- package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesService.js +369 -0
- package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +5 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.js +305 -0
- package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
- package/lib/MultiParty/MultiPartyService.d.ts +41 -0
- package/lib/MultiParty/MultiPartyService.d.ts.map +1 -0
- package/lib/MultiParty/MultiPartyService.js +72 -0
- package/lib/MultiParty/MultiPartyService.js.map +1 -0
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts +3 -0
- package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
- package/lib/MultiParty/MultiPartyServiceFactory.js +21 -0
- package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -0
- package/lib/MultiParty/OpentokMultiPartyService.d.ts +29 -0
- package/lib/MultiParty/OpentokMultiPartyService.d.ts.map +1 -0
- package/lib/MultiParty/OpentokMultiPartyService.js +888 -0
- package/lib/MultiParty/OpentokMultiPartyService.js.map +1 -0
- package/lib/MultiParty/VideoLayoutType.d.ts +4 -0
- package/lib/MultiParty/VideoLayoutType.d.ts.map +1 -0
- package/lib/MultiParty/VideoLayoutType.js +13 -0
- package/lib/MultiParty/VideoLayoutType.js.map +1 -0
- package/lib/MultiParty/index.d.ts +4 -0
- package/lib/MultiParty/index.d.ts.map +1 -0
- package/lib/MultiParty/index.js +61 -0
- package/lib/MultiParty/index.js.map +1 -0
- package/lib/MultiParty/opentok.d.ts +503 -0
- package/lib/TechseeMediaStream.d.ts +6 -6
- package/lib/TechseeMediaStream.d.ts.map +1 -1
- package/lib/TechseeMediaStream.js +59 -53
- package/lib/TechseeMediaStream.js.map +1 -1
- package/lib/oldCode/constants.js +20 -15
- package/lib/oldCode/constants.js.map +1 -1
- package/lib/oldCode/event-emitter.js +45 -22
- package/lib/oldCode/event-emitter.js.map +1 -1
- package/lib/oldCode/index.js +48 -52
- package/lib/oldCode/index.js.map +1 -1
- package/lib/oldCode/opentok/session.js +261 -236
- package/lib/oldCode/opentok/session.js.map +1 -1
- package/lib/oldCode/opentok/stream.js +283 -269
- package/lib/oldCode/opentok/stream.js.map +1 -1
- package/lib/oldCode/publisher.js +96 -71
- package/lib/oldCode/publisher.js.map +1 -1
- package/lib/oldCode/service.js +294 -272
- package/lib/oldCode/service.js.map +1 -1
- package/lib/oldCode/session.js +82 -60
- package/lib/oldCode/session.js.map +1 -1
- package/lib/oldCode/stream.js +153 -125
- package/lib/oldCode/stream.js.map +1 -1
- package/lib/oldCode/subscriber.js +60 -35
- package/lib/oldCode/subscriber.js.map +1 -1
- package/lib/oldCode/tracer.d.ts +3 -2
- package/lib/oldCode/tracer.d.ts.map +1 -1
- package/lib/oldCode/tracer.js +181 -130
- package/lib/oldCode/tracer.js.map +1 -1
- package/lib/oldCode/utils/ImageFixer.js +67 -44
- package/lib/oldCode/utils/ImageFixer.js.map +1 -1
- package/lib/oldCode/webrtc/constants.js +102 -110
- package/lib/oldCode/webrtc/constants.js.map +1 -1
- package/lib/oldCode/webrtc/helper.js +176 -124
- package/lib/oldCode/webrtc/helper.js.map +1 -1
- package/lib/oldCode/webrtc/session-kms.js +408 -393
- package/lib/oldCode/webrtc/session-kms.js.map +1 -1
- package/lib/oldCode/webrtc/session-loopback.js +245 -227
- package/lib/oldCode/webrtc/session-loopback.js.map +1 -1
- package/lib/oldCode/webrtc/session-turn.js +705 -658
- package/lib/oldCode/webrtc/session-turn.js.map +1 -1
- package/lib/oldCode/webrtc/session-turn.v2.js +480 -471
- package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -1
- package/lib/oldCode/webrtc/session.js +12 -6
- package/lib/oldCode/webrtc/session.js.map +1 -1
- package/lib/oldCode/webrtc/stream.js +526 -504
- package/lib/oldCode/webrtc/stream.js.map +1 -1
- package/lib/oldCode/webrtc/temasys/adapter-loader.js +5 -6
- package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -1
- package/lib/oldCode/webrtc/temasys/adapter.js +5264 -5192
- package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -1
- package/lib/oldCode/webrtc/webrtc-ie-shim.js +3357 -2927
- package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -1
- package/lib/qos/raw-qos.js +348 -273
- package/lib/qos/raw-qos.js.map +1 -1
- package/lib/webrtc-ie-shim.js +3386 -2985
- package/lib/webrtc-ie-shim.js.map +1 -1
- package/package.json +54 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["oldCode/opentok/stream.js"],"names":["EVENTS","TsOpenTokStream","session","otstream","id","_otstream","_session","_videoChannelExists","channel","filter","type","length","_audioChannelExists","publishAudio","publish","publisher","_otpublisher","publishVideo","subscribe","target","params","createSubscriber","then","subscriber","stream","_otsubscriber","on","e","emit","SUBSCRIBER_EVENTS","DESTROYED","DISCONNECTED","video","getVideoElement","element","_environment","isIE11","setAttribute","play","setupDimensionsListener","container","$","find","destroySubscriber","getSnapshot","tsMediaElement","timeout","format","quality","x","y","w","h","Promise","resolve","otElement","TsMediaPublisher","crop","_","isUndefined","resize","toLowerCase","getImgData","videoElement","videoElem","canvas","document","createElement","ctx","getContext","width","height","drawImage","videoHeight","videoWidth","toDataURL","currentWidth","currentHeight","currentPosition","position","videoDimensions","ratio","Math","max","css","left","top","setTimeout","pngDataURL","img","Image","onload","widthRatio","heightRatio","src","imgData","reject","getStats","err","stats","streamId","name","hasVideo","hasAudio","TsMediaStream"],"mappings":"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","file":"stream.js","sourcesContent":["import {\n EVENTS,\n TsMediaStream,\n} from '../stream';\n\nimport {\n EVENTS as SUBSCRIBER_EVENTS,\n} from '../subscriber';\n\nimport { TsMediaPublisher } from '../publisher';\n\nexport { EVENTS };\n\nexport class TsOpenTokStream extends TsMediaStream {\n constructor(session, otstream) {\n super(otstream.id, session);\n\n this._otstream = otstream;\n this._session = session;\n\n this._videoChannelExists = this._otstream.channel && (this._otstream.channel.filter((channel) => channel.type === 'video').length > 0);\n this._audioChannelExists = this._otstream.channel && (this._otstream.channel.filter((channel) => channel.type === 'audio').length > 0);\n }\n\n get id() {\n return this._otstream.streamId;\n }\n\n get name() {\n return this._otstream.name;\n }\n\n /**\n * Whether the stream has video. This property can change if the publisher turns on or off video\n * (by calling Publisher.publishVideo()). When this occurs, the Session object dispatches a streamPropertyChanged\n * event (see StreamPropertyChangedEvent).\n */\n get hasVideo() {\n return this._otstream.hasVideo;\n }\n\n /**\n * Whether the stream has audio. This property can change if the publisher turns on or off audio\n * (by calling Publisher.publishAudio()). When this occurs, the Session object dispatches a streamPropertyChanged\n * event (see StreamPropertyChangedEvent).\n */\n get hasAudio() {\n return this._otstream.hasAudio;\n }\n\n /**\n * Indicates if video channel exists in the stream.\n */\n get videoChannelExists() {\n return this._videoChannelExists;\n }\n\n /**\n * Indicates if audio channel exists in the stream.\n */\n get audioChannelExists() {\n return this._audioChannelExists;\n }\n\n publishAudio(publish) {\n if (this.publisher) {\n this.publisher._otpublisher.publishAudio(publish);\n }\n }\n\n publishVideo(publish) {\n if (this.publisher) {\n this.publisher._otpublisher.publishVideo(publish);\n }\n }\n\n subscribe(target, params) {\n if (!params) {\n params = target;\n target = null;\n }\n\n return this._session.createSubscriber(this, target, params)\n .then((subscriber) => {\n subscriber.stream = this;\n this.subscriber = subscriber;\n\n subscriber._otsubscriber.on('destroyed', (e) => {\n subscriber.emit(SUBSCRIBER_EVENTS.DESTROYED, e);\n });\n\n subscriber._otsubscriber.on('disconnected', (e) => {\n subscriber.emit(SUBSCRIBER_EVENTS.DISCONNECTED, e);\n });\n\n const video = this.getVideoElement(subscriber._otsubscriber.element)[0];\n\n if (!this._environment.isIE11()) {\n // Hack to override behavior introduced by Chrome v71 that unmuted video elements can't auto play\n video.setAttribute('muted', '');\n video.play();\n }\n\n this.setupDimensionsListener(video, subscriber);\n\n subscriber.id = subscriber._otsubscriber.id;\n\n return subscriber;\n });\n }\n\n getVideoElement(container) {\n const element = $(container).find('.OT_video-element');\n\n return (element.length > 0) ? element : $(container).find('.OT_video-container > video');\n }\n\n destroySubscriber(subscriber) {\n return this._session.destroySubscriber(subscriber);\n }\n\n getSnapshot(tsMediaElement, timeout = 0, {format = 'image/png', quality = 0.92, x, y, w, h} = {}) {\n return new Promise((resolve) => {\n const otElement = tsMediaElement[tsMediaElement instanceof TsMediaPublisher ? '_otpublisher' : '_otsubscriber'];\n const crop = !_.isUndefined(x) && !_.isUndefined(y) && !_.isUndefined(w) && !_.isUndefined(h);\n const resize = !crop && (!_.isUndefined(w) || !_.isUndefined(h));\n\n if (!this._environment.isIE11() && format.toLowerCase() === 'image/png' && !crop && !resize) {\n return resolve(`data:image/png;base64,${otElement.getImgData()}`);\n }\n\n const videoElement = this.getVideoElement(otElement.element);\n\n if (!this._environment.isIE11()) {\n const videoElem = videoElement[0];\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElem, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n if (!h) {\n h = w * (videoElem.videoHeight / videoElem.videoWidth);\n } else if (!w) {\n w = h * (videoElem.videoWidth / videoElem.videoHeight);\n }\n\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElem, 0, 0, w, h);\n } else {\n canvas.width = videoElem.videoWidth;\n canvas.height = videoElem.videoHeight;\n\n ctx.drawImage(videoElem, 0, 0);\n }\n\n return resolve(canvas.toDataURL(format, quality));\n }\n\n const currentWidth = videoElement.width();\n const currentHeight = videoElement.height();\n const currentPosition = videoElement.position();\n const {width: videoWidth, height: videoHeight} = this.videoDimensions;\n const ratio = Math.max(\n videoWidth / currentWidth,\n videoHeight / currentHeight\n );\n\n videoElement.width(videoWidth / ratio);\n videoElement.height(videoHeight / ratio);\n\n videoElement.css({\n left: currentPosition.left + Math.max(0,\n (currentWidth - videoWidth / ratio) / 2) + 'px',\n\n top: currentPosition.top + Math.max(0,\n (currentHeight - videoHeight / ratio) / 2) + 'px'\n });\n\n setTimeout(() => {\n const pngDataURL = `data:image/png;base64,${otElement.getImgData()}`;\n\n if (format.toLowerCase() === 'image/png' && !crop && !resize) {\n resolve(pngDataURL);\n } else {\n const img = new Image(),\n canvas = document.createElement('canvas'),\n ctx = canvas.getContext('2d');\n\n img.onload = () => {\n if (crop) {\n const widthRatio = img.width / videoWidth;\n const heightRatio = img.height / videoHeight;\n\n x = x && x * widthRatio;\n y = y && y * heightRatio;\n w = w && w * widthRatio;\n h = h && h * heightRatio;\n\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(img, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n if (!h) {\n h = w * (videoHeight / videoWidth);\n } else if (!w) {\n w = h * (videoWidth / videoHeight);\n }\n\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(img, 0, 0, w, h);\n } else {\n canvas.width = img.width;\n canvas.height = img.height;\n\n ctx.drawImage(img);\n }\n\n return resolve(canvas.toDataURL(format, quality));\n };\n\n img.src = pngDataURL;\n }\n\n videoElement.width(currentWidth);\n videoElement.height(currentHeight);\n\n videoElement.css({\n left: currentPosition.left + 'px',\n top: currentPosition.top + 'px'\n });\n }, timeout * 1000);\n })\n .then((imgData) => {\n if (!imgData || imgData.length < 10) {\n return Promise.reject('Failed to get a snapshot');\n }\n\n return imgData;\n });\n }\n\n getStats(subscriber) {\n return new Promise((resolve, reject) => {\n subscriber._otsubscriber.getStats((err, stats) => {\n if (err) {\n return reject(err);\n }\n\n return resolve(stats);\n });\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["oldCode/opentok/stream.js"],"names":["TsOpenTokStream","session","otstream","id","_otstream","_session","_videoChannelExists","channel","filter","type","length","_audioChannelExists","streamId","name","hasVideo","hasAudio","publish","publisher","_otpublisher","publishAudio","publishVideo","target","params","createSubscriber","then","subscriber","stream","_otsubscriber","on","e","emit","SUBSCRIBER_EVENTS","DESTROYED","DISCONNECTED","video","getVideoElement","element","_environment","isIE11","setAttribute","play","setupDimensionsListener","container","$","find","destroySubscriber","tsMediaElement","timeout","format","quality","x","y","w","h","Promise","resolve","otElement","TsMediaPublisher","crop","_","isUndefined","resize","toLowerCase","getImgData","videoElement","videoElem","canvas","document","createElement","ctx","getContext","width","height","drawImage","videoHeight","videoWidth","toDataURL","currentWidth","currentHeight","currentPosition","position","videoDimensions","ratio","Math","max","css","left","top","setTimeout","pngDataURL","img","Image","onload","widthRatio","heightRatio","src","imgData","reject","getStats","err","stats","TsMediaStream"],"mappings":"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","sourcesContent":["import {\n EVENTS,\n TsMediaStream,\n} from '../stream';\n\nimport {\n EVENTS as SUBSCRIBER_EVENTS,\n} from '../subscriber';\n\nimport { TsMediaPublisher } from '../publisher';\n\nexport { EVENTS };\n\nexport class TsOpenTokStream extends TsMediaStream {\n constructor(session, otstream) {\n super(otstream.id, session);\n\n this._otstream = otstream;\n this._session = session;\n\n this._videoChannelExists = this._otstream.channel && (this._otstream.channel.filter((channel) => channel.type === 'video').length > 0);\n this._audioChannelExists = this._otstream.channel && (this._otstream.channel.filter((channel) => channel.type === 'audio').length > 0);\n }\n\n get id() {\n return this._otstream.streamId;\n }\n\n get name() {\n return this._otstream.name;\n }\n\n /**\n * Whether the stream has video. This property can change if the publisher turns on or off video\n * (by calling Publisher.publishVideo()). When this occurs, the Session object dispatches a streamPropertyChanged\n * event (see StreamPropertyChangedEvent).\n */\n get hasVideo() {\n return this._otstream.hasVideo;\n }\n\n /**\n * Whether the stream has audio. This property can change if the publisher turns on or off audio\n * (by calling Publisher.publishAudio()). When this occurs, the Session object dispatches a streamPropertyChanged\n * event (see StreamPropertyChangedEvent).\n */\n get hasAudio() {\n return this._otstream.hasAudio;\n }\n\n /**\n * Indicates if video channel exists in the stream.\n */\n get videoChannelExists() {\n return this._videoChannelExists;\n }\n\n /**\n * Indicates if audio channel exists in the stream.\n */\n get audioChannelExists() {\n return this._audioChannelExists;\n }\n\n publishAudio(publish) {\n if (this.publisher) {\n this.publisher._otpublisher.publishAudio(publish);\n }\n }\n\n publishVideo(publish) {\n if (this.publisher) {\n this.publisher._otpublisher.publishVideo(publish);\n }\n }\n\n subscribe(target, params) {\n if (!params) {\n params = target;\n target = null;\n }\n\n return this._session.createSubscriber(this, target, params)\n .then((subscriber) => {\n subscriber.stream = this;\n this.subscriber = subscriber;\n\n subscriber._otsubscriber.on('destroyed', (e) => {\n subscriber.emit(SUBSCRIBER_EVENTS.DESTROYED, e);\n });\n\n subscriber._otsubscriber.on('disconnected', (e) => {\n subscriber.emit(SUBSCRIBER_EVENTS.DISCONNECTED, e);\n });\n\n const video = this.getVideoElement(subscriber._otsubscriber.element)[0];\n\n if (!this._environment.isIE11()) {\n // Hack to override behavior introduced by Chrome v71 that unmuted video elements can't auto play\n video.setAttribute('muted', '');\n video.play();\n }\n\n this.setupDimensionsListener(video, subscriber);\n\n subscriber.id = subscriber._otsubscriber.id;\n\n return subscriber;\n });\n }\n\n getVideoElement(container) {\n const element = $(container).find('.OT_video-element');\n\n return (element.length > 0) ? element : $(container).find('.OT_video-container > video');\n }\n\n destroySubscriber(subscriber) {\n return this._session.destroySubscriber(subscriber);\n }\n\n getSnapshot(tsMediaElement, timeout = 0, {format = 'image/png', quality = 0.92, x, y, w, h} = {}) {\n return new Promise((resolve) => {\n const otElement = tsMediaElement[tsMediaElement instanceof TsMediaPublisher ? '_otpublisher' : '_otsubscriber'];\n const crop = !_.isUndefined(x) && !_.isUndefined(y) && !_.isUndefined(w) && !_.isUndefined(h);\n const resize = !crop && (!_.isUndefined(w) || !_.isUndefined(h));\n\n if (!this._environment.isIE11() && format.toLowerCase() === 'image/png' && !crop && !resize) {\n return resolve(`data:image/png;base64,${otElement.getImgData()}`);\n }\n\n const videoElement = this.getVideoElement(otElement.element);\n\n if (!this._environment.isIE11()) {\n const videoElem = videoElement[0];\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n\n if (crop) {\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElem, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n if (!h) {\n h = w * (videoElem.videoHeight / videoElem.videoWidth);\n } else if (!w) {\n w = h * (videoElem.videoWidth / videoElem.videoHeight);\n }\n\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(videoElem, 0, 0, w, h);\n } else {\n canvas.width = videoElem.videoWidth;\n canvas.height = videoElem.videoHeight;\n\n ctx.drawImage(videoElem, 0, 0);\n }\n\n return resolve(canvas.toDataURL(format, quality));\n }\n\n const currentWidth = videoElement.width();\n const currentHeight = videoElement.height();\n const currentPosition = videoElement.position();\n const {width: videoWidth, height: videoHeight} = this.videoDimensions;\n const ratio = Math.max(\n videoWidth / currentWidth,\n videoHeight / currentHeight\n );\n\n videoElement.width(videoWidth / ratio);\n videoElement.height(videoHeight / ratio);\n\n videoElement.css({\n left: currentPosition.left + Math.max(0,\n (currentWidth - videoWidth / ratio) / 2) + 'px',\n\n top: currentPosition.top + Math.max(0,\n (currentHeight - videoHeight / ratio) / 2) + 'px'\n });\n\n setTimeout(() => {\n const pngDataURL = `data:image/png;base64,${otElement.getImgData()}`;\n\n if (format.toLowerCase() === 'image/png' && !crop && !resize) {\n resolve(pngDataURL);\n } else {\n const img = new Image(),\n canvas = document.createElement('canvas'),\n ctx = canvas.getContext('2d');\n\n img.onload = () => {\n if (crop) {\n const widthRatio = img.width / videoWidth;\n const heightRatio = img.height / videoHeight;\n\n x = x && x * widthRatio;\n y = y && y * heightRatio;\n w = w && w * widthRatio;\n h = h && h * heightRatio;\n\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(img, x, y, w, h, 0, 0, w, h);\n } else if (resize) {\n if (!h) {\n h = w * (videoHeight / videoWidth);\n } else if (!w) {\n w = h * (videoWidth / videoHeight);\n }\n\n canvas.width = w;\n canvas.height = h;\n\n ctx.drawImage(img, 0, 0, w, h);\n } else {\n canvas.width = img.width;\n canvas.height = img.height;\n\n ctx.drawImage(img);\n }\n\n return resolve(canvas.toDataURL(format, quality));\n };\n\n img.src = pngDataURL;\n }\n\n videoElement.width(currentWidth);\n videoElement.height(currentHeight);\n\n videoElement.css({\n left: currentPosition.left + 'px',\n top: currentPosition.top + 'px'\n });\n }, timeout * 1000);\n })\n .then((imgData) => {\n if (!imgData || imgData.length < 10) {\n return Promise.reject('Failed to get a snapshot');\n }\n\n return imgData;\n });\n }\n\n getStats(subscriber) {\n return new Promise((resolve, reject) => {\n subscriber._otsubscriber.getStats((err, stats) => {\n if (err) {\n return reject(err);\n }\n\n return resolve(stats);\n });\n });\n }\n}\n"],"file":"stream.js"}
|
package/lib/oldCode/publisher.js
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
exports.TsMediaPublisher = exports.EVENTS = undefined;
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TsMediaPublisher = exports.EVENTS = void 0;
|
|
9
|
+
|
|
10
|
+
var _eventEmitter = require("./event-emitter");
|
|
7
11
|
|
|
8
12
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
13
|
|
|
10
|
-
function
|
|
14
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
15
|
+
|
|
16
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
17
|
+
|
|
18
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
19
|
+
|
|
20
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
21
|
+
|
|
22
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
23
|
|
|
12
|
-
function
|
|
24
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
25
|
+
|
|
26
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
27
|
+
|
|
28
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
29
|
+
|
|
30
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
13
31
|
|
|
14
32
|
/**
|
|
15
33
|
* @enum PUBLISHER_EVENTS
|
|
16
34
|
*/
|
|
17
35
|
var PUBLISHER_EVENTS = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
36
|
+
STREAM_CREATED: 'STREAM_CREATED',
|
|
37
|
+
DESTROYED: 'DESTROYED',
|
|
38
|
+
VIDEO_DIMENSIONS_CHANGED: 'VIDEO_DIMENSIONS_CHANGED'
|
|
21
39
|
};
|
|
22
|
-
|
|
23
40
|
exports.EVENTS = PUBLISHER_EVENTS;
|
|
24
41
|
|
|
25
42
|
/**
|
|
@@ -33,38 +50,41 @@ exports.EVENTS = PUBLISHER_EVENTS;
|
|
|
33
50
|
*
|
|
34
51
|
* @see TsMediaSession
|
|
35
52
|
*/
|
|
53
|
+
var TsMediaPublisher = /*#__PURE__*/function (_EventEmitter) {
|
|
54
|
+
_inherits(TsMediaPublisher, _EventEmitter);
|
|
36
55
|
|
|
37
|
-
var
|
|
38
|
-
_inherits(TsMediaPublisher, _EventEmitter);
|
|
56
|
+
var _super = _createSuper(TsMediaPublisher);
|
|
39
57
|
|
|
40
|
-
|
|
41
|
-
|
|
58
|
+
function TsMediaPublisher(session, data) {
|
|
59
|
+
var _this;
|
|
42
60
|
|
|
43
|
-
|
|
61
|
+
_classCallCheck(this, TsMediaPublisher);
|
|
44
62
|
|
|
45
|
-
|
|
63
|
+
_this = _super.call(this);
|
|
46
64
|
|
|
47
|
-
|
|
48
|
-
return _this;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Publish media stream to a server.
|
|
53
|
-
*
|
|
54
|
-
* @method
|
|
55
|
-
*
|
|
56
|
-
* @returns { Promise }
|
|
57
|
-
*
|
|
58
|
-
* @fires PUBLISHER_EVENTS#STREAM_CREATED
|
|
59
|
-
* @fires SESSION_EVENTS#STREAM_PROPERTY_CHANGED
|
|
60
|
-
* @fires STREAM_EVENTS#PROPERTY_CHANGED
|
|
61
|
-
*/
|
|
65
|
+
_.assign(_assertThisInitialized(_this), data);
|
|
62
66
|
|
|
67
|
+
_this._session = session;
|
|
68
|
+
return _this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Publish media stream to a server.
|
|
72
|
+
*
|
|
73
|
+
* @method
|
|
74
|
+
*
|
|
75
|
+
* @returns { Promise }
|
|
76
|
+
*
|
|
77
|
+
* @fires PUBLISHER_EVENTS#STREAM_CREATED
|
|
78
|
+
* @fires SESSION_EVENTS#STREAM_PROPERTY_CHANGED
|
|
79
|
+
* @fires STREAM_EVENTS#PROPERTY_CHANGED
|
|
80
|
+
*/
|
|
63
81
|
|
|
64
|
-
TsMediaPublisher.prototype.publish = function publish() {
|
|
65
|
-
return this._session.publish(this);
|
|
66
|
-
};
|
|
67
82
|
|
|
83
|
+
_createClass(TsMediaPublisher, [{
|
|
84
|
+
key: "publish",
|
|
85
|
+
value: function publish() {
|
|
86
|
+
return this._session.publish(this);
|
|
87
|
+
}
|
|
68
88
|
/**
|
|
69
89
|
* Unpublish the media strem and destroy publisher's view
|
|
70
90
|
*
|
|
@@ -72,11 +92,11 @@ var TsMediaPublisher = exports.TsMediaPublisher = function (_EventEmitter) {
|
|
|
72
92
|
* @return { Promise }
|
|
73
93
|
*/
|
|
74
94
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
95
|
+
}, {
|
|
96
|
+
key: "destroy",
|
|
97
|
+
value: function destroy() {
|
|
98
|
+
return this._session.destroyPublisher(this);
|
|
99
|
+
}
|
|
80
100
|
/**
|
|
81
101
|
* Whether or not publish audio
|
|
82
102
|
*
|
|
@@ -86,15 +106,15 @@ var TsMediaPublisher = exports.TsMediaPublisher = function (_EventEmitter) {
|
|
|
86
106
|
* @returns { Promise }
|
|
87
107
|
*/
|
|
88
108
|
|
|
109
|
+
}, {
|
|
110
|
+
key: "publishAudio",
|
|
111
|
+
value: function publishAudio(publish) {
|
|
112
|
+
if (this.stream) {
|
|
113
|
+
return this.stream.publishAudio(publish);
|
|
114
|
+
}
|
|
89
115
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return this.stream.publishAudio(publish);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return Promise.reject();
|
|
96
|
-
};
|
|
97
|
-
|
|
116
|
+
return Promise.reject();
|
|
117
|
+
}
|
|
98
118
|
/**
|
|
99
119
|
* Whether or not publish video
|
|
100
120
|
*
|
|
@@ -104,15 +124,15 @@ var TsMediaPublisher = exports.TsMediaPublisher = function (_EventEmitter) {
|
|
|
104
124
|
* @returns { Promise }
|
|
105
125
|
*/
|
|
106
126
|
|
|
127
|
+
}, {
|
|
128
|
+
key: "publishVideo",
|
|
129
|
+
value: function publishVideo(publish) {
|
|
130
|
+
if (this.stream) {
|
|
131
|
+
return this.stream.publishVideo(publish);
|
|
132
|
+
}
|
|
107
133
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return this.stream.publishVideo(publish);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return Promise.reject();
|
|
114
|
-
};
|
|
115
|
-
|
|
134
|
+
return Promise.reject();
|
|
135
|
+
}
|
|
116
136
|
/**
|
|
117
137
|
* Get snapshot of the current frame in the media stream
|
|
118
138
|
*
|
|
@@ -122,22 +142,27 @@ var TsMediaPublisher = exports.TsMediaPublisher = function (_EventEmitter) {
|
|
|
122
142
|
* @returns { Promise<String> } snapshot
|
|
123
143
|
*/
|
|
124
144
|
|
|
145
|
+
}, {
|
|
146
|
+
key: "getSnapshot",
|
|
147
|
+
value: function getSnapshot(options) {
|
|
148
|
+
// Since a video publisher (the client) won't be used in IE, we can drop the timeout.
|
|
149
|
+
return this.stream.getSnapshot(this, 0, options);
|
|
150
|
+
}
|
|
151
|
+
}, {
|
|
152
|
+
key: "turnFlashlight",
|
|
153
|
+
value: function turnFlashlight() {
|
|
154
|
+
var isTorchOn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
155
|
+
return this.stream.turnFlashlight(isTorchOn);
|
|
156
|
+
}
|
|
157
|
+
}, {
|
|
158
|
+
key: "setAutoLightOffTimer",
|
|
159
|
+
value: function setAutoLightOffTimer(flashlightTimeout) {
|
|
160
|
+
return this.stream.setAutoLightOffTimer(flashlightTimeout);
|
|
161
|
+
}
|
|
162
|
+
}]);
|
|
125
163
|
|
|
126
|
-
|
|
127
|
-
// Since a video publisher (the client) won't be used in IE, we can drop the timeout.
|
|
128
|
-
return this.stream.getSnapshot(this, 0, options);
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
TsMediaPublisher.prototype.turnFlashlight = function turnFlashlight() {
|
|
132
|
-
var isTorchOn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
133
|
-
|
|
134
|
-
return this.stream.turnFlashlight(isTorchOn);
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
TsMediaPublisher.prototype.setAutoLightOffTimer = function setAutoLightOffTimer(flashlightTimeout) {
|
|
138
|
-
return this.stream.setAutoLightOffTimer(flashlightTimeout);
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
return TsMediaPublisher;
|
|
164
|
+
return TsMediaPublisher;
|
|
142
165
|
}(_eventEmitter.EventEmitter);
|
|
166
|
+
|
|
167
|
+
exports.TsMediaPublisher = TsMediaPublisher;
|
|
143
168
|
//# sourceMappingURL=publisher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["oldCode/publisher.js"],"names":["PUBLISHER_EVENTS","STREAM_CREATED","DESTROYED","VIDEO_DIMENSIONS_CHANGED","
|
|
1
|
+
{"version":3,"sources":["oldCode/publisher.js"],"names":["PUBLISHER_EVENTS","STREAM_CREATED","DESTROYED","VIDEO_DIMENSIONS_CHANGED","TsMediaPublisher","session","data","_","assign","_session","publish","destroyPublisher","stream","publishAudio","Promise","reject","publishVideo","options","getSnapshot","isTorchOn","turnFlashlight","flashlightTimeout","setAutoLightOffTimer","EventEmitter"],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA,IAAMA,gBAAgB,GAAG;AACrBC,EAAAA,cAAc,EAAE,gBADK;AAErBC,EAAAA,SAAS,EAAE,WAFU;AAGrBC,EAAAA,wBAAwB,EAAE;AAHL,CAAzB;;;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaC,gB;;;;;AACT,4BAAYC,OAAZ,EAAqBC,IAArB,EAA2B;AAAA;;AAAA;;AACvB;;AAEAC,IAAAA,CAAC,CAACC,MAAF,gCAAeF,IAAf;;AAEA,UAAKG,QAAL,GAAgBJ,OAAhB;AALuB;AAM1B;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,mBAAU;AACN,aAAO,KAAKI,QAAL,CAAcC,OAAd,CAAsB,IAAtB,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,mBAAU;AACN,aAAO,KAAKD,QAAL,CAAcE,gBAAd,CAA+B,IAA/B,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,sBAAaD,OAAb,EAAsB;AAClB,UAAI,KAAKE,MAAT,EAAiB;AACb,eAAO,KAAKA,MAAL,CAAYC,YAAZ,CAAyBH,OAAzB,CAAP;AACH;;AAED,aAAOI,OAAO,CAACC,MAAR,EAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,sBAAaL,OAAb,EAAsB;AAClB,UAAI,KAAKE,MAAT,EAAiB;AACb,eAAO,KAAKA,MAAL,CAAYI,YAAZ,CAAyBN,OAAzB,CAAP;AACH;;AAED,aAAOI,OAAO,CAACC,MAAR,EAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,qBAAYE,OAAZ,EAAqB;AACjB;AACA,aAAO,KAAKL,MAAL,CAAYM,WAAZ,CAAwB,IAAxB,EAA8B,CAA9B,EAAiCD,OAAjC,CAAP;AACH;;;WAED,0BAAiC;AAAA,UAAlBE,SAAkB,uEAAN,IAAM;AAC7B,aAAO,KAAKP,MAAL,CAAYQ,cAAZ,CAA2BD,SAA3B,CAAP;AACH;;;WAED,8BAAqBE,iBAArB,EAAwC;AACpC,aAAO,KAAKT,MAAL,CAAYU,oBAAZ,CAAiCD,iBAAjC,CAAP;AACH;;;;EArFiCE,0B","sourcesContent":["import { EventEmitter } from './event-emitter';\n\n/**\n * @enum PUBLISHER_EVENTS\n */\nconst PUBLISHER_EVENTS = {\n STREAM_CREATED: 'STREAM_CREATED',\n DESTROYED: 'DESTROYED',\n VIDEO_DIMENSIONS_CHANGED: 'VIDEO_DIMENSIONS_CHANGED',\n};\n\nexport { PUBLISHER_EVENTS as EVENTS };\n\n/**\n * Publisher object represents publishing a media stream.\n *\n * Exposes session and stream wrapper methods specific for media publishing.\n *\n * Instance is returned by TsMediaSession.createPublisher() call\n *\n * @class\n *\n * @see TsMediaSession\n */\nexport class TsMediaPublisher extends EventEmitter {\n constructor(session, data) {\n super();\n\n _.assign(this, data);\n\n this._session = session;\n }\n\n /**\n * Publish media stream to a server.\n *\n * @method\n *\n * @returns { Promise }\n *\n * @fires PUBLISHER_EVENTS#STREAM_CREATED\n * @fires SESSION_EVENTS#STREAM_PROPERTY_CHANGED\n * @fires STREAM_EVENTS#PROPERTY_CHANGED\n */\n publish() {\n return this._session.publish(this);\n }\n\n /**\n * Unpublish the media strem and destroy publisher's view\n *\n * @method\n * @return { Promise }\n */\n destroy() {\n return this._session.destroyPublisher(this);\n }\n\n /**\n * Whether or not publish audio\n *\n * @method\n * @param { Boolean } publish\n *\n * @returns { Promise }\n */\n publishAudio(publish) {\n if (this.stream) {\n return this.stream.publishAudio(publish);\n }\n\n return Promise.reject();\n }\n\n /**\n * Whether or not publish video\n *\n * @method\n * @param { Boolean } publish\n *\n * @returns { Promise }\n */\n publishVideo(publish) {\n if (this.stream) {\n return this.stream.publishVideo(publish);\n }\n\n return Promise.reject();\n }\n\n /**\n * Get snapshot of the current frame in the media stream\n *\n * @method\n * @param { Object } options Snapshot options: format, quality and crop positions\n *\n * @returns { Promise<String> } snapshot\n */\n getSnapshot(options) {\n // Since a video publisher (the client) won't be used in IE, we can drop the timeout.\n return this.stream.getSnapshot(this, 0, options);\n }\n\n turnFlashlight(isTorchOn = true) {\n return this.stream.turnFlashlight(isTorchOn);\n }\n\n setAutoLightOffTimer(flashlightTimeout) {\n return this.stream.setAutoLightOffTimer(flashlightTimeout);\n }\n}\n\n"],"file":"publisher.js"}
|