mediasfu-angular 1.0.2 → 2.0.0

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 (281) hide show
  1. package/README.md +678 -578
  2. package/dist/README.md +677 -578
  3. package/dist/fesm2022/mediasfu-angular.mjs +5551 -2944
  4. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  5. package/dist/lib/@types/types.d.ts +22 -1
  6. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +1 -0
  7. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +153 -61
  8. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +154 -66
  9. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +190 -76
  10. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +184 -70
  11. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +192 -78
  12. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +6 -1
  13. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +5 -2
  14. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +4 -2
  15. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +71 -66
  16. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +5 -1
  17. package/dist/lib/consumers/connect-local-ips.service.d.ts +81 -0
  18. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +43 -11
  19. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +87 -46
  20. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +89 -43
  21. package/dist/lib/consumers/connect-send-transport.service.d.ts +5 -1
  22. package/dist/lib/consumers/create-send-transport.service.d.ts +130 -40
  23. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +77 -40
  24. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +48 -14
  25. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +81 -44
  26. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +5 -1
  27. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +5 -1
  28. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +54 -21
  29. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +124 -40
  30. package/dist/lib/consumers/trigger.service.d.ts +3 -0
  31. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +5 -1
  32. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +3 -0
  33. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +4 -1
  34. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +3 -0
  35. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +3 -0
  36. package/dist/lib/methods/utils/check-limits-and-make-request.service.d.ts +23 -0
  37. package/dist/lib/methods/utils/create-response-join-room.util.d.ts +33 -0
  38. package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +25 -0
  39. package/dist/lib/methods/utils/initial-values.util.d.ts +6 -0
  40. package/dist/lib/methods/utils/join-room-on-media-sfu.service.d.ts +52 -0
  41. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +37 -20
  42. package/dist/lib/producers/producer-emits/join-local-room.service.d.ts +125 -0
  43. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +7 -2
  44. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +7 -2
  45. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +5 -1
  46. package/dist/lib/sockets/socket-manager.service.d.ts +90 -0
  47. package/dist/public-api.d.ts +11 -1
  48. package/package.json +17 -20
  49. package/dist/esm2022/lib/@types/types.mjs +0 -2
  50. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +0 -799
  51. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +0 -366
  52. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +0 -143
  53. package/dist/esm2022/lib/components/breakout-components/room-list/room-list.component.mjs +0 -40
  54. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +0 -245
  55. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +0 -79
  56. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +0 -356
  57. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +0 -80
  58. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +0 -129
  59. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +0 -138
  60. package/dist/esm2022/lib/components/display-components/control-buttons-component/control-buttons-component.component.mjs +0 -231
  61. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +0 -282
  62. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +0 -82
  63. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +0 -65
  64. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +0 -137
  65. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +0 -137
  66. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +0 -51
  67. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +0 -101
  68. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +0 -151
  69. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +0 -250
  70. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +0 -102
  71. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +0 -140
  72. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +0 -131
  73. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +0 -120
  74. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +0 -201
  75. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +0 -115
  76. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +0 -319
  77. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +0 -161
  78. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +0 -230
  79. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +0 -126
  80. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +0 -334
  81. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +0 -112
  82. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +0 -392
  83. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +0 -106
  84. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +0 -199
  85. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +0 -132
  86. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +0 -220
  87. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +0 -4238
  88. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +0 -3754
  89. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +0 -5071
  90. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +0 -5380
  91. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +0 -5068
  92. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +0 -83
  93. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +0 -27
  94. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +0 -27
  95. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +0 -125
  96. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +0 -106
  97. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +0 -228
  98. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +0 -277
  99. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +0 -130
  100. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +0 -343
  101. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +0 -127
  102. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +0 -241
  103. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +0 -82
  104. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +0 -139
  105. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +0 -40
  106. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +0 -60
  107. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +0 -124
  108. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +0 -201
  109. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +0 -92
  110. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +0 -133
  111. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +0 -90
  112. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +0 -81
  113. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +0 -147
  114. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +0 -627
  115. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +0 -391
  116. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +0 -201
  117. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +0 -286
  118. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +0 -1833
  119. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +0 -345
  120. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +0 -109
  121. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +0 -60
  122. package/dist/esm2022/lib/consumers/change-vids.service.mjs +0 -551
  123. package/dist/esm2022/lib/consumers/check-grid.service.mjs +0 -93
  124. package/dist/esm2022/lib/consumers/check-permission.service.mjs +0 -105
  125. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +0 -106
  126. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +0 -331
  127. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +0 -106
  128. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +0 -98
  129. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +0 -154
  130. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +0 -146
  131. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +0 -84
  132. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +0 -102
  133. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +0 -99
  134. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +0 -140
  135. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +0 -368
  136. package/dist/esm2022/lib/consumers/control-media.service.mjs +0 -113
  137. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +0 -172
  138. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +0 -108
  139. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +0 -84
  140. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +0 -101
  141. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +0 -513
  142. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +0 -106
  143. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +0 -120
  144. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +0 -82
  145. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +0 -79
  146. package/dist/esm2022/lib/consumers/get-videos.service.mjs +0 -91
  147. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +0 -95
  148. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +0 -103
  149. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +0 -541
  150. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +0 -101
  151. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +0 -128
  152. package/dist/esm2022/lib/consumers/re-port.service.mjs +0 -114
  153. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +0 -239
  154. package/dist/esm2022/lib/consumers/readjust.service.mjs +0 -173
  155. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +0 -87
  156. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +0 -69
  157. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +0 -239
  158. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +0 -101
  159. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +0 -150
  160. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +0 -103
  161. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +0 -91
  162. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +0 -136
  163. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +0 -96
  164. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +0 -100
  165. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +0 -78
  166. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +0 -120
  167. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +0 -175
  168. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +0 -185
  169. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +0 -210
  170. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +0 -193
  171. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +0 -260
  172. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +0 -120
  173. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +0 -260
  174. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +0 -172
  175. package/dist/esm2022/lib/consumers/trigger.service.mjs +0 -210
  176. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +0 -135
  177. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +0 -84
  178. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +0 -48
  179. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +0 -183
  180. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +0 -46
  181. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +0 -46
  182. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +0 -104
  183. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +0 -46
  184. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +0 -194
  185. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +0 -52
  186. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +0 -42
  187. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +0 -85
  188. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +0 -44
  189. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +0 -45
  190. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +0 -143
  191. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +0 -47
  192. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +0 -98
  193. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +0 -96
  194. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +0 -107
  195. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +0 -75
  196. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +0 -72
  197. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +0 -83
  198. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +0 -43
  199. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +0 -95
  200. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +0 -69
  201. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +0 -56
  202. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +0 -278
  203. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +0 -125
  204. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +0 -67
  205. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +0 -130
  206. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +0 -134
  207. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +0 -80
  208. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +0 -197
  209. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +0 -112
  210. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +0 -272
  211. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +0 -51
  212. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +0 -84
  213. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +0 -51
  214. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +0 -109
  215. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +0 -275
  216. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +0 -75
  217. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +0 -178
  218. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +0 -271
  219. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +0 -80
  220. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +0 -116
  221. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +0 -132
  222. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +0 -57
  223. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +0 -120
  224. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +0 -126
  225. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +0 -78
  226. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +0 -90
  227. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +0 -59
  228. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +0 -32
  229. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +0 -31
  230. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +0 -379
  231. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +0 -96
  232. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +0 -315
  233. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +0 -58
  234. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +0 -87
  235. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +0 -61
  236. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +0 -87
  237. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +0 -84
  238. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +0 -17
  239. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +0 -63
  240. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +0 -49
  241. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +0 -41
  242. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +0 -69
  243. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +0 -98
  244. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +0 -44
  245. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +0 -74
  246. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +0 -96
  247. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +0 -276
  248. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +0 -152
  249. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +0 -152
  250. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +0 -228
  251. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +0 -218
  252. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +0 -57
  253. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +0 -76
  254. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +0 -183
  255. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +0 -50
  256. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +0 -64
  257. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +0 -78
  258. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +0 -150
  259. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +0 -73
  260. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +0 -47
  261. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +0 -63
  262. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +0 -63
  263. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +0 -54
  264. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +0 -129
  265. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +0 -152
  266. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +0 -99
  267. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +0 -67
  268. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +0 -134
  269. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +0 -233
  270. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +0 -121
  271. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +0 -86
  272. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +0 -60
  273. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +0 -62
  274. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +0 -57
  275. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +0 -105
  276. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +0 -66
  277. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +0 -96
  278. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +0 -52
  279. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +0 -113
  280. package/dist/esm2022/mediasfu-angular.mjs +0 -5
  281. package/dist/esm2022/public-api.mjs +0 -187
