@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.
Files changed (150) hide show
  1. package/lib/LocalStreamManager.d.ts +12 -0
  2. package/lib/LocalStreamManager.d.ts.map +1 -1
  3. package/lib/LocalStreamManager.js +440 -283
  4. package/lib/LocalStreamManager.js.map +1 -1
  5. package/lib/MediaConstants.d.ts +14 -4
  6. package/lib/MediaConstants.d.ts.map +1 -1
  7. package/lib/MediaConstants.js +83 -38
  8. package/lib/MediaConstants.js.map +1 -1
  9. package/lib/MediaContracts.d.ts +17 -14
  10. package/lib/MediaContracts.d.ts.map +1 -1
  11. package/lib/MediaContracts.js +3 -3
  12. package/lib/MediaContracts.js.map +1 -1
  13. package/lib/MediaPublisher.d.ts +3 -3
  14. package/lib/MediaPublisher.d.ts.map +1 -1
  15. package/lib/MediaPublisher.js +46 -35
  16. package/lib/MediaPublisher.js.map +1 -1
  17. package/lib/MediaServiceBase.d.ts +21 -7
  18. package/lib/MediaServiceBase.d.ts.map +1 -1
  19. package/lib/MediaServiceBase.js +924 -586
  20. package/lib/MediaServiceBase.js.map +1 -1
  21. package/lib/MediaSession/MediaServer.d.ts +45 -0
  22. package/lib/MediaSession/MediaServer.d.ts.map +1 -0
  23. package/lib/MediaSession/MediaServer.js +538 -0
  24. package/lib/MediaSession/MediaServer.js.map +1 -0
  25. package/lib/MediaSession/MediaSessionBase.d.ts +10 -1
  26. package/lib/MediaSession/MediaSessionBase.d.ts.map +1 -1
  27. package/lib/MediaSession/MediaSessionBase.js +128 -66
  28. package/lib/MediaSession/MediaSessionBase.js.map +1 -1
  29. package/lib/MediaSession/SessionOpentok.d.ts +11 -9
  30. package/lib/MediaSession/SessionOpentok.d.ts.map +1 -1
  31. package/lib/MediaSession/SessionOpentok.js +500 -352
  32. package/lib/MediaSession/SessionOpentok.js.map +1 -1
  33. package/lib/MediaSession/SessionTurn.d.ts +4 -1
  34. package/lib/MediaSession/SessionTurn.d.ts.map +1 -1
  35. package/lib/MediaSession/SessionTurn.js +611 -422
  36. package/lib/MediaSession/SessionTurn.js.map +1 -1
  37. package/lib/MediaSession/TurnConstants.js +31 -30
  38. package/lib/MediaSession/TurnConstants.js.map +1 -1
  39. package/lib/MediaSubscriber.d.ts +11 -11
  40. package/lib/MediaSubscriber.d.ts.map +1 -1
  41. package/lib/MediaSubscriber.js +236 -192
  42. package/lib/MediaSubscriber.js.map +1 -1
  43. package/lib/MediaUtils/Compatibility.d.ts +2 -1
  44. package/lib/MediaUtils/Compatibility.d.ts.map +1 -1
  45. package/lib/MediaUtils/Compatibility.js +130 -85
  46. package/lib/MediaUtils/Compatibility.js.map +1 -1
  47. package/lib/MediaUtils/MediaDomUtils.d.ts +3 -2
  48. package/lib/MediaUtils/MediaDomUtils.d.ts.map +1 -1
  49. package/lib/MediaUtils/MediaDomUtils.js +235 -174
  50. package/lib/MediaUtils/MediaDomUtils.js.map +1 -1
  51. package/lib/MediaUtils/MediaTracer.js +9 -4
  52. package/lib/MediaUtils/MediaTracer.js.map +1 -1
  53. package/lib/MediaUtils/index.d.ts +1 -0
  54. package/lib/MediaUtils/index.d.ts.map +1 -0
  55. package/lib/MediaUtils/index.js +16 -0
  56. package/lib/MediaUtils/index.js.map +1 -0
  57. package/lib/MultiParty/Contracts.d.ts +16 -0
  58. package/lib/MultiParty/Contracts.d.ts.map +1 -0
  59. package/lib/MultiParty/Contracts.js +6 -0
  60. package/lib/MultiParty/Contracts.js.map +1 -0
  61. package/lib/MultiParty/DetectWebRtcService.d.ts +16 -0
  62. package/lib/MultiParty/DetectWebRtcService.d.ts.map +1 -0
  63. package/lib/MultiParty/DetectWebRtcService.js +79 -0
  64. package/lib/MultiParty/DetectWebRtcService.js.map +1 -0
  65. package/lib/MultiParty/MediaCapabilitiesService.d.ts +23 -0
  66. package/lib/MultiParty/MediaCapabilitiesService.d.ts.map +1 -0
  67. package/lib/MultiParty/MediaCapabilitiesService.js +369 -0
  68. package/lib/MultiParty/MediaCapabilitiesService.js.map +1 -0
  69. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts +5 -0
  70. package/lib/MultiParty/MediaCapabilitiesUtils.d.ts.map +1 -0
  71. package/lib/MultiParty/MediaCapabilitiesUtils.js +305 -0
  72. package/lib/MultiParty/MediaCapabilitiesUtils.js.map +1 -0
  73. package/lib/MultiParty/MultiPartyService.d.ts +41 -0
  74. package/lib/MultiParty/MultiPartyService.d.ts.map +1 -0
  75. package/lib/MultiParty/MultiPartyService.js +72 -0
  76. package/lib/MultiParty/MultiPartyService.js.map +1 -0
  77. package/lib/MultiParty/MultiPartyServiceFactory.d.ts +3 -0
  78. package/lib/MultiParty/MultiPartyServiceFactory.d.ts.map +1 -0
  79. package/lib/MultiParty/MultiPartyServiceFactory.js +21 -0
  80. package/lib/MultiParty/MultiPartyServiceFactory.js.map +1 -0
  81. package/lib/MultiParty/OpentokMultiPartyService.d.ts +29 -0
  82. package/lib/MultiParty/OpentokMultiPartyService.d.ts.map +1 -0
  83. package/lib/MultiParty/OpentokMultiPartyService.js +888 -0
  84. package/lib/MultiParty/OpentokMultiPartyService.js.map +1 -0
  85. package/lib/MultiParty/VideoLayoutType.d.ts +4 -0
  86. package/lib/MultiParty/VideoLayoutType.d.ts.map +1 -0
  87. package/lib/MultiParty/VideoLayoutType.js +13 -0
  88. package/lib/MultiParty/VideoLayoutType.js.map +1 -0
  89. package/lib/MultiParty/index.d.ts +4 -0
  90. package/lib/MultiParty/index.d.ts.map +1 -0
  91. package/lib/MultiParty/index.js +61 -0
  92. package/lib/MultiParty/index.js.map +1 -0
  93. package/lib/MultiParty/opentok.d.ts +503 -0
  94. package/lib/TechseeMediaStream.d.ts +6 -6
  95. package/lib/TechseeMediaStream.d.ts.map +1 -1
  96. package/lib/TechseeMediaStream.js +59 -53
  97. package/lib/TechseeMediaStream.js.map +1 -1
  98. package/lib/oldCode/constants.js +20 -15
  99. package/lib/oldCode/constants.js.map +1 -1
  100. package/lib/oldCode/event-emitter.js +45 -22
  101. package/lib/oldCode/event-emitter.js.map +1 -1
  102. package/lib/oldCode/index.js +48 -52
  103. package/lib/oldCode/index.js.map +1 -1
  104. package/lib/oldCode/opentok/session.js +261 -236
  105. package/lib/oldCode/opentok/session.js.map +1 -1
  106. package/lib/oldCode/opentok/stream.js +283 -269
  107. package/lib/oldCode/opentok/stream.js.map +1 -1
  108. package/lib/oldCode/publisher.js +96 -71
  109. package/lib/oldCode/publisher.js.map +1 -1
  110. package/lib/oldCode/service.js +294 -272
  111. package/lib/oldCode/service.js.map +1 -1
  112. package/lib/oldCode/session.js +82 -60
  113. package/lib/oldCode/session.js.map +1 -1
  114. package/lib/oldCode/stream.js +153 -125
  115. package/lib/oldCode/stream.js.map +1 -1
  116. package/lib/oldCode/subscriber.js +60 -35
  117. package/lib/oldCode/subscriber.js.map +1 -1
  118. package/lib/oldCode/tracer.d.ts +3 -2
  119. package/lib/oldCode/tracer.d.ts.map +1 -1
  120. package/lib/oldCode/tracer.js +181 -130
  121. package/lib/oldCode/tracer.js.map +1 -1
  122. package/lib/oldCode/utils/ImageFixer.js +67 -44
  123. package/lib/oldCode/utils/ImageFixer.js.map +1 -1
  124. package/lib/oldCode/webrtc/constants.js +102 -110
  125. package/lib/oldCode/webrtc/constants.js.map +1 -1
  126. package/lib/oldCode/webrtc/helper.js +176 -124
  127. package/lib/oldCode/webrtc/helper.js.map +1 -1
  128. package/lib/oldCode/webrtc/session-kms.js +408 -393
  129. package/lib/oldCode/webrtc/session-kms.js.map +1 -1
  130. package/lib/oldCode/webrtc/session-loopback.js +245 -227
  131. package/lib/oldCode/webrtc/session-loopback.js.map +1 -1
  132. package/lib/oldCode/webrtc/session-turn.js +705 -658
  133. package/lib/oldCode/webrtc/session-turn.js.map +1 -1
  134. package/lib/oldCode/webrtc/session-turn.v2.js +480 -471
  135. package/lib/oldCode/webrtc/session-turn.v2.js.map +1 -1
  136. package/lib/oldCode/webrtc/session.js +12 -6
  137. package/lib/oldCode/webrtc/session.js.map +1 -1
  138. package/lib/oldCode/webrtc/stream.js +526 -504
  139. package/lib/oldCode/webrtc/stream.js.map +1 -1
  140. package/lib/oldCode/webrtc/temasys/adapter-loader.js +5 -6
  141. package/lib/oldCode/webrtc/temasys/adapter-loader.js.map +1 -1
  142. package/lib/oldCode/webrtc/temasys/adapter.js +5264 -5192
  143. package/lib/oldCode/webrtc/temasys/adapter.js.map +1 -1
  144. package/lib/oldCode/webrtc/webrtc-ie-shim.js +3357 -2927
  145. package/lib/oldCode/webrtc/webrtc-ie-shim.js.map +1 -1
  146. package/lib/qos/raw-qos.js +348 -273
  147. package/lib/qos/raw-qos.js.map +1 -1
  148. package/lib/webrtc-ie-shim.js +3386 -2985
  149. package/lib/webrtc-ie-shim.js.map +1 -1
  150. 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"}
