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
@@ -3,14 +3,17 @@ import { PrepopulateUserMediaParameters, PrepopulateUserMediaType } from '../@ty
3
3
  import * as i0 from "@angular/core";
4
4
  export interface ResumeSendTransportAudioParameters extends PrepopulateUserMediaParameters {
5
5
  audioProducer: Producer | null;
6
+ localAudioProducer?: Producer | null;
6
7
  islevel: string;
7
8
  hostLabel: string;
8
9
  lock_screen: boolean;
9
10
  shared: boolean;
10
11
  videoAlreadyOn: boolean;
11
12
  updateAudioProducer: (audioProducer: Producer | null) => void;
13
+ updateLocalAudioProducer?: (localAudioProducer: Producer | null) => void;
12
14
  updateUpdateMainWindow: (updateMainWindow: boolean) => void;
13
15
  prepopulateUserMedia: PrepopulateUserMediaType;
16
+ prepopulateLocalUserMedia?: PrepopulateUserMediaType;
14
17
  [key: string]: any;
15
18
  }
16
19
  export interface ResumeSendTransportAudioOptions {
@@ -20,58 +23,88 @@ export type ResumeSendTransportAudioType = (options: ResumeSendTransportAudioOpt
20
23
  /**
21
24
  * Resumes the send transport for audio and updates the UI and audio producer state accordingly.
22
25
  *
23
- * This method is essential for resuming audio streaming after it has been paused.
24
- * It updates the application state and UI to reflect the current audio status.
26
+ * This function supports both a primary and a local audio producer, delegating the local logic to a separate function.
25
27
  *
26
28
  * @param {ResumeSendTransportAudioOptions} options - The options for resuming the send transport.
27
- * @param {Object} options.parameters - The parameters required for resuming the send transport.
28
- * @param {Producer} options.parameters.audioProducer - The audio producer to be resumed.
29
- * @param {string} options.parameters.islevel - The level of the user (e.g., host).
30
- * @param {string} options.parameters.hostLabel - The label of the host.
29
+ * @param {ResumeSendTransportAudioParameters} options.parameters - The parameters for resuming the send transport.
30
+ * @param {Producer} options.parameters.audioProducer - The primary audio producer to resume.
31
+ * @param {Producer} [options.parameters.localAudioProducer] - The local audio producer to resume.
32
+ * @param {string} options.parameters.islevel - The level of the audio producer.
33
+ * @param {string} options.parameters.hostLabel - The label for the host.
31
34
  * @param {boolean} options.parameters.lock_screen - Indicates if the screen is locked.
32
35
  * @param {boolean} options.parameters.shared - Indicates if the screen is shared.
33
- * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer state.
34
36
  * @param {boolean} options.parameters.videoAlreadyOn - Indicates if the video is already on.
35
- * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window state.
37
+ * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer state.
38
+ * @param {Function} [options.parameters.updateLocalAudioProducer] - Function to update the local audio producer state.
39
+ * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window.
36
40
  * @param {Function} options.parameters.prepopulateUserMedia - Function to prepopulate user media.
37
- *
38
41
  * @returns {Promise<void>} A promise that resolves when the send transport is resumed and the UI is updated.
39
42
  *
40
43
  * @throws {Error} Throws an error if there is an issue during the process of resuming the audio send transport.
41
44
  *
42
45
  * @example
46
+ * ```typescript
43
47
  * await resumeSendTransportAudio({
44
48
  * parameters: {
45
- * audioProducer: myAudioProducer,
46
- * islevel: '2',
49
+ * audioProducer: producer,
50
+ * localAudioProducer: localProducer,
51
+ * islevel: '1',
47
52
  * hostLabel: 'Host',
48
53
  * lock_screen: false,
49
54
  * shared: false,
50
- * updateAudioProducer: (producer) => { /* update producer state *\/ },
51
- * updateUpdateMainWindow: (state) => { /* update main window state *\/ },
52
- * prepopulateUserMedia: myPrepopulateFunction,
55
+ * updateAudioProducer: updateProducerFunction,
56
+ * updateLocalAudioProducer: updateLocalProducerFunction,
57
+ * videoAlreadyOn: false,
58
+ * updateUpdateMainWindow: updateWindowFunction,
59
+ * prepopulateUserMedia: prepopulateFunction,
60
+ * prepopulateLocalUserMedia: prepopulateLocalFunction,
53
61
  * },
54
62
  * });
63
+ * ```
55
64
  */
56
65
  export declare class ResumeSendTransportAudio {
66
+ resumeLocalSendTransportAudio({ parameters, }: ResumeSendTransportAudioOptions): Promise<void>;
57
67
  /**
58
68
  * Resumes the send transport for audio and updates the UI and audio producer state accordingly.
59
69
  *
70
+ * This function supports both a primary and a local audio producer, delegating the local logic to a separate function.
71
+ *
60
72
  * @param {ResumeSendTransportAudioOptions} options - The options for resuming the send transport.
61
- * @param {Object} options.parameters - The parameters required for resuming the send transport.
62
- * @param {Producer} options.parameters.audioProducer - The audio producer to be resumed.
63
- * @param {string} options.parameters.islevel - The level of the user.
64
- * @param {string} options.parameters.hostLabel - The label of the host.
73
+ * @param {ResumeSendTransportAudioParameters} options.parameters - The parameters for resuming the send transport.
74
+ * @param {Producer} options.parameters.audioProducer - The primary audio producer to resume.
75
+ * @param {Producer} [options.parameters.localAudioProducer] - The local audio producer to resume.
76
+ * @param {string} options.parameters.islevel - The level of the audio producer.
77
+ * @param {string} options.parameters.hostLabel - The label for the host.
65
78
  * @param {boolean} options.parameters.lock_screen - Indicates if the screen is locked.
66
79
  * @param {boolean} options.parameters.shared - Indicates if the screen is shared.
67
- * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer state.
68
80
  * @param {boolean} options.parameters.videoAlreadyOn - Indicates if the video is already on.
69
- * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window state.
81
+ * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer state.
82
+ * @param {Function} [options.parameters.updateLocalAudioProducer] - Function to update the local audio producer state.
83
+ * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window.
70
84
  * @param {Function} options.parameters.prepopulateUserMedia - Function to prepopulate user media.
71
- *
72
85
  * @returns {Promise<void>} A promise that resolves when the send transport is resumed and the UI is updated.
73
86
  *
74
87
  * @throws {Error} Throws an error if there is an issue during the process of resuming the audio send transport.
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * await resumeSendTransportAudio({
92
+ * parameters: {
93
+ * audioProducer: producer,
94
+ * localAudioProducer: localProducer,
95
+ * islevel: '1',
96
+ * hostLabel: 'Host',
97
+ * lock_screen: false,
98
+ * shared: false,
99
+ * updateAudioProducer: updateProducerFunction,
100
+ * updateLocalAudioProducer: updateLocalProducerFunction,
101
+ * videoAlreadyOn: false,
102
+ * updateUpdateMainWindow: updateWindowFunction,
103
+ * prepopulateUserMedia: prepopulateFunction,
104
+ * prepopulateLocalUserMedia: prepopulateLocalFunction,
105
+ * },
106
+ * });
107
+ * ```
75
108
  */
76
109
  resumeSendTransportAudio({ parameters }: ResumeSendTransportAudioOptions): Promise<void>;
77
110
  static ɵfac: i0.ɵɵFactoryDeclaration<ResumeSendTransportAudio, never>;
@@ -11,7 +11,9 @@ import * as i0 from "@angular/core";
11
11
  */
12
12
  export interface StreamSuccessAudioSwitchParameters extends PrepopulateUserMediaParameters, CreateSendTransportParameters, ConnectSendTransportAudioParameters {
13
13
  audioProducer: Producer | null;
14
+ localAudioProducer?: Producer | null;
14
15
  socket: Socket;
16
+ localSocket?: Socket;
15
17
  roomName: string;
16
18
  localStream: MediaStream | null;
17
19
  localStreamAudio: MediaStream | null;
@@ -19,6 +21,7 @@ export interface StreamSuccessAudioSwitchParameters extends PrepopulateUserMedia
19
21
  audioPaused: boolean;
20
22
  audioAlreadyOn: boolean;
21
23
  transportCreated: boolean;
24
+ localTransportCreated?: boolean;
22
25
  audioParamse?: ProducerCodecOptions;
23
26
  defAudioID: string;
24
27
  userDefaultAudioInputDevice: string;
@@ -29,6 +32,7 @@ export interface StreamSuccessAudioSwitchParameters extends PrepopulateUserMedia
29
32
  lock_screen: boolean;
30
33
  shared: boolean;
31
34
  updateAudioProducer: (audioProducer: Producer | null) => void;
35
+ updateLocalAudioProducer?: (localAudioProducer: Producer | null) => void;
32
36
  updateLocalStream: (localStream: MediaStream | null) => void;
33
37
  updateAudioParams: (audioParams: ProducerOptions) => void;
34
38
  updateDefAudioID: (defAudioID: string) => void;
@@ -49,82 +53,117 @@ export type StreamSuccessAudioSwitchType = (options: StreamSuccessAudioSwitchOpt
49
53
  /**
50
54
  * Handles the switching of the audio stream upon successful stream connection.
51
55
  *
52
- * This method updates the audio producer, manages the transport connections,
53
- * and ensures that the UI reflects the current audio state after switching devices.
54
- *
55
- * @param {StreamSuccessAudioSwitchOptions} options - The options for the stream success audio switch.
56
- * @param {MediaStream} options.stream - The new media stream with the switched audio device.
57
- * @param {Object} options.parameters - The parameters required for the audio switch.
58
- * @param {Producer | null} options.parameters.audioProducer - The current audio producer.
59
- * @param {Socket} options.parameters.socket - The socket connection.
60
- * @param {string} options.parameters.roomName - The name of the room for the connection.
56
+ * @param {StreamSuccessAudioSwitchOptions} options - The options for the audio stream success switch.
57
+ * @param {MediaStream} options.stream - The new media stream containing the audio track.
58
+ * @param {Object} options.parameters - The parameters required for setting up the audio stream.
59
+ * @param {Producer} options.parameters.audioProducer - The current audio producer.
60
+ * @param {Producer} options.parameters.localAudioProducer - The local audio producer.
61
+ * @param {Socket} options.parameters.socket - The socket connection for communication.
62
+ * @param {Socket} options.parameters.localSocket - The local socket connection for communication.
63
+ * @param {string} options.parameters.roomName - The name of the room.
61
64
  * @param {MediaStream | null} options.parameters.localStream - The local media stream.
62
65
  * @param {MediaStream | null} options.parameters.localStreamAudio - The local audio stream.
63
- * @param {ProducerOptions} options.parameters.audioParams - The audio parameters for the producer.
64
- * @param {boolean} options.parameters.audioPaused - Indicates if the audio is currently paused.
65
- * @param {boolean} options.parameters.audioAlreadyOn - Indicates if the audio was already active.
66
- * @param {boolean} options.parameters.transportCreated - Indicates if the transport has been created.
67
- * @param {ProducerCodecOptions} [options.parameters.audioParamse] - Additional audio parameters.
66
+ * @param {ProducerOptions} options.parameters.audioParams - The audio parameters.
67
+ * @param {boolean} options.parameters.audioPaused - Indicates if the audio is paused.
68
+ * @param {boolean} options.parameters.audioAlreadyOn - Indicates if the audio is already on.
69
+ * @param {boolean} options.parameters.transportCreated - Indicates if the transport is created.
70
+ * @param {ProducerCodecOptions} options.parameters.audioParamse - Additional audio parameters.
68
71
  * @param {string} options.parameters.defAudioID - The default audio device ID.
69
72
  * @param {string} options.parameters.userDefaultAudioInputDevice - The user default audio input device.
70
- * @param {string} options.parameters.hostLabel - The label of the host for the session.
71
- * @param {boolean} options.parameters.updateMainWindow - Indicates if the main window needs to be updated.
72
- * @param {boolean} options.parameters.videoAlreadyOn - Indicates if the video stream is active.
73
- * @param {string} options.parameters.islevel - The level of the user in the session.
73
+ * @param {string} options.parameters.hostLabel - The label of the host.
74
+ * @param {boolean} options.parameters.updateMainWindow - Indicates if the main window should be updated.
75
+ * @param {boolean} options.parameters.videoAlreadyOn - Indicates if the video is already on.
76
+ * @param {string} options.parameters.islevel - The level of the participant.
74
77
  * @param {boolean} options.parameters.lock_screen - Indicates if the screen is locked.
75
78
  * @param {boolean} options.parameters.shared - Indicates if the screen is shared.
76
- * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer state.
79
+ * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer.
80
+ * @param {Function} options.parameters.updateLocalAudioProducer - Function to update the local audio producer.
77
81
  * @param {Function} options.parameters.updateLocalStream - Function to update the local stream.
78
82
  * @param {Function} options.parameters.updateAudioParams - Function to update the audio parameters.
79
83
  * @param {Function} options.parameters.updateDefAudioID - Function to update the default audio device ID.
80
84
  * @param {Function} options.parameters.updateUserDefaultAudioInputDevice - Function to update the user default audio input device.
81
- * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window state.
85
+ * @param {Function} options.parameters.updateUpdateMainWindow - Function to update the main window.
82
86
  * @param {Function} options.parameters.sleep - Function to pause execution for a specified time.
83
87
  * @param {Function} options.parameters.prepopulateUserMedia - Function to prepopulate user media.
84
- * @param {Function} options.parameters.createSendTransport - Function to create a send transport for audio.
88
+ * @param {Function} options.parameters.createSendTransport - Function to create a send transport.
85
89
  * @param {Function} options.parameters.connectSendTransportAudio - Function to connect the send transport for audio.
86
90
  *
87
- * @returns {Promise<void>} A promise that resolves when the audio switch is complete.
88
- *
89
- * @throws {Error} Throws an error if there is an issue during the audio stream switch process.
91
+ * @returns {Promise<void>} A promise that resolves when the audio stream switch is complete.
90
92
  *
91
93
  * @example
92
- * await streamSuccessAudioSwitch({
93
- * stream: newStream,
94
+ * const options = {
95
+ * stream: newAudioStream, // MediaStream object containing the new audio track
94
96
  * parameters: {
95
97
  * audioProducer: currentAudioProducer,
98
+ * localAudioProducer: localAudioProducerInstance,
99
+ * localSocket: localSocketInstance,
96
100
  * socket: socketInstance,
97
- * roomName: 'exampleRoom',
98
- * // other parameters...
101
+ * roomName: "Room1",
102
+ * localStream: null,
103
+ * localStreamAudio: null,
104
+ * audioParams: audioProducerOptions,
105
+ * audioPaused: false,
106
+ * audioAlreadyOn: true,
107
+ * transportCreated: false,
108
+ * audioParamse: additionalAudioParams,
109
+ * defAudioID: "default-audio-device-id",
110
+ * userDefaultAudioInputDevice: "user-input-device-id",
111
+ * hostLabel: "Host",
112
+ * islevel: "1",
113
+ * videoAlreadyOn: false,
114
+ * lock_screen: false,
115
+ * shared: false,
116
+ * updateAudioProducer: updateAudioProducerFunction,
117
+ * updateLocalAudioProducer: updateLocalAudioProducerFunction,
118
+ * updateLocalStream: updateLocalStreamFunction,
119
+ * updateAudioParams: updateAudioParamsFunction,
120
+ * updateDefAudioID: updateDefAudioIDFunction,
121
+ * updateUserDefaultAudioInputDevice: updateUserDefaultAudioInputDeviceFunction,
122
+ * updateUpdateMainWindow: updateMainWindowFunction,
123
+ * sleep: sleepFunction,
124
+ * prepopulateUserMedia: prepopulateUserMediaFunction,
125
+ * createSendTransport: createSendTransportFunction,
126
+ * connectSendTransportAudio: connectSendTransportAudioFunction,
99
127
  * },
100
- * });
128
+ * };
129
+ *
130
+ * streamSuccessAudioSwitch(options)
131
+ * .then(() => {
132
+ * console.log('Audio stream switched successfully');
133
+ * })
134
+ * .catch(error => {
135
+ * console.error('Error switching audio stream:', error);
136
+ * });
101
137
  */
102
138
  export declare class StreamSuccessAudioSwitch {
103
139
  /**
104
140
  * Handles the switching of the audio stream upon successful stream connection.
105
141
  *
106
- * @param {Object} options - The options for the stream success audio switch.
107
- * @param {MediaStream} options.stream - The new media stream.
108
- * @param {Object} options.parameters - The parameters required for the audio switch.
142
+ * @param {StreamSuccessAudioSwitchOptions} options - The options for the audio stream success switch.
143
+ * @param {MediaStream} options.stream - The new media stream containing the audio track.
144
+ * @param {Object} options.parameters - The parameters required for setting up the audio stream.
109
145
  * @param {Producer} options.parameters.audioProducer - The current audio producer.
110
- * @param {Socket} options.parameters.socket - The socket connection.
146
+ * @param {Producer} options.parameters.localAudioProducer - The local audio producer.
147
+ * @param {Socket} options.parameters.socket - The socket connection for communication.
148
+ * @param {Socket} options.parameters.localSocket - The local socket connection for communication.
111
149
  * @param {string} options.parameters.roomName - The name of the room.
112
- * @param {MediaStream} options.parameters.localStream - The local media stream.
113
- * @param {MediaStream} options.parameters.localStreamAudio - The local audio stream.
114
- * @param {Object} options.parameters.audioParams - The audio parameters.
150
+ * @param {MediaStream | null} options.parameters.localStream - The local media stream.
151
+ * @param {MediaStream | null} options.parameters.localStreamAudio - The local audio stream.
152
+ * @param {ProducerOptions} options.parameters.audioParams - The audio parameters.
115
153
  * @param {boolean} options.parameters.audioPaused - Indicates if the audio is paused.
116
154
  * @param {boolean} options.parameters.audioAlreadyOn - Indicates if the audio is already on.
117
155
  * @param {boolean} options.parameters.transportCreated - Indicates if the transport is created.
118
- * @param {Object} options.parameters.audioParamse - Additional audio parameters.
156
+ * @param {ProducerCodecOptions} options.parameters.audioParamse - Additional audio parameters.
119
157
  * @param {string} options.parameters.defAudioID - The default audio device ID.
120
158
  * @param {string} options.parameters.userDefaultAudioInputDevice - The user default audio input device.
121
- * @param {string} options.parameters.hostLabel - The host label.
159
+ * @param {string} options.parameters.hostLabel - The label of the host.
122
160
  * @param {boolean} options.parameters.updateMainWindow - Indicates if the main window should be updated.
123
161
  * @param {boolean} options.parameters.videoAlreadyOn - Indicates if the video is already on.
124
- * @param {string} options.parameters.islevel - The participant's level.
162
+ * @param {string} options.parameters.islevel - The level of the participant.
125
163
  * @param {boolean} options.parameters.lock_screen - Indicates if the screen is locked.
126
164
  * @param {boolean} options.parameters.shared - Indicates if the screen is shared.
127
165
  * @param {Function} options.parameters.updateAudioProducer - Function to update the audio producer.
166
+ * @param {Function} options.parameters.updateLocalAudioProducer - Function to update the local audio producer.
128
167
  * @param {Function} options.parameters.updateLocalStream - Function to update the local stream.
129
168
  * @param {Function} options.parameters.updateAudioParams - Function to update the audio parameters.
130
169
  * @param {Function} options.parameters.updateDefAudioID - Function to update the default audio device ID.
@@ -135,7 +174,52 @@ export declare class StreamSuccessAudioSwitch {
135
174
  * @param {Function} options.parameters.createSendTransport - Function to create a send transport.
136
175
  * @param {Function} options.parameters.connectSendTransportAudio - Function to connect the send transport for audio.
137
176
  *
138
- * @returns {Promise<void>} A promise that resolves when the audio switch is complete.
177
+ * @returns {Promise<void>} A promise that resolves when the audio stream switch is complete.
178
+ *
179
+ * @example
180
+ * const options = {
181
+ * stream: newAudioStream, // MediaStream object containing the new audio track
182
+ * parameters: {
183
+ * audioProducer: currentAudioProducer,
184
+ * localAudioProducer: localAudioProducerInstance,
185
+ * localSocket: localSocketInstance,
186
+ * socket: socketInstance,
187
+ * roomName: "Room1",
188
+ * localStream: null,
189
+ * localStreamAudio: null,
190
+ * audioParams: audioProducerOptions,
191
+ * audioPaused: false,
192
+ * audioAlreadyOn: true,
193
+ * transportCreated: false,
194
+ * audioParamse: additionalAudioParams,
195
+ * defAudioID: "default-audio-device-id",
196
+ * userDefaultAudioInputDevice: "user-input-device-id",
197
+ * hostLabel: "Host",
198
+ * islevel: "1",
199
+ * videoAlreadyOn: false,
200
+ * lock_screen: false,
201
+ * shared: false,
202
+ * updateAudioProducer: updateAudioProducerFunction,
203
+ * updateLocalAudioProducer: updateLocalAudioProducerFunction,
204
+ * updateLocalStream: updateLocalStreamFunction,
205
+ * updateAudioParams: updateAudioParamsFunction,
206
+ * updateDefAudioID: updateDefAudioIDFunction,
207
+ * updateUserDefaultAudioInputDevice: updateUserDefaultAudioInputDeviceFunction,
208
+ * updateUpdateMainWindow: updateMainWindowFunction,
209
+ * sleep: sleepFunction,
210
+ * prepopulateUserMedia: prepopulateUserMediaFunction,
211
+ * createSendTransport: createSendTransportFunction,
212
+ * connectSendTransportAudio: connectSendTransportAudioFunction,
213
+ * },
214
+ * };
215
+ *
216
+ * streamSuccessAudioSwitch(options)
217
+ * .then(() => {
218
+ * console.log('Audio stream switched successfully');
219
+ * })
220
+ * .catch(error => {
221
+ * console.error('Error switching audio stream:', error);
222
+ * });
139
223
  */
140
224
  streamSuccessAudioSwitch({ stream, parameters, }: StreamSuccessAudioSwitchOptions): Promise<void>;
141
225
  static ɵfac: i0.ɵɵFactoryDeclaration<StreamSuccessAudioSwitch, never>;
@@ -3,6 +3,7 @@ import { Participant, AutoAdjustType, ScreenState, EventType } from '../@types/t
3
3
  import * as i0 from "@angular/core";
4
4
  export interface TriggerParameters {
5
5
  socket: Socket;
6
+ localSocket?: Socket;
6
7
  roomName: string;
7
8
  screenStates: ScreenState[];
8
9
  participants: Participant[];
@@ -45,6 +46,7 @@ export type TriggerType = (options: TriggerOptions) => Promise<void>;
45
46
  * ref_ActiveNames: ["user1", "user2"],
46
47
  * parameters: {
47
48
  * socket: socketInstance,
49
+ * localSocket: socketInstance,
48
50
  * roomName: "room1",
49
51
  * screenStates: [{ mainScreenPerson: "user1", mainScreenFilled: true, adminOnMainScreen: false }],
50
52
  * participants: [{ name: "admin", islevel: "2" }],
@@ -85,6 +87,7 @@ export declare class Trigger {
85
87
  * ref_ActiveNames: ["user1", "user2"],
86
88
  * parameters: {
87
89
  * socket: socketInstance,
90
+ * localSocket: socketInstance,
88
91
  * roomName: "room1",
89
92
  * screenStates: [{ mainScreenPerson: "user1", mainScreenFilled: true, adminOnMainScreen: false }],
90
93
  * participants: [{ name: "admin", islevel: "2" }],
@@ -2,6 +2,7 @@ import { Socket } from 'socket.io-client';
2
2
  import * as i0 from "@angular/core";
3
3
  export interface ConfirmExitOptions {
4
4
  socket: Socket;
5
+ localSocket?: Socket;
5
6
  member: string;
6
7
  roomName: string;
7
8
  ban?: boolean;
@@ -15,6 +16,7 @@ export type ConfirmExitType = (options: ConfirmExitOptions) => Promise<void>;
15
16
  *
16
17
  * @param {ConfirmExitOptions} options - The options for confirming the exit.
17
18
  * @param {Socket} options.socket - The socket instance to emit the event.
19
+ * @param {Socket} [options.localSocket] - The local socket instance to emit the event.
18
20
  * @param {string} options.member - The member who is exiting.
19
21
  * @param {string} options.roomName - The name of the room the member is exiting from.
20
22
  * @param {boolean} [options.ban=false] - Whether to ban the member from the room.
@@ -25,6 +27,7 @@ export type ConfirmExitType = (options: ConfirmExitOptions) => Promise<void>;
25
27
  * const confirmExitService = new ConfirmExit();
26
28
  * await confirmExitService.confirmExit({
27
29
  * socket: socketInstance,
30
+ * localSocket: localSocketInstance,
28
31
  * member: 'JohnDoe',
29
32
  * roomName: 'Room1',
30
33
  * ban: true, // Optional: set to true if you want to ban the member
@@ -37,12 +40,13 @@ export declare class ConfirmExit {
37
40
  *
38
41
  * @param {Object} options - The options for confirming the exit.
39
42
  * @param {Socket} options.socket - The socket instance to emit the event.
43
+ * @param {Socket} [options.localSocket] - The local socket instance to emit the event.
40
44
  * @param {string} options.member - The member who is exiting.
41
45
  * @param {string} options.roomName - The name of the room the member is exiting from.
42
46
  * @param {boolean} [options.ban=false] - Whether to ban the member from the room.
43
47
  * @returns {Promise<void>} A promise that resolves when the exit is confirmed.
44
48
  */
45
- confirmExit({ socket, member, roomName, ban }: ConfirmExitOptions): Promise<void>;
49
+ confirmExit({ socket, localSocket, member, roomName, ban }: ConfirmExitOptions): Promise<void>;
46
50
  static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmExit, never>;
47
51
  static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmExit>;
48
52
  }
@@ -7,6 +7,7 @@ export interface StartRecordingParameters extends CaptureCanvasStreamParameters,
7
7
  roomName: string;
8
8
  userRecordingParams: UserRecordingParams;
9
9
  socket: Socket;
10
+ localSocket?: Socket;
10
11
  updateIsRecordingModalVisible: (visible: boolean) => void;
11
12
  confirmedToRecord: boolean;
12
13
  showAlert?: ShowAlert;
@@ -46,6 +47,7 @@ export type StartRecordingType = (options: StartRecordingOptions) => Promise<boo
46
47
  * @param {string} options.parameters.roomName - The name of the room where recording is to be started.
47
48
  * @param {object} options.parameters.userRecordingParams - User-specific recording parameters.
48
49
  * @param {object} options.parameters.socket - The socket instance for communication.
50
+ * @param {object} options.parameters.localSocket - The local socket instance for communication.
49
51
  * @param {function} options.parameters.updateIsRecordingModalVisible - Function to update the visibility of the recording modal.
50
52
  * @param {boolean} options.parameters.confirmedToRecord - Flag indicating if the user has confirmed to record.
51
53
  * @param {function} options.parameters.showAlert - Function to show alerts.
@@ -100,6 +102,7 @@ export declare class StartRecording {
100
102
  * @param {string} options.parameters.roomName - The name of the room where recording is to be started.
101
103
  * @param {object} options.parameters.userRecordingParams - User-specific recording parameters.
102
104
  * @param {object} options.parameters.socket - The socket instance for communication.
105
+ * @param {object} options.parameters.localSocket - The local socket instance for communication.
103
106
  * @param {function} options.parameters.updateIsRecordingModalVisible - Function to update the visibility of the recording modal.
104
107
  * @param {boolean} options.parameters.confirmedToRecord - Flag indicating if the user has confirmed to record.
105
108
  * @param {function} options.parameters.showAlert - Function to show alerts.
@@ -1,9 +1,11 @@
1
1
  import { RecordPauseTimer } from './record-pause-timer.service';
2
2
  import { ShowAlert } from '../../@types/types';
3
+ import { Socket } from 'socket.io-client';
3
4
  import * as i0 from "@angular/core";
4
5
  export interface StopRecordingParameters {
5
6
  roomName: string;
6
- socket: any;
7
+ socket: Socket;
8
+ localSocket?: Socket;
7
9
  showAlert?: ShowAlert;
8
10
  startReport: boolean;
9
11
  endReport: boolean;
@@ -35,6 +37,7 @@ export type StopRecordingType = (options: StopRecordingOptions) => Promise<void>
35
37
  * @param {Object} options.parameters - The parameters required for stopping the recording.
36
38
  * @param {string} options.parameters.roomName - The name of the room where the recording is being stopped.
37
39
  * @param {Socket} options.parameters.socket - The socket instance for communication.
40
+ * @param {Socket} [options.parameters.localSocket] - The local socket instance for communication.
38
41
  * @param {Function} options.parameters.showAlert - Function to show alerts.
39
42
  * @param {boolean} options.parameters.startReport - Flag indicating if the start report is active.
40
43
  * @param {boolean} options.parameters.endReport - Flag indicating if the end report is active.
@@ -9,6 +9,7 @@ export interface UpdateRecordingParameters extends RecordResumeTimerParameters,
9
9
  roomName: string;
10
10
  userRecordingParams: UserRecordingParams;
11
11
  socket: Socket;
12
+ localSocket?: Socket;
12
13
  updateIsRecordingModalVisible: (visible: boolean) => void;
13
14
  confirmedToRecord: boolean;
14
15
  showAlert?: ShowAlert;
@@ -49,6 +50,7 @@ export type UpdateRecordingType = (options: UpdateRecordingOptions) => Promise<v
49
50
  * @param {string} options.parameters.roomName - The name of the room where the recording is taking place.
50
51
  * @param {UserRecordingParams} options.parameters.userRecordingParams - User-specific recording parameters.
51
52
  * @param {Socket} options.parameters.socket - The socket instance for communication.
53
+ * @param {Socket} [options.parameters.localSocket] - The local socket instance for communication.
52
54
  * @param {Function} options.parameters.updateIsRecordingModalVisible - Function to update the visibility of the recording modal.
53
55
  * @param {boolean} options.parameters.confirmedToRecord - Indicates if the user has confirmed to start recording.
54
56
  * @param {Function} options.parameters.showAlert - Function to show alerts.
@@ -104,6 +106,7 @@ export declare class UpdateRecording {
104
106
  * @property {string} roomName - The name of the room where the recording is taking place.
105
107
  * @property {any} userRecordingParams - Parameters related to the user's recording settings.
106
108
  * @property {any} socket - The socket connection used for communication.
109
+ * @property {any} localSocket - The local socket connection used for communication.
107
110
  * @property {Function} updateIsRecordingModalVisible - Function to update the visibility of the recording modal.
108
111
  * @property {boolean} confirmedToRecord - Indicates if the user has confirmed to start recording.
109
112
  * @property {Function} showAlert - Function to show alert messages.
@@ -19,6 +19,7 @@ export interface ClickAudioParameters extends DisconnectSendTransportAudioParame
19
19
  audioRequestTime: number;
20
20
  member: string;
21
21
  socket: Socket;
22
+ localSocket?: Socket;
22
23
  roomName: string;
23
24
  userDefaultAudioInputDevice: string;
24
25
  micAction: boolean;
@@ -74,6 +75,7 @@ export type ClickAudioType = (options: ClickAudioOptions) => Promise<void>;
74
75
  * @param {number} options.parameters.audioRequestTime - Timestamp of the audio request.
75
76
  * @param {string} options.parameters.member - Current member's name.
76
77
  * @param {Socket} options.parameters.socket - The socket instance for communication.
78
+ * @param {Socket} options.parameters.localSocket - The local socket instance for communication.
77
79
  * @param {string} options.parameters.roomName - The name of the room.
78
80
  * @param {string} options.parameters.userDefaultAudioInputDevice - The default audio input device for the user.
79
81
  * @param {boolean} options.parameters.micAction - Flag indicating if the microphone action is in progress.
@@ -117,6 +119,7 @@ export type ClickAudioType = (options: ClickAudioOptions) => Promise<void>;
117
119
  * audioRequestTime: 0,
118
120
  * member: 'John Doe',
119
121
  * socket: socketInstance,
122
+ * localSocket: socketInstance,
120
123
  * roomName: 'exampleRoom',
121
124
  * userDefaultAudioInputDevice: 'default',
122
125
  * micAction: false,
@@ -0,0 +1,23 @@
1
+ import { PreJoinPageParameters } from '../../@types/types';
2
+ import { CookieService } from 'ngx-cookie-service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CheckLimitsAndMakeRequest {
5
+ private cookieService;
6
+ constructor(cookieService: CookieService);
7
+ /**
8
+ * Checks rate limits and attempts to make a socket connection.
9
+ *
10
+ * @param params - The parameters required for making the request.
11
+ */
12
+ checkLimitsAndMakeRequest({ apiUserName, apiToken, link, apiKey, userName, parameters, validate, }: {
13
+ apiUserName: string;
14
+ apiToken: string;
15
+ link: string;
16
+ apiKey?: string;
17
+ userName: string;
18
+ parameters: PreJoinPageParameters;
19
+ validate?: boolean;
20
+ }): Promise<void>;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckLimitsAndMakeRequest, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckLimitsAndMakeRequest>;
23
+ }
@@ -0,0 +1,33 @@
1
+ import { ResponseJoinLocalRoom, ResponseJoinRoom } from "../../@types/types";
2
+ export interface CreateResponseJoinRoomOptions {
3
+ localRoom: ResponseJoinLocalRoom;
4
+ }
5
+ export type CreateResponseJoinRoomType = (options: CreateResponseJoinRoomOptions) => Promise<ResponseJoinRoom>;
6
+ /**
7
+ * Creates a ResponseJoinRoom object from a ResponseJoinLocalRoom object.
8
+ *
9
+ * @param {CreateResponseJoinRoomOptions} options - The options containing the ResponseJoinLocalRoom object.
10
+ * @returns {Promise<ResponseJoinRoom>} - A promise that resolves to a ResponseJoinRoom object.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const localRoom: ResponseJoinLocalRoom = {
15
+ * rtpCapabilities: null,
16
+ * isHost: true,
17
+ * eventStarted: false,
18
+ * isBanned: false,
19
+ * hostNotJoined: false,
20
+ * eventRoomParams: { /* MeetingRoomParams * / },
21
+ * recordingParams: { /* RecordingParams * / },
22
+ * secureCode: "12345",
23
+ * mediasfuURL: "https://example.com",
24
+ * apiKey: "api-key",
25
+ * apiUserName: "user-name",
26
+ * allowRecord: true,
27
+ * };
28
+ *
29
+ * const joinRoom = await createResponseJoinRoom({ localRoom });
30
+ * console.log(joinRoom);
31
+ * ```
32
+ */
33
+ export declare const createResponseJoinRoom: CreateResponseJoinRoomType;
@@ -0,0 +1,25 @@
1
+ import { CreateJoinRoomResponse, CreateJoinRoomError } from '../../@types/types';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Async function to create a room on MediaSFU.
5
+ *
6
+ * @param {object} options - The options for creating a room.
7
+ * @param {any} options.payload - The payload for the API request.
8
+ * @param {string} options.apiUserName - The API username.
9
+ * @param {string} options.apiKey - The API key.
10
+ * @returns {Promise<{ data: CreateJoinRoomResponse | CreateJoinRoomError | null; success: boolean; }>} The response from the API.
11
+ */
12
+ export declare class CreateRoomOnMediaSFU {
13
+ private readonly API_URL;
14
+ constructor();
15
+ createRoomOnMediaSFU({ payload, apiUserName, apiKey, }: {
16
+ payload: any;
17
+ apiUserName: string;
18
+ apiKey: string;
19
+ }): Promise<{
20
+ data: CreateJoinRoomResponse | CreateJoinRoomError | null;
21
+ success: boolean;
22
+ }>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateRoomOnMediaSFU, never>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<CreateRoomOnMediaSFU>;
25
+ }
@@ -23,6 +23,7 @@ export interface InitialValuesStateType {
23
23
  validated: boolean;
24
24
  localUIMode: boolean;
25
25
  socket: Socket;
26
+ localSocket?: Socket;
26
27
  roomData: ResponseJoinRoom | null;
27
28
  device: Device | null;
28
29
  apiKey: string;
@@ -192,6 +193,7 @@ export interface InitialValuesStateType {
192
193
  allAudioStreams: (Participant | Stream)[];
193
194
  remoteScreenStream: Stream[];
194
195
  screenProducer: Producer | null;
196
+ localScreenProducer: Producer | null;
195
197
  gotAllVids: boolean;
196
198
  paginationHeightWidth: number;
197
199
  paginationDirection: string;
@@ -275,15 +277,19 @@ export interface InitialValuesStateType {
275
277
  hasCameraPermission: boolean;
276
278
  hasAudioPermission: boolean;
277
279
  transportCreated: boolean;
280
+ localTransportCreated: boolean;
278
281
  transportCreatedVideo: boolean;
279
282
  transportCreatedAudio: boolean;
280
283
  transportCreatedScreen: boolean;
281
284
  producerTransport: Transport | null;
285
+ localProducerTransport: Transport | null;
282
286
  videoProducer: Producer | null;
287
+ localVideoProducer: Producer | null;
283
288
  params: ProducerOptions;
284
289
  videoParams: ProducerOptions;
285
290
  audioParams: ProducerOptions;
286
291
  audioProducer: Producer | null;
292
+ localAudioProducer: Producer | null;
287
293
  consumerTransports: TransportType[];
288
294
  consumingTransports: string[];
289
295
  polls: Poll[];