@@ -1,102 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Connects and sets up the screen sharing transport for sending video streams.
5
- *
6
- * @param {ConnectSendTransportScreenOptions} options - The options for connecting the screen transport.
7
- * @param {MediaStream} options.stream - The media stream containing the screen video track.
8
- * @param {ConnectSendTransportScreenParameters} options.parameters - The parameters required for setting up the transport.
9
- * @param {Producer} options.parameters.screenProducer - The screen producer object.
10
- * @param {Device} options.parameters.device - The device object containing RTP capabilities.
11
- * @param {ProducerOptions} options.parameters.screenParams - The parameters for producing the screen share.
12
- * @param {Transport} options.parameters.producerTransport - The transport object used for producing the screen share.
13
- * @param {Function} options.parameters.updateScreenProducer - Function to update the screen producer object.
14
- * @param {Function} options.parameters.updateProducerTransport - Function to update the producer transport object.
15
- * @param {Function} options.parameters.getUpdatedAllParams - Function to fetch updated device information.
16
- *
17
- * @returns {Promise<void>} A promise that resolves when the screen transport is successfully connected and set up.
18
- *
19
- * @throws Will throw an error if the connection or setup process fails.
20
- *
21
- * @example
22
- * ```typescript
23
- * const stream = await navigator.mediaDevices.getDisplayMedia({ video: true });
24
- * const parameters = {
25
- * screenProducer: null,
26
- * device: device, // Assume 'device' is initialized and ready
27
- * screenParams: { codec: 'vp9' },
28
- * producerTransport: transport, // Assume 'transport' is initialized
29
- * updateScreenProducer: (producer) => { console.log(updated) },
30
- * updateProducerTransport: (transport) => { console.log(updated) },
31
- * getUpdatedAllParams: () => { },
32
- * };
33
- *
34
- * connectSendTransportScreen({ stream, parameters })
35
- * .then(() => {
36
- * console.log('Screen transport connected successfully');
37
- * })
38
- * .catch((error) => {
39
- * console.error('Error connecting screen transport:', error);
40
- * });
41
- * ```
42
- */
43
- export class ConnectSendTransportScreen {
44
- /**
45
- * Connects and sets up the screen sharing transport for sending video streams.
46
- *
47
- * @param {Object} options - The options for connecting the screen transport.
48
- * @param {MediaStream} options.stream - The media stream containing the screen video track.
49
- * @param {ConnectSendTransportScreenOptions} options.parameters - The parameters required for setting up the transport.
50
- * @param {Producer} options.parameters.screenProducer - The screen producer object.
51
- * @param {Device} options.parameters.device - The device object containing RTP capabilities.
52
- * @param {Promise<ScreenParams>} options.parameters.screenParams - A promise resolving to screen share parameters.
53
- * @param {Transport} options.parameters.producerTransport - The transport object used for producing the screen share.
54
- * @param {Params} options.parameters.params - The parameters for producing the screen share.
55
- * @param {Function} options.parameters.updateScreenProducer - Function to update the screen producer object.
56
- * @param {Function} options.parameters.updateProducerTransport - Function to update the producer transport object.
57
- * @param {Function} options.parameters.getUpdatedAllParams - Function to fetch updated device information.
58
- *
59
- * @returns {Promise<void>} A promise that resolves when the screen transport is successfully connected and set up.
60
- *
61
- * @throws Will throw an error if the connection or setup process fails.
62
- */
63
- async connectSendTransportScreen({ stream, parameters, }) {
64
- try {
65
- let { screenProducer, device, screenParams, producerTransport, params, updateScreenProducer, updateProducerTransport, } = parameters;
66
- device = parameters.getUpdatedAllParams().device;
67
- // Connect the send transport for screen share by producing screen video data
68
- params = screenParams;
69
- // Find VP9 codec for screen share
70
- if (!device || !device.rtpCapabilities || !device.rtpCapabilities.codecs) {
71
- throw new Error('Device or its RTP capabilities are not available.');
72
- }
73
- let codec = device.rtpCapabilities.codecs.find((codec) => codec.mimeType.toLowerCase() === 'video/vp9' && codec.kind === 'video');
74
- // Produce screen share data using the producer transport
75
- if (!producerTransport) {
76
- throw new Error('Producer transport is not available.');
77
- }
78
- screenProducer = await producerTransport.produce({
79
- track: stream?.getVideoTracks()[0],
80
- ...params,
81
- codec: codec,
82
- appData: { mediaTag: 'screen-video' },
83
- });
84
- // Update the screen producer and producer transport objects
85
- updateScreenProducer(screenProducer);
86
- updateProducerTransport(producerTransport);
87
- }
88
- catch (error) {
89
- console.log('connectSendTransportScreen error', error);
90
- throw error;
91
- }
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransportScreen, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
94
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransportScreen, providedIn: 'root' });
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransportScreen, decorators: [{
97
- type: Injectable,
98
- args: [{
99
- providedIn: 'root',
100
- }]
101
- }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdC1zZW5kLXRyYW5zcG9ydC1zY3JlZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9jb25zdW1lcnMvY29ubmVjdC1zZW5kLXRyYW5zcG9ydC1zY3JlZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXlCekM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUtMLE1BQU0sT0FBTywwQkFBMEI7SUFDckM7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtCRztJQUNILEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxFQUMvQixNQUFNLEVBQ04sVUFBVSxHQUN3QjtRQUNsQyxJQUFJLENBQUM7WUFDSCxJQUFJLEVBQ0YsY0FBYyxFQUNkLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixvQkFBb0IsRUFDcEIsdUJBQXVCLEdBQ3hCLEdBQUcsVUFBVSxDQUFDO1lBRWYsTUFBTSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNqRCw2RUFBNkU7WUFDN0UsTUFBTSxHQUFHLFlBQVksQ0FBQztZQUV0QixrQ0FBa0M7WUFDbEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6RSxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7WUFDdkUsQ0FBQztZQUVELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDNUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUN2RixDQUFDO1lBRUYseURBQXlEO1lBQ3pELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUVELGNBQWMsR0FBRyxNQUFNLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztnQkFDL0MsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLEdBQUcsTUFBTTtnQkFDVCxLQUFLLEVBQUUsS0FBSztnQkFDWixPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFO2FBQ3RDLENBQUMsQ0FBQztZQUVILDREQUE0RDtZQUM1RCxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNyQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO3VHQW5FVSwwQkFBMEI7MkdBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNwb3J0LCBQcm9kdWNlciwgRGV2aWNlLCBQcm9kdWNlck9wdGlvbnMgfSBmcm9tICdtZWRpYXNvdXAtY2xpZW50L2xpYi90eXBlcyc7XG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuUGFyYW1ldGVycyB7XG4gIHNjcmVlblByb2R1Y2VyOiBQcm9kdWNlciB8IG51bGw7XG4gIGRldmljZTogRGV2aWNlIHwgbnVsbDtcbiAgc2NyZWVuUGFyYW1zOiBQcm9kdWNlck9wdGlvbnM7XG4gIHByb2R1Y2VyVHJhbnNwb3J0OiBUcmFuc3BvcnQgfCBudWxsO1xuICBwYXJhbXM6IFByb2R1Y2VyT3B0aW9ucztcbiAgdXBkYXRlU2NyZWVuUHJvZHVjZXI6IChwcm9kdWNlcjogUHJvZHVjZXIgfCBudWxsKSA9PiB2b2lkO1xuICB1cGRhdGVQcm9kdWNlclRyYW5zcG9ydDogKHRyYW5zcG9ydDogVHJhbnNwb3J0IHwgbnVsbCkgPT4gdm9pZDtcblxuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlblBhcmFtZXRlcnM7XG4gIFtrZXk6IHN0cmluZ106IGFueTsgLy8gRXh0ZW5kYWJsZSBmb3IgYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5PcHRpb25zIHtcbiAgc3RyZWFtOiBNZWRpYVN0cmVhbSB8IG51bGw7XG4gIHBhcmFtZXRlcnM6IENvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQ29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5UeXBlID0gKFxuICBvcHRpb25zOiBDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbk9wdGlvbnMsXG4pID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIENvbm5lY3RzIGFuZCBzZXRzIHVwIHRoZSBzY3JlZW4gc2hhcmluZyB0cmFuc3BvcnQgZm9yIHNlbmRpbmcgdmlkZW8gc3RyZWFtcy5cbiAgICpcbiAgICogQHBhcmFtIHtDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbk9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29ubmVjdGluZyB0aGUgc2NyZWVuIHRyYW5zcG9ydC5cbiAgICogQHBhcmFtIHtNZWRpYVN0cmVhbX0gb3B0aW9ucy5zdHJlYW0gLSBUaGUgbWVkaWEgc3RyZWFtIGNvbnRhaW5pbmcgdGhlIHNjcmVlbiB2aWRlbyB0cmFjay5cbiAgICogQHBhcmFtIHtDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlblBhcmFtZXRlcnN9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIHJlcXVpcmVkIGZvciBzZXR0aW5nIHVwIHRoZSB0cmFuc3BvcnQuXG4gICAqIEBwYXJhbSB7UHJvZHVjZXJ9IG9wdGlvbnMucGFyYW1ldGVycy5zY3JlZW5Qcm9kdWNlciAtIFRoZSBzY3JlZW4gcHJvZHVjZXIgb2JqZWN0LlxuICAgKiBAcGFyYW0ge0RldmljZX0gb3B0aW9ucy5wYXJhbWV0ZXJzLmRldmljZSAtIFRoZSBkZXZpY2Ugb2JqZWN0IGNvbnRhaW5pbmcgUlRQIGNhcGFiaWxpdGllcy5cbiAgICogQHBhcmFtIHtQcm9kdWNlck9wdGlvbnN9IG9wdGlvbnMucGFyYW1ldGVycy5zY3JlZW5QYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJvZHVjaW5nIHRoZSBzY3JlZW4gc2hhcmUuXG4gICAqIEBwYXJhbSB7VHJhbnNwb3J0fSBvcHRpb25zLnBhcmFtZXRlcnMucHJvZHVjZXJUcmFuc3BvcnQgLSBUaGUgdHJhbnNwb3J0IG9iamVjdCB1c2VkIGZvciBwcm9kdWNpbmcgdGhlIHNjcmVlbiBzaGFyZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVNjcmVlblByb2R1Y2VyIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBzY3JlZW4gcHJvZHVjZXIgb2JqZWN0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUHJvZHVjZXJUcmFuc3BvcnQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHByb2R1Y2VyIHRyYW5zcG9ydCBvYmplY3QuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zIC0gRnVuY3Rpb24gdG8gZmV0Y2ggdXBkYXRlZCBkZXZpY2UgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzY3JlZW4gdHJhbnNwb3J0IGlzIHN1Y2Nlc3NmdWxseSBjb25uZWN0ZWQgYW5kIHNldCB1cC5cbiAgICpcbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjb25uZWN0aW9uIG9yIHNldHVwIHByb2Nlc3MgZmFpbHMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXREaXNwbGF5TWVkaWEoeyB2aWRlbzogdHJ1ZSB9KTtcbiAgICogY29uc3QgcGFyYW1ldGVycyA9IHtcbiAgICogICBzY3JlZW5Qcm9kdWNlcjogbnVsbCxcbiAgICogICBkZXZpY2U6IGRldmljZSwgLy8gQXNzdW1lICdkZXZpY2UnIGlzIGluaXRpYWxpemVkIGFuZCByZWFkeVxuICAgKiAgIHNjcmVlblBhcmFtczogeyBjb2RlYzogJ3ZwOScgfSxcbiAgICogICBwcm9kdWNlclRyYW5zcG9ydDogdHJhbnNwb3J0LCAvLyBBc3N1bWUgJ3RyYW5zcG9ydCcgaXMgaW5pdGlhbGl6ZWRcbiAgICogICB1cGRhdGVTY3JlZW5Qcm9kdWNlcjogKHByb2R1Y2VyKSA9PiB7IGNvbnNvbGUubG9nKHVwZGF0ZWQpIH0sXG4gICAqICAgdXBkYXRlUHJvZHVjZXJUcmFuc3BvcnQ6ICh0cmFuc3BvcnQpID0+IHsgY29uc29sZS5sb2codXBkYXRlZCkgfSxcbiAgICogICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiB7ICB9LFxuICAgKiB9O1xuICAgKlxuICAgKiBjb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbih7IHN0cmVhbSwgcGFyYW1ldGVycyB9KVxuICAgKiAgIC50aGVuKCgpID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKCdTY3JlZW4gdHJhbnNwb3J0IGNvbm5lY3RlZCBzdWNjZXNzZnVsbHknKTtcbiAgICogICB9KVxuICAgKiAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICogICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNvbm5lY3Rpbmcgc2NyZWVuIHRyYW5zcG9ydDonLCBlcnJvcik7XG4gICAqICAgfSk7XG4gICAqIGBgYFxuICAgKi9cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuIHtcbiAgLyoqXG4gICAqIENvbm5lY3RzIGFuZCBzZXRzIHVwIHRoZSBzY3JlZW4gc2hhcmluZyB0cmFuc3BvcnQgZm9yIHNlbmRpbmcgdmlkZW8gc3RyZWFtcy5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29ubmVjdGluZyB0aGUgc2NyZWVuIHRyYW5zcG9ydC5cbiAgICogQHBhcmFtIHtNZWRpYVN0cmVhbX0gb3B0aW9ucy5zdHJlYW0gLSBUaGUgbWVkaWEgc3RyZWFtIGNvbnRhaW5pbmcgdGhlIHNjcmVlbiB2aWRlbyB0cmFjay5cbiAgICogQHBhcmFtIHtDb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbk9wdGlvbnN9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIHJlcXVpcmVkIGZvciBzZXR0aW5nIHVwIHRoZSB0cmFuc3BvcnQuXG4gICAqIEBwYXJhbSB7UHJvZHVjZXJ9IG9wdGlvbnMucGFyYW1ldGVycy5zY3JlZW5Qcm9kdWNlciAtIFRoZSBzY3JlZW4gcHJvZHVjZXIgb2JqZWN0LlxuICAgKiBAcGFyYW0ge0RldmljZX0gb3B0aW9ucy5wYXJhbWV0ZXJzLmRldmljZSAtIFRoZSBkZXZpY2Ugb2JqZWN0IGNvbnRhaW5pbmcgUlRQIGNhcGFiaWxpdGllcy5cbiAgICogQHBhcmFtIHtQcm9taXNlPFNjcmVlblBhcmFtcz59IG9wdGlvbnMucGFyYW1ldGVycy5zY3JlZW5QYXJhbXMgLSBBIHByb21pc2UgcmVzb2x2aW5nIHRvIHNjcmVlbiBzaGFyZSBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge1RyYW5zcG9ydH0gb3B0aW9ucy5wYXJhbWV0ZXJzLnByb2R1Y2VyVHJhbnNwb3J0IC0gVGhlIHRyYW5zcG9ydCBvYmplY3QgdXNlZCBmb3IgcHJvZHVjaW5nIHRoZSBzY3JlZW4gc2hhcmUuXG4gICAqIEBwYXJhbSB7UGFyYW1zfSBvcHRpb25zLnBhcmFtZXRlcnMucGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHByb2R1Y2luZyB0aGUgc2NyZWVuIHNoYXJlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlU2NyZWVuUHJvZHVjZXIgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHNjcmVlbiBwcm9kdWNlciBvYmplY3QuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVQcm9kdWNlclRyYW5zcG9ydCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgcHJvZHVjZXIgdHJhbnNwb3J0IG9iamVjdC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMgLSBGdW5jdGlvbiB0byBmZXRjaCB1cGRhdGVkIGRldmljZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNjcmVlbiB0cmFuc3BvcnQgaXMgc3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCBhbmQgc2V0IHVwLlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIGNvbm5lY3Rpb24gb3Igc2V0dXAgcHJvY2VzcyBmYWlscy5cbiAgICovXG4gIGFzeW5jIGNvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuKHtcbiAgICBzdHJlYW0sXG4gICAgcGFyYW1ldGVycyxcbiAgfTogQ29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5PcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCB7XG4gICAgICAgIHNjcmVlblByb2R1Y2VyLFxuICAgICAgICBkZXZpY2UsXG4gICAgICAgIHNjcmVlblBhcmFtcyxcbiAgICAgICAgcHJvZHVjZXJUcmFuc3BvcnQsXG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgdXBkYXRlU2NyZWVuUHJvZHVjZXIsXG4gICAgICAgIHVwZGF0ZVByb2R1Y2VyVHJhbnNwb3J0LFxuICAgICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICAgIGRldmljZSA9IHBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcygpLmRldmljZTtcbiAgICAgIC8vIENvbm5lY3QgdGhlIHNlbmQgdHJhbnNwb3J0IGZvciBzY3JlZW4gc2hhcmUgYnkgcHJvZHVjaW5nIHNjcmVlbiB2aWRlbyBkYXRhXG4gICAgICBwYXJhbXMgPSBzY3JlZW5QYXJhbXM7XG5cbiAgICAgIC8vIEZpbmQgVlA5IGNvZGVjIGZvciBzY3JlZW4gc2hhcmVcbiAgICAgIGlmICghZGV2aWNlIHx8ICFkZXZpY2UucnRwQ2FwYWJpbGl0aWVzIHx8ICFkZXZpY2UucnRwQ2FwYWJpbGl0aWVzLmNvZGVjcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RldmljZSBvciBpdHMgUlRQIGNhcGFiaWxpdGllcyBhcmUgbm90IGF2YWlsYWJsZS4nKTtcbiAgICAgIH1cblxuICAgICAgbGV0IGNvZGVjID0gZGV2aWNlLnJ0cENhcGFiaWxpdGllcy5jb2RlY3MuZmluZChcbiAgICAgICAgKGNvZGVjOiBhbnkpID0+IGNvZGVjLm1pbWVUeXBlLnRvTG93ZXJDYXNlKCkgPT09ICd2aWRlby92cDknICYmIGNvZGVjLmtpbmQgPT09ICd2aWRlbycsXG4gICAgICApO1xuXG4gICAgICAvLyBQcm9kdWNlIHNjcmVlbiBzaGFyZSBkYXRhIHVzaW5nIHRoZSBwcm9kdWNlciB0cmFuc3BvcnRcbiAgICAgIGlmICghcHJvZHVjZXJUcmFuc3BvcnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQcm9kdWNlciB0cmFuc3BvcnQgaXMgbm90IGF2YWlsYWJsZS4nKTtcbiAgICAgIH1cblxuICAgICAgc2NyZWVuUHJvZHVjZXIgPSBhd2FpdCBwcm9kdWNlclRyYW5zcG9ydC5wcm9kdWNlKHtcbiAgICAgICAgdHJhY2s6IHN0cmVhbT8uZ2V0VmlkZW9UcmFja3MoKVswXSxcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICBjb2RlYzogY29kZWMsXG4gICAgICAgIGFwcERhdGE6IHsgbWVkaWFUYWc6ICdzY3JlZW4tdmlkZW8nIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gVXBkYXRlIHRoZSBzY3JlZW4gcHJvZHVjZXIgYW5kIHByb2R1Y2VyIHRyYW5zcG9ydCBvYmplY3RzXG4gICAgICB1cGRhdGVTY3JlZW5Qcm9kdWNlcihzY3JlZW5Qcm9kdWNlcik7XG4gICAgICB1cGRhdGVQcm9kdWNlclRyYW5zcG9ydChwcm9kdWNlclRyYW5zcG9ydCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdjb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbiBlcnJvcicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,99 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Connects the send transport for video by producing video data and updates the relevant states.
5
- *
6
- * @param {ConnectSendTransportVideoOptions} options - The options for connecting the send transport for video.
7
- * @param {ProducerOptions} options.videoParams - The parameters for producing video data.
8
- * @param {ConnectSendTransportVideoParameters} options.parameters - The parameters for updating the state.
9
- * @param {Producer} options.parameters.videoProducer - The video producer instance.
10
- * @param {Transport} options.parameters.producerTransport - The transport instance used for producing video.
11
- * @param {string} options.parameters.islevel - The connection level.
12
- * @param {boolean} options.parameters.updateMainWindow - The state of the main window update.
13
- * @param {Function} options.parameters.updateVideoProducer - Function to update the video producer.
14
- * @param {Function} options.parameters.updateProducerTransport - Function to update the producer transport.
15
- * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window state.
16
- *
17
- * @returns {Promise<void>} A promise that resolves when the send transport for video is connected.
18
- *
19
- * @throws Will throw an error if the connection fails.
20
- *
21
- * @example
22
- * ```typescript
23
- * const videoParams = {
24
- * codec: 'vp8',
25
- * // Other producer options...
26
- * };
27
- *
28
- * const parameters = {
29
- * videoProducer: null,
30
- * producerTransport: transport, // Assume 'transport' is initialized and ready
31
- * islevel: '1',
32
- * updateMainWindow: false,
33
- * updateVideoProducer: (producer) => { console.log(updated) },
34
- * updateProducerTransport: (transport) => { console.log(updated) },
35
- * updateUpdateMainWindow: (state) => { console.log(updated) },
36
- * };
37
- *
38
- * connectSendTransportVideo({ videoParams, parameters })
39
- * .then(() => {
40
- * console.log('Video transport connected successfully');
41
- * })
42
- * .catch((error) => {
43
- * console.error('Error connecting video transport:', error);
44
- * });
45
- * ```
46
- */
47
- export class ConnectSendTransportVideo {
48
- /**
49
- * Connects the send transport for video by producing video data and updates the relevant states.
50
- *
51
- * @param {ConnectSendTransportVideoOptions} options - The options for connecting the send transport for video.
52
- * @param {Object} options.videoParams - The parameters for producing video data.
53
- * @param {Object} options.parameters - The parameters for updating the state.
54
- * @param {Producer} options.parameters.videoProducer - The video producer instance.
55
- * @param {Transport} options.parameters.producerTransport - The transport instance used for producing video.
56
- * @param {string} options.parameters.islevel - The connection level.
57
- * @param {boolean} options.parameters.updateMainWindow - The state of the main window update.
58
- * @param {Function} options.parameters.updateVideoProducer - Function to update the video producer.
59
- * @param {Function} options.parameters.updateProducerTransport - Function to update the producer transport.
60
- * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window state.
61
- *
62
- * @returns {Promise<void>} A promise that resolves when the send transport for video is connected.
63
- *
64
- * @throws Will throw an error if the connection fails.
65
- */
66
- connectSendTransportVideo = async ({ videoParams, parameters, }) => {
67
- try {
68
- let { videoProducer, producerTransport, islevel, updateMainWindow, updateVideoProducer, updateProducerTransport, updateUpdateMainWindow, } = parameters;
69
- // Connect the send transport for video by producing video data
70
- if (producerTransport) {
71
- videoProducer = await producerTransport.produce(videoParams);
72
- }
73
- else {
74
- throw new Error('Producer transport is null');
75
- }
76
- // Update main window state based on the video connection level
77
- if (islevel === '2') {
78
- updateMainWindow = true;
79
- }
80
- // Update the video producer and producer transport objects
81
- updateVideoProducer(videoProducer);
82
- updateProducerTransport(producerTransport);
83
- updateUpdateMainWindow(updateMainWindow);
84
- }
85
- catch (error) {
86
- console.log('connectSendTransportVideo error', error);
87
- throw error;
88
- }
89
- };
90
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransportVideo, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
91
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransportVideo, providedIn: 'root' });
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransportVideo, decorators: [{
94
- type: Injectable,
95
- args: [{
96
- providedIn: 'root',
97
- }]
98
- }] });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdC1zZW5kLXRyYW5zcG9ydC12aWRlby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy9jb25uZWN0LXNlbmQtdHJhbnNwb3J0LXZpZGVvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF3QnpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNHO0FBS0wsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FpQkc7SUFDSCx5QkFBeUIsR0FBRyxLQUFLLEVBQUUsRUFDakMsV0FBVyxFQUNYLFVBQVUsR0FDdUIsRUFBaUIsRUFBRTtRQUNwRCxJQUFJLENBQUM7WUFDSCxJQUFJLEVBQ0YsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsc0JBQXNCLEdBQ3ZCLEdBQUcsVUFBVSxDQUFDO1lBRWYsK0RBQStEO1lBQy9ELElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsYUFBYSxHQUFHLE1BQU0saUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9ELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUVELCtEQUErRDtZQUMvRCxJQUFJLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzFCLENBQUM7WUFFRCwyREFBMkQ7WUFDM0QsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUMzQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUM7dUdBdERTLHlCQUF5QjsyR0FBekIseUJBQXlCLGNBRnhCLE1BQU07OzJGQUVQLHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXZpY2UsIFByb2R1Y2VyLCBQcm9kdWNlck9wdGlvbnMsIFRyYW5zcG9ydCB9IGZyb20gJ21lZGlhc291cC1jbGllbnQvbGliL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb1BhcmFtZXRlcnMge1xuICB2aWRlb1Byb2R1Y2VyOiBQcm9kdWNlciB8IG51bGw7XG4gIGRldmljZTogRGV2aWNlIHwgbnVsbDtcbiAgcHJvZHVjZXJUcmFuc3BvcnQ6IFRyYW5zcG9ydCB8IG51bGw7XG4gIGlzbGV2ZWw6IHN0cmluZztcbiAgdXBkYXRlTWFpbldpbmRvdzogYm9vbGVhbjtcbiAgdXBkYXRlVmlkZW9Qcm9kdWNlcjogKHByb2R1Y2VyOiBQcm9kdWNlciB8IG51bGwpID0+IHZvaWQ7XG4gIHVwZGF0ZVByb2R1Y2VyVHJhbnNwb3J0OiAodHJhbnNwb3J0OiBUcmFuc3BvcnQgfCBudWxsKSA9PiB2b2lkO1xuICB1cGRhdGVVcGRhdGVNYWluV2luZG93OiAoc3RhdGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIFtrZXk6IHN0cmluZ106IGFueTsgLy8gRXh0ZW5kYWJsZSBmb3IgYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb09wdGlvbnMge1xuICB2aWRlb1BhcmFtczogUHJvZHVjZXJPcHRpb25zO1xuICBwYXJhbWV0ZXJzOiBDb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQ29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb1R5cGUgPSAoXG4gIG9wdGlvbnM6IENvbm5lY3RTZW5kVHJhbnNwb3J0VmlkZW9PcHRpb25zLFxuKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBDb25uZWN0cyB0aGUgc2VuZCB0cmFuc3BvcnQgZm9yIHZpZGVvIGJ5IHByb2R1Y2luZyB2aWRlbyBkYXRhIGFuZCB1cGRhdGVzIHRoZSByZWxldmFudCBzdGF0ZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7Q29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb09wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29ubmVjdGluZyB0aGUgc2VuZCB0cmFuc3BvcnQgZm9yIHZpZGVvLlxuICAgKiBAcGFyYW0ge1Byb2R1Y2VyT3B0aW9uc30gb3B0aW9ucy52aWRlb1BhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciBwcm9kdWNpbmcgdmlkZW8gZGF0YS5cbiAgICogQHBhcmFtIHtDb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvUGFyYW1ldGVyc30gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHVwZGF0aW5nIHRoZSBzdGF0ZS5cbiAgICogQHBhcmFtIHtQcm9kdWNlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnZpZGVvUHJvZHVjZXIgLSBUaGUgdmlkZW8gcHJvZHVjZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7VHJhbnNwb3J0fSBvcHRpb25zLnBhcmFtZXRlcnMucHJvZHVjZXJUcmFuc3BvcnQgLSBUaGUgdHJhbnNwb3J0IGluc3RhbmNlIHVzZWQgZm9yIHByb2R1Y2luZyB2aWRlby5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5pc2xldmVsIC0gVGhlIGNvbm5lY3Rpb24gbGV2ZWwuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZU1haW5XaW5kb3cgLSBUaGUgc3RhdGUgb2YgdGhlIG1haW4gd2luZG93IHVwZGF0ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVZpZGVvUHJvZHVjZXIgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZGVvIHByb2R1Y2VyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUHJvZHVjZXJUcmFuc3BvcnQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHByb2R1Y2VyIHRyYW5zcG9ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVVwZGF0ZU1haW5XaW5kb3cgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIG1haW4gd2luZG93IHN0YXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2VuZCB0cmFuc3BvcnQgZm9yIHZpZGVvIGlzIGNvbm5lY3RlZC5cbiAgICpcbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjb25uZWN0aW9uIGZhaWxzLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHZpZGVvUGFyYW1zID0ge1xuICAgKiAgIGNvZGVjOiAndnA4JyxcbiAgICogICAvLyBPdGhlciBwcm9kdWNlciBvcHRpb25zLi4uXG4gICAqIH07XG4gICAqXG4gICAqIGNvbnN0IHBhcmFtZXRlcnMgPSB7XG4gICAqICAgdmlkZW9Qcm9kdWNlcjogbnVsbCxcbiAgICogICBwcm9kdWNlclRyYW5zcG9ydDogdHJhbnNwb3J0LCAvLyBBc3N1bWUgJ3RyYW5zcG9ydCcgaXMgaW5pdGlhbGl6ZWQgYW5kIHJlYWR5XG4gICAqICAgaXNsZXZlbDogJzEnLFxuICAgKiAgIHVwZGF0ZU1haW5XaW5kb3c6IGZhbHNlLFxuICAgKiAgIHVwZGF0ZVZpZGVvUHJvZHVjZXI6IChwcm9kdWNlcikgPT4geyBjb25zb2xlLmxvZyh1cGRhdGVkKSB9LFxuICAgKiAgIHVwZGF0ZVByb2R1Y2VyVHJhbnNwb3J0OiAodHJhbnNwb3J0KSA9PiB7IGNvbnNvbGUubG9nKHVwZGF0ZWQpIH0sXG4gICAqICAgdXBkYXRlVXBkYXRlTWFpbldpbmRvdzogKHN0YXRlKSA9PiB7IGNvbnNvbGUubG9nKHVwZGF0ZWQpIH0sXG4gICAqIH07XG4gICAqXG4gICAqIGNvbm5lY3RTZW5kVHJhbnNwb3J0VmlkZW8oeyB2aWRlb1BhcmFtcywgcGFyYW1ldGVycyB9KVxuICAgKiAgIC50aGVuKCgpID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKCdWaWRlbyB0cmFuc3BvcnQgY29ubmVjdGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgKiAgIH0pXG4gICAqICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgKiAgICAgY29uc29sZS5lcnJvcignRXJyb3IgY29ubmVjdGluZyB2aWRlbyB0cmFuc3BvcnQ6JywgZXJyb3IpO1xuICAgKiAgIH0pO1xuICAgKiBgYGBcbiAgICovXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvIHtcbiAgLyoqXG4gICAqIENvbm5lY3RzIHRoZSBzZW5kIHRyYW5zcG9ydCBmb3IgdmlkZW8gYnkgcHJvZHVjaW5nIHZpZGVvIGRhdGEgYW5kIHVwZGF0ZXMgdGhlIHJlbGV2YW50IHN0YXRlcy5cbiAgICpcbiAgICogQHBhcmFtIHtDb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBjb25uZWN0aW5nIHRoZSBzZW5kIHRyYW5zcG9ydCBmb3IgdmlkZW8uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnZpZGVvUGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHByb2R1Y2luZyB2aWRlbyBkYXRhLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHVwZGF0aW5nIHRoZSBzdGF0ZS5cbiAgICogQHBhcmFtIHtQcm9kdWNlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnZpZGVvUHJvZHVjZXIgLSBUaGUgdmlkZW8gcHJvZHVjZXIgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7VHJhbnNwb3J0fSBvcHRpb25zLnBhcmFtZXRlcnMucHJvZHVjZXJUcmFuc3BvcnQgLSBUaGUgdHJhbnNwb3J0IGluc3RhbmNlIHVzZWQgZm9yIHByb2R1Y2luZyB2aWRlby5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5pc2xldmVsIC0gVGhlIGNvbm5lY3Rpb24gbGV2ZWwuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZU1haW5XaW5kb3cgLSBUaGUgc3RhdGUgb2YgdGhlIG1haW4gd2luZG93IHVwZGF0ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVZpZGVvUHJvZHVjZXIgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpZGVvIHByb2R1Y2VyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUHJvZHVjZXJUcmFuc3BvcnQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHByb2R1Y2VyIHRyYW5zcG9ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVVwZGF0ZU1haW5XaW5kb3cgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIG1haW4gd2luZG93IHN0YXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2VuZCB0cmFuc3BvcnQgZm9yIHZpZGVvIGlzIGNvbm5lY3RlZC5cbiAgICpcbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjb25uZWN0aW9uIGZhaWxzLlxuICAgKi9cbiAgY29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlbyA9IGFzeW5jICh7XG4gICAgdmlkZW9QYXJhbXMsXG4gICAgcGFyYW1ldGVycyxcbiAgfTogQ29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb09wdGlvbnMpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0cnkge1xuICAgICAgbGV0IHtcbiAgICAgICAgdmlkZW9Qcm9kdWNlcixcbiAgICAgICAgcHJvZHVjZXJUcmFuc3BvcnQsXG4gICAgICAgIGlzbGV2ZWwsXG4gICAgICAgIHVwZGF0ZU1haW5XaW5kb3csXG4gICAgICAgIHVwZGF0ZVZpZGVvUHJvZHVjZXIsXG4gICAgICAgIHVwZGF0ZVByb2R1Y2VyVHJhbnNwb3J0LFxuICAgICAgICB1cGRhdGVVcGRhdGVNYWluV2luZG93LFxuICAgICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICAgIC8vIENvbm5lY3QgdGhlIHNlbmQgdHJhbnNwb3J0IGZvciB2aWRlbyBieSBwcm9kdWNpbmcgdmlkZW8gZGF0YVxuICAgICAgaWYgKHByb2R1Y2VyVHJhbnNwb3J0KSB7XG4gICAgICAgIHZpZGVvUHJvZHVjZXIgPSBhd2FpdCBwcm9kdWNlclRyYW5zcG9ydC5wcm9kdWNlKHZpZGVvUGFyYW1zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUHJvZHVjZXIgdHJhbnNwb3J0IGlzIG51bGwnKTtcbiAgICAgIH1cblxuICAgICAgLy8gVXBkYXRlIG1haW4gd2luZG93IHN0YXRlIGJhc2VkIG9uIHRoZSB2aWRlbyBjb25uZWN0aW9uIGxldmVsXG4gICAgICBpZiAoaXNsZXZlbCA9PT0gJzInKSB7XG4gICAgICAgIHVwZGF0ZU1haW5XaW5kb3cgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBVcGRhdGUgdGhlIHZpZGVvIHByb2R1Y2VyIGFuZCBwcm9kdWNlciB0cmFuc3BvcnQgb2JqZWN0c1xuICAgICAgdXBkYXRlVmlkZW9Qcm9kdWNlcih2aWRlb1Byb2R1Y2VyKTtcbiAgICAgIHVwZGF0ZVByb2R1Y2VyVHJhbnNwb3J0KHByb2R1Y2VyVHJhbnNwb3J0KTtcbiAgICAgIHVwZGF0ZVVwZGF0ZU1haW5XaW5kb3codXBkYXRlTWFpbldpbmRvdyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdjb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvIGVycm9yJywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -1,140 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Connects the send transport based on the specified option.
5
- *
6
- * @param {ConnectSendTransportOptions} options - The options for connecting the send transport.
7
- * @param {string} options.option - The type of transport to connect ("audio", "video", "screen", or "all").
8
- * @param {ConnectSendTransportParameters} options.parameters - The parameters required for connecting the transport.
9
- * @param {ProducerOptions} options.parameters.audioParams - The audio parameters.
10
- * @param {ProducerOptions} options.parameters.videoParams - The video parameters.
11
- * @param {MediaStream} options.parameters.localStreamScreen - The local screen stream.
12
- * @param {MediaStream} options.parameters.canvasStream - The canvas stream.
13
- * @param {boolean} options.parameters.whiteboardStarted - Indicates if the whiteboard has started.
14
- * @param {boolean} options.parameters.whiteboardEnded - Indicates if the whiteboard has ended.
15
- * @param {boolean} options.parameters.shared - Indicates if the screen is shared.
16
- * @param {string} options.parameters.islevel - The level of the screen sharing.
17
- * @param {Function} options.parameters.connectSendTransportAudio - Function to connect the audio send transport.
18
- * @param {Function} options.parameters.connectSendTransportVideo - Function to connect the video send transport.
19
- * @param {Function} options.parameters.connectSendTransportScreen - Function to connect the screen send transport.
20
- *
21
- * @returns {Promise<void>} A promise that resolves when the transport is connected.
22
- *
23
- * @throws Will throw an error if the connection fails.
24
- *
25
- * @example
26
- * ```typescript
27
- * const options = {
28
- * option: 'audio', // Can be 'audio', 'video', 'screen', or 'all'
29
- * parameters: {
30
- * audioParams: { codec: 'opus' },
31
- * videoParams: { codec: 'vp8' },
32
- * localStreamScreen: null, // Set to your local screen stream
33
- * canvasStream: null, // Set to your canvas stream if using
34
- * whiteboardStarted: false,
35
- * whiteboardEnded: true,
36
- * shared: false,
37
- * islevel: '1',
38
- * connectSendTransportAudio: connectSendTransportAudioFunction,
39
- * connectSendTransportVideo: connectSendTransportVideoFunction,
40
- * connectSendTransportScreen: connectSendTransportScreenFunction,
41
- * updateVideoProducer: () => {},
42
- * updateProducerTransport: () => {},
43
- * updateScreenProducer: () => {},
44
- * updateMainWindow: false,
45
- * },
46
- * };
47
- *
48
- * connectSendTransport(options)
49
- * .then(() => {
50
- * console.log('Transport connected successfully');
51
- * })
52
- * .catch((error) => {
53
- * console.error('Error connecting transport:', error);
54
- * });
55
- * ```
56
- */
57
- export class ConnectSendTransport {
58
- /**
59
- * Connects the send transport based on the specified option.
60
- *
61
- * @param {ConnectSendTransportOptions} options - The options for connecting the send transport.
62
- * @param {string} options.option - The type of transport to connect ("audio", "video", "screen", or both).
63
- * @param {Object} options.parameters - The parameters required for connecting the transport.
64
- * @param {Object} options.parameters.audioParams - The audio parameters.
65
- * @param {Object} options.parameters.videoParams - The video parameters.
66
- * @param {MediaStream} options.parameters.localStreamScreen - The local screen stream.
67
- * @param {MediaStream} options.parameters.canvasStream - The canvas stream.
68
- * @param {boolean} options.parameters.whiteboardStarted - Indicates if the whiteboard has started.
69
- * @param {boolean} options.parameters.whiteboardEnded - Indicates if the whiteboard has ended.
70
- * @param {boolean} options.parameters.shared - Indicates if the screen is shared.
71
- * @param {string} options.parameters.islevel - The level of the screen sharing.
72
- * @param {Function} options.parameters.connectSendTransportAudio - Function to connect the audio send transport.
73
- * @param {Function} options.parameters.connectSendTransportVideo - Function to connect the video send transport.
74
- * @param {Function} options.parameters.connectSendTransportScreen - Function to connect the screen send transport.
75
- *
76
- * @returns {Promise<void>} A promise that resolves when the transport is connected.
77
- *
78
- * @throws Will throw an error if the connection fails.
79
- */
80
- async connectSendTransport({ option, parameters }) {
81
- try {
82
- const { audioParams, videoParams, localStreamScreen, canvasStream, whiteboardStarted, whiteboardEnded, shared, islevel, connectSendTransportAudio, connectSendTransportVideo, connectSendTransportScreen, } = parameters;
83
- // Connect send transport based on the specified option
84
- if (option === 'audio') {
85
- await connectSendTransportAudio({
86
- audioParams,
87
- parameters,
88
- });
89
- }
90
- else if (option === 'video') {
91
- await connectSendTransportVideo({
92
- videoParams,
93
- parameters,
94
- });
95
- }
96
- else if (option === 'screen') {
97
- if (whiteboardStarted && !whiteboardEnded && canvasStream && islevel === '2' && !shared) {
98
- await connectSendTransportScreen({
99
- stream: canvasStream,
100
- parameters,
101
- });
102
- }
103
- else {
104
- if (localStreamScreen) {
105
- await connectSendTransportScreen({
106
- stream: localStreamScreen,
107
- parameters,
108
- });
109
- }
110
- else {
111
- throw new Error('localStreamScreen is null or undefined');
112
- }
113
- }
114
- }
115
- else {
116
- // Connect both audio and video send transports
117
- await connectSendTransportAudio({
118
- audioParams,
119
- parameters,
120
- });
121
- await connectSendTransportVideo({
122
- videoParams,
123
- parameters,
124
- });
125
- }
126
- }
127
- catch (error) {
128
- console.log('connectSendTransport error', error);
129
- }
130
- }
131
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransport, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
132
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransport, providedIn: 'root' });
133
- }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConnectSendTransport, decorators: [{
135
- type: Injectable,
136
- args: [{
137
- providedIn: 'root',
138
- }]
139
- }] });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdC1zZW5kLXRyYW5zcG9ydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy9jb25uZWN0LXNlbmQtdHJhbnNwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF1Q3pDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFERztBQU1MLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFCRztJQUVILEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQStCO1FBQzVFLElBQUksQ0FBQztZQUNILE1BQU0sRUFDSixXQUFXLEVBQ1gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sT0FBTyxFQUNQLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzNCLEdBQUcsVUFBVSxDQUFDO1lBRWYsdURBQXVEO1lBQ3ZELElBQUksTUFBTSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixNQUFNLHlCQUF5QixDQUFDO29CQUM5QixXQUFXO29CQUNYLFVBQVU7aUJBQ1gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSx5QkFBeUIsQ0FBQztvQkFDOUIsV0FBVztvQkFDWCxVQUFVO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQy9CLElBQUksaUJBQWlCLElBQUksQ0FBQyxlQUFlLElBQUksWUFBWSxJQUFJLE9BQU8sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDeEYsTUFBTSwwQkFBMEIsQ0FBQzt3QkFDL0IsTUFBTSxFQUFFLFlBQVk7d0JBQ3BCLFVBQVU7cUJBQ1gsQ0FBQyxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLGlCQUFpQixFQUFFLENBQUM7d0JBQ3RCLE1BQU0sMEJBQTBCLENBQUM7NEJBQy9CLE1BQU0sRUFBRSxpQkFBaUI7NEJBQ3pCLFVBQVU7eUJBQ1gsQ0FBQyxDQUFDO29CQUNMLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7b0JBQzVELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTiwrQ0FBK0M7Z0JBQy9DLE1BQU0seUJBQXlCLENBQUM7b0JBQzlCLFdBQVc7b0JBQ1gsVUFBVTtpQkFDWCxDQUFDLENBQUM7Z0JBQ0gsTUFBTSx5QkFBeUIsQ0FBQztvQkFDOUIsV0FBVztvQkFDWCxVQUFVO2lCQUNYLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7dUdBakZVLG9CQUFvQjsyR0FBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb2R1Y2VyT3B0aW9ucyB9IGZyb20gJ21lZGlhc291cC1jbGllbnQvbGliL3R5cGVzJztcbmltcG9ydCB7XG4gIENvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW9UeXBlLFxuICBDb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvVHlwZSxcbiAgQ29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5UeXBlLFxuICBDb25uZWN0U2VuZFRyYW5zcG9ydEF1ZGlvUGFyYW1ldGVycyxcbiAgQ29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb1BhcmFtZXRlcnMsXG4gIENvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuUGFyYW1ldGVycyxcbn0gZnJvbSAnLi4vQHR5cGVzL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdFNlbmRUcmFuc3BvcnRQYXJhbWV0ZXJzXG4gIGV4dGVuZHMgQ29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpb1BhcmFtZXRlcnMsXG4gICAgQ29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb1BhcmFtZXRlcnMsXG4gICAgQ29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW5QYXJhbWV0ZXJzIHtcbiAgYXVkaW9QYXJhbXM6IFByb2R1Y2VyT3B0aW9ucztcbiAgdmlkZW9QYXJhbXM6IFByb2R1Y2VyT3B0aW9ucztcbiAgbG9jYWxTdHJlYW1TY3JlZW46IE1lZGlhU3RyZWFtIHwgbnVsbDtcbiAgY2FudmFzU3RyZWFtOiBNZWRpYVN0cmVhbSB8IG51bGw7XG4gIHdoaXRlYm9hcmRTdGFydGVkOiBib29sZWFuO1xuICB3aGl0ZWJvYXJkRW5kZWQ6IGJvb2xlYW47XG4gIHNoYXJlZDogYm9vbGVhbjtcbiAgaXNsZXZlbDogc3RyaW5nO1xuXG4gIC8vbWVkaWFzZnUgZnVuY3Rpb25zXG4gIGNvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW86IENvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW9UeXBlO1xuICBjb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvOiBDb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvVHlwZTtcbiAgY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW46IENvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuVHlwZTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RTZW5kVHJhbnNwb3J0T3B0aW9ucyB7XG4gIG9wdGlvbjogJ2F1ZGlvJyB8ICd2aWRlbycgfCAnc2NyZWVuJyB8ICdhbGwnO1xuICBwYXJhbWV0ZXJzOiBDb25uZWN0U2VuZFRyYW5zcG9ydFBhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIENvbm5lY3RTZW5kVHJhbnNwb3J0VHlwZSA9IChvcHRpb25zOiBDb25uZWN0U2VuZFRyYW5zcG9ydE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIENvbm5lY3RzIHRoZSBzZW5kIHRyYW5zcG9ydCBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtDb25uZWN0U2VuZFRyYW5zcG9ydE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgY29ubmVjdGluZyB0aGUgc2VuZCB0cmFuc3BvcnQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm9wdGlvbiAtIFRoZSB0eXBlIG9mIHRyYW5zcG9ydCB0byBjb25uZWN0IChcImF1ZGlvXCIsIFwidmlkZW9cIiwgXCJzY3JlZW5cIiwgb3IgXCJhbGxcIikuXG4gICAqIEBwYXJhbSB7Q29ubmVjdFNlbmRUcmFuc3BvcnRQYXJhbWV0ZXJzfSBvcHRpb25zLnBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyByZXF1aXJlZCBmb3IgY29ubmVjdGluZyB0aGUgdHJhbnNwb3J0LlxuICAgKiBAcGFyYW0ge1Byb2R1Y2VyT3B0aW9uc30gb3B0aW9ucy5wYXJhbWV0ZXJzLmF1ZGlvUGFyYW1zIC0gVGhlIGF1ZGlvIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7UHJvZHVjZXJPcHRpb25zfSBvcHRpb25zLnBhcmFtZXRlcnMudmlkZW9QYXJhbXMgLSBUaGUgdmlkZW8gcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtNZWRpYVN0cmVhbX0gb3B0aW9ucy5wYXJhbWV0ZXJzLmxvY2FsU3RyZWFtU2NyZWVuIC0gVGhlIGxvY2FsIHNjcmVlbiBzdHJlYW0uXG4gICAqIEBwYXJhbSB7TWVkaWFTdHJlYW19IG9wdGlvbnMucGFyYW1ldGVycy5jYW52YXNTdHJlYW0gLSBUaGUgY2FudmFzIHN0cmVhbS5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMud2hpdGVib2FyZFN0YXJ0ZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIHdoaXRlYm9hcmQgaGFzIHN0YXJ0ZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLndoaXRlYm9hcmRFbmRlZCAtIEluZGljYXRlcyBpZiB0aGUgd2hpdGVib2FyZCBoYXMgZW5kZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnNoYXJlZCAtIEluZGljYXRlcyBpZiB0aGUgc2NyZWVuIGlzIHNoYXJlZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5pc2xldmVsIC0gVGhlIGxldmVsIG9mIHRoZSBzY3JlZW4gc2hhcmluZy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW8gLSBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBhdWRpbyBzZW5kIHRyYW5zcG9ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbm5lY3RTZW5kVHJhbnNwb3J0VmlkZW8gLSBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSB2aWRlbyBzZW5kIHRyYW5zcG9ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuIC0gRnVuY3Rpb24gdG8gY29ubmVjdCB0aGUgc2NyZWVuIHNlbmQgdHJhbnNwb3J0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgdHJhbnNwb3J0IGlzIGNvbm5lY3RlZC5cbiAgICpcbiAgICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBjb25uZWN0aW9uIGZhaWxzLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAqICAgb3B0aW9uOiAnYXVkaW8nLCAvLyBDYW4gYmUgJ2F1ZGlvJywgJ3ZpZGVvJywgJ3NjcmVlbicsIG9yICdhbGwnXG4gICAqICAgcGFyYW1ldGVyczoge1xuICAgKiAgICAgYXVkaW9QYXJhbXM6IHsgY29kZWM6ICdvcHVzJyB9LFxuICAgKiAgICAgdmlkZW9QYXJhbXM6IHsgY29kZWM6ICd2cDgnIH0sXG4gICAqICAgICBsb2NhbFN0cmVhbVNjcmVlbjogbnVsbCwgLy8gU2V0IHRvIHlvdXIgbG9jYWwgc2NyZWVuIHN0cmVhbVxuICAgKiAgICAgY2FudmFzU3RyZWFtOiBudWxsLCAvLyBTZXQgdG8geW91ciBjYW52YXMgc3RyZWFtIGlmIHVzaW5nXG4gICAqICAgICB3aGl0ZWJvYXJkU3RhcnRlZDogZmFsc2UsXG4gICAqICAgICB3aGl0ZWJvYXJkRW5kZWQ6IHRydWUsXG4gICAqICAgICBzaGFyZWQ6IGZhbHNlLFxuICAgKiAgICAgaXNsZXZlbDogJzEnLFxuICAgKiAgICAgY29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpbzogY29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpb0Z1bmN0aW9uLFxuICAgKiAgICAgY29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlbzogY29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlb0Z1bmN0aW9uLFxuICAgKiAgICAgY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW46IGNvbm5lY3RTZW5kVHJhbnNwb3J0U2NyZWVuRnVuY3Rpb24sXG4gICAqICAgICB1cGRhdGVWaWRlb1Byb2R1Y2VyOiAoKSA9PiB7fSxcbiAgICogICAgIHVwZGF0ZVByb2R1Y2VyVHJhbnNwb3J0OiAoKSA9PiB7fSxcbiAgICogICAgIHVwZGF0ZVNjcmVlblByb2R1Y2VyOiAoKSA9PiB7fSxcbiAgICogICAgIHVwZGF0ZU1haW5XaW5kb3c6IGZhbHNlLFxuICAgKiAgIH0sXG4gICAqIH07XG4gICAqXG4gICAqIGNvbm5lY3RTZW5kVHJhbnNwb3J0KG9wdGlvbnMpXG4gICAqICAgLnRoZW4oKCkgPT4ge1xuICAgKiAgICAgY29uc29sZS5sb2coJ1RyYW5zcG9ydCBjb25uZWN0ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAqICAgfSlcbiAgICogICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAqICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBjb25uZWN0aW5nIHRyYW5zcG9ydDonLCBlcnJvcik7XG4gICAqICAgfSk7XG4gICAqIGBgYFxuICAgKi9cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdFNlbmRUcmFuc3BvcnQge1xuICAvKipcbiAgICogQ29ubmVjdHMgdGhlIHNlbmQgdHJhbnNwb3J0IGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge0Nvbm5lY3RTZW5kVHJhbnNwb3J0T3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBjb25uZWN0aW5nIHRoZSBzZW5kIHRyYW5zcG9ydC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMub3B0aW9uIC0gVGhlIHR5cGUgb2YgdHJhbnNwb3J0IHRvIGNvbm5lY3QgKFwiYXVkaW9cIiwgXCJ2aWRlb1wiLCBcInNjcmVlblwiLCBvciBib3RoKS5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIHJlcXVpcmVkIGZvciBjb25uZWN0aW5nIHRoZSB0cmFuc3BvcnQuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcmFtZXRlcnMuYXVkaW9QYXJhbXMgLSBUaGUgYXVkaW8gcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMucGFyYW1ldGVycy52aWRlb1BhcmFtcyAtIFRoZSB2aWRlbyBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge01lZGlhU3RyZWFtfSBvcHRpb25zLnBhcmFtZXRlcnMubG9jYWxTdHJlYW1TY3JlZW4gLSBUaGUgbG9jYWwgc2NyZWVuIHN0cmVhbS5cbiAgICogQHBhcmFtIHtNZWRpYVN0cmVhbX0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNhbnZhc1N0cmVhbSAtIFRoZSBjYW52YXMgc3RyZWFtLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy53aGl0ZWJvYXJkU3RhcnRlZCAtIEluZGljYXRlcyBpZiB0aGUgd2hpdGVib2FyZCBoYXMgc3RhcnRlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMud2hpdGVib2FyZEVuZGVkIC0gSW5kaWNhdGVzIGlmIHRoZSB3aGl0ZWJvYXJkIGhhcyBlbmRlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMuc2hhcmVkIC0gSW5kaWNhdGVzIGlmIHRoZSBzY3JlZW4gaXMgc2hhcmVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wYXJhbWV0ZXJzLmlzbGV2ZWwgLSBUaGUgbGV2ZWwgb2YgdGhlIHNjcmVlbiBzaGFyaW5nLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuY29ubmVjdFNlbmRUcmFuc3BvcnRBdWRpbyAtIEZ1bmN0aW9uIHRvIGNvbm5lY3QgdGhlIGF1ZGlvIHNlbmQgdHJhbnNwb3J0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuY29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlbyAtIEZ1bmN0aW9uIHRvIGNvbm5lY3QgdGhlIHZpZGVvIHNlbmQgdHJhbnNwb3J0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW4gLSBGdW5jdGlvbiB0byBjb25uZWN0IHRoZSBzY3JlZW4gc2VuZCB0cmFuc3BvcnQuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB0cmFuc3BvcnQgaXMgY29ubmVjdGVkLlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIGNvbm5lY3Rpb24gZmFpbHMuXG4gICAqL1xuXG4gIGFzeW5jIGNvbm5lY3RTZW5kVHJhbnNwb3J0KHsgb3B0aW9uLCBwYXJhbWV0ZXJzIH06IENvbm5lY3RTZW5kVHJhbnNwb3J0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGF1ZGlvUGFyYW1zLFxuICAgICAgICB2aWRlb1BhcmFtcyxcbiAgICAgICAgbG9jYWxTdHJlYW1TY3JlZW4sXG4gICAgICAgIGNhbnZhc1N0cmVhbSxcbiAgICAgICAgd2hpdGVib2FyZFN0YXJ0ZWQsXG4gICAgICAgIHdoaXRlYm9hcmRFbmRlZCxcbiAgICAgICAgc2hhcmVkLFxuICAgICAgICBpc2xldmVsLFxuICAgICAgICBjb25uZWN0U2VuZFRyYW5zcG9ydEF1ZGlvLFxuICAgICAgICBjb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvLFxuICAgICAgICBjb25uZWN0U2VuZFRyYW5zcG9ydFNjcmVlbixcbiAgICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgICAvLyBDb25uZWN0IHNlbmQgdHJhbnNwb3J0IGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgb3B0aW9uXG4gICAgICBpZiAob3B0aW9uID09PSAnYXVkaW8nKSB7XG4gICAgICAgIGF3YWl0IGNvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW8oe1xuICAgICAgICAgIGF1ZGlvUGFyYW1zLFxuICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChvcHRpb24gPT09ICd2aWRlbycpIHtcbiAgICAgICAgYXdhaXQgY29ubmVjdFNlbmRUcmFuc3BvcnRWaWRlbyh7XG4gICAgICAgICAgdmlkZW9QYXJhbXMsXG4gICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbiA9PT0gJ3NjcmVlbicpIHtcbiAgICAgICAgaWYgKHdoaXRlYm9hcmRTdGFydGVkICYmICF3aGl0ZWJvYXJkRW5kZWQgJiYgY2FudmFzU3RyZWFtICYmIGlzbGV2ZWwgPT09ICcyJyAmJiAhc2hhcmVkKSB7XG4gICAgICAgICAgYXdhaXQgY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW4oe1xuICAgICAgICAgICAgc3RyZWFtOiBjYW52YXNTdHJlYW0sXG4gICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChsb2NhbFN0cmVhbVNjcmVlbikge1xuICAgICAgICAgICAgYXdhaXQgY29ubmVjdFNlbmRUcmFuc3BvcnRTY3JlZW4oe1xuICAgICAgICAgICAgICBzdHJlYW06IGxvY2FsU3RyZWFtU2NyZWVuLFxuICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbG9jYWxTdHJlYW1TY3JlZW4gaXMgbnVsbCBvciB1bmRlZmluZWQnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIENvbm5lY3QgYm90aCBhdWRpbyBhbmQgdmlkZW8gc2VuZCB0cmFuc3BvcnRzXG4gICAgICAgIGF3YWl0IGNvbm5lY3RTZW5kVHJhbnNwb3J0QXVkaW8oe1xuICAgICAgICAgIGF1ZGlvUGFyYW1zLFxuICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBjb25uZWN0U2VuZFRyYW5zcG9ydFZpZGVvKHtcbiAgICAgICAgICB2aWRlb1BhcmFtcyxcbiAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coJ2Nvbm5lY3RTZW5kVHJhbnNwb3J0IGVycm9yJywgZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19