@@ -1,25 +1,42 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
- exports.__esModule = true;
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
- var _eventEmitter = require('./event-emitter');
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 _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
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 _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
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
- STREAM_CREATED: 'STREAM_CREATED',
19
- DESTROYED: 'DESTROYED',
20
- VIDEO_DIMENSIONS_CHANGED: 'VIDEO_DIMENSIONS_CHANGED'
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 TsMediaPublisher = exports.TsMediaPublisher = function (_EventEmitter) {
38
- _inherits(TsMediaPublisher, _EventEmitter);
56
+ var _super = _createSuper(TsMediaPublisher);
39
57
 
40
- function TsMediaPublisher(session, data) {
41
- _classCallCheck(this, TsMediaPublisher);
58
+ function TsMediaPublisher(session, data) {
59
+ var _this;
42
60
 
43
- var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));
61
+ _classCallCheck(this, TsMediaPublisher);
44
62
 
45
- _.assign(_this, data);
63
+ _this = _super.call(this);
46
64
 
47
- _this._session = session;
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
- TsMediaPublisher.prototype.destroy = function destroy() {
77
- return this._session.destroyPublisher(this);
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
- TsMediaPublisher.prototype.publishAudio = function publishAudio(publish) {
91
- if (this.stream) {
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
- TsMediaPublisher.prototype.publishVideo = function publishVideo(publish) {
109
- if (this.stream) {
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
- TsMediaPublisher.prototype.getSnapshot = function getSnapshot(options) {
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","EVENTS","TsMediaPublisher","session","data","_","assign","_session","publish","destroy","destroyPublisher","publishAudio","stream","Promise","reject","publishVideo","getSnapshot","options","turnFlashlight","isTorchOn","setAutoLightOffTimer","flashlightTimeout","EventEmitter"],"mappings":";;;;;AAAA;;;;;;;;AAEA;;;AAGA,IAAMA,mBAAmB;AACrBC,oBAAgB,gBADK;AAErBC,eAAW,WAFU;AAGrBC,8BAA0B;AAHL,CAAzB;;QAM6BC,M,GAApBJ,gB;;AAET;;;;;;;;;;;;IAWaK,gB,WAAAA,gB;;;AACT,8BAAYC,OAAZ,EAAqBC,IAArB,EAA2B;AAAA;;AAAA,qDACvB,wBADuB;;AAGvBC,UAAEC,MAAF,QAAeF,IAAf;;AAEA,cAAKG,QAAL,GAAgBJ,OAAhB;AALuB;AAM1B;;AAED;;;;;;;;;;;;;+BAWAK,O,sBAAU;AACN,eAAO,KAAKD,QAAL,CAAcC,OAAd,CAAsB,IAAtB,CAAP;AACH,K;;AAED;;;;;;;;+BAMAC,O,sBAAU;AACN,eAAO,KAAKF,QAAL,CAAcG,gBAAd,CAA+B,IAA/B,CAAP;AACH,K;;AAED;;;;;;;;;;+BAQAC,Y,yBAAaH,O,EAAS;AAClB,YAAI,KAAKI,MAAT,EAAiB;AACb,mBAAO,KAAKA,MAAL,CAAYD,YAAZ,CAAyBH,OAAzB,CAAP;AACH;;AAED,eAAOK,QAAQC,MAAR,EAAP;AACH,K;;AAED;;;;;;;;;;+BAQAC,Y,yBAAaP,O,EAAS;AAClB,YAAI,KAAKI,MAAT,EAAiB;AACb,mBAAO,KAAKA,MAAL,CAAYG,YAAZ,CAAyBP,OAAzB,CAAP;AACH;;AAED,eAAOK,QAAQC,MAAR,EAAP;AACH,K;;AAED;;;;;;;;;;+BAQAE,W,wBAAYC,O,EAAS;AACjB;AACA,eAAO,KAAKL,MAAL,CAAYI,WAAZ,CAAwB,IAAxB,EAA8B,CAA9B,EAAiCC,OAAjC,CAAP;AACH,K;;+BAEDC,c,6BAAiC;AAAA,YAAlBC,SAAkB,uEAAN,IAAM;;AAC7B,eAAO,KAAKP,MAAL,CAAYM,cAAZ,CAA2BC,SAA3B,CAAP;AACH,K;;+BAEDC,oB,iCAAqBC,iB,EAAmB;AACpC,eAAO,KAAKT,MAAL,CAAYQ,oBAAZ,CAAiCC,iBAAjC,CAAP;AACH,K;;;EArFiCC,0B","file":"publisher.js","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"]}
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"}