mediasfu-angular 2.1.6 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1560 -31
- package/dist/README.md +1560 -31
- package/dist/fesm2022/mediasfu-angular.mjs +1971 -1079
- package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
- package/dist/lib/@types/custom-component.types.d.ts +130 -0
- package/dist/lib/@types/types.d.ts +5 -0
- package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +99 -17
- package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +99 -17
- package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +121 -21
- package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +121 -21
- package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +121 -21
- package/dist/lib/consumers/add-videos-grid.service.d.ts +3 -0
- package/dist/lib/consumers/prepopulate-user-media.service.d.ts +3 -0
- package/dist/lib/methods/utils/create-room-on-media-sfu.service.d.ts +10 -8
- package/dist/lib/services/custom-component-injection.service.d.ts +86 -0
- package/dist/public-api.d.ts +1 -0
- package/package.json +15 -15
|
@@ -182,6 +182,10 @@ export type MediasfuWebinarOptions = {
|
|
|
182
182
|
* @input {CreateMediaSFURoomOptions | JoinMediaSFURoomOptions} noUIPreJoinOptions - Options for the prejoin page without UI.
|
|
183
183
|
* @input {JoinRoomOnMediaSFUType} joinMediaSFURoom - Function to join a room on MediaSFU.
|
|
184
184
|
* @input {CreateRoomOnMediaSFUType} createMediaSFURoom - Function to create a room on MediaSFU.
|
|
185
|
+
* @input {any} customVideoCard - Custom component to replace the default VideoCard component.
|
|
186
|
+
* @input {any} customAudioCard - Custom component to replace the default AudioCard component.
|
|
187
|
+
* @input {any} customMiniCard - Custom component to replace the default MiniCard component.
|
|
188
|
+
* @input {any} customMainComponent - Custom component that provides complete control over the main UI, bypassing default MediaSFU styling.
|
|
185
189
|
*
|
|
186
190
|
* @property {string} title - The title of the component, defaults to "MediaSFU-Webinar".
|
|
187
191
|
*
|
|
@@ -206,13 +210,17 @@ export type MediasfuWebinarOptions = {
|
|
|
206
210
|
* [useLocalUIMode]="true"
|
|
207
211
|
* [seedData]="seedDataObject"
|
|
208
212
|
* [useSeed]="true"
|
|
209
|
-
* [imgSrc]="https://example.com/logo.png"
|
|
213
|
+
* [imgSrc]="'https://example.com/logo.png'"
|
|
210
214
|
* [sourceParameters]="{ source: 'camera', width: 640, height: 480 }"
|
|
211
215
|
* [updateSourceParameters]="updateSourceParameters"
|
|
212
216
|
* [returnUI]="true"
|
|
213
217
|
* [noUIPreJoinOptions]="{ roomName: 'room1', userName: 'user1' }"
|
|
214
218
|
* [joinMediaSFURoom]="joinMediaSFURoom"
|
|
215
|
-
* [createMediaSFURoom]="createMediaSFURoom"
|
|
219
|
+
* [createMediaSFURoom]="createMediaSFURoom"
|
|
220
|
+
* [customVideoCard]="CustomVideoCardComponent"
|
|
221
|
+
* [customAudioCard]="CustomAudioCardComponent"
|
|
222
|
+
* [customMiniCard]="CustomMiniCardComponent"
|
|
223
|
+
* [customMainComponent]="CustomMainComponent">
|
|
216
224
|
* </app-mediasfu-webinar>
|
|
217
225
|
* ```
|
|
218
226
|
*/
|
|
@@ -357,6 +365,10 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
357
365
|
noUIPreJoinOptions?: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions;
|
|
358
366
|
joinMediaSFURoom?: JoinRoomOnMediaSFUType;
|
|
359
367
|
createMediaSFURoom?: CreateRoomOnMediaSFUType;
|
|
368
|
+
customVideoCard: any;
|
|
369
|
+
customAudioCard: any;
|
|
370
|
+
customMiniCard: any;
|
|
371
|
+
customMainComponent: any;
|
|
360
372
|
title: string;
|
|
361
373
|
private mainHeightWidthSubscription;
|
|
362
374
|
private validatedSubscription;
|
|
@@ -367,6 +379,22 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
367
379
|
private recordingSubscription;
|
|
368
380
|
constructor(cdr: ChangeDetectorRef, injector: Injector, updateMiniCardsGrid: UpdateMiniCardsGrid, mixStreams: MixStreams, dispStreams: DispStreams, stopShareScreen: StopShareScreen, checkScreenShare: CheckScreenShare, startShareScreen: StartShareScreen, requestScreenShare: RequestScreenShare, reorderStreams: ReorderStreams, prepopulateUserMedia: PrepopulateUserMedia, getVideos: GetVideos, rePort: RePort, trigger: Trigger, consumerResume: ConsumerResume, connectSendTransport: ConnectSendTransport, connectSendTransportAudio: ConnectSendTransportAudio, connectSendTransportVideo: ConnectSendTransportVideo, connectSendTransportScreen: ConnectSendTransportScreen, processConsumerTransports: ProcessConsumerTransports, resumePauseStreams: ResumePauseStreams, readjust: Readjust, checkGrid: CheckGrid, getEstimate: GetEstimate, calculateRowsAndColumns: CalculateRowsAndColumns, addVideosGrid: AddVideosGrid, onScreenChanges: OnScreenChanges, changeVids: ChangeVids, compareActiveNames: CompareActiveNames, compareScreenStates: CompareScreenStates, createSendTransport: CreateSendTransport, resumeSendTransportAudio: ResumeSendTransportAudio, receiveAllPipedTransports: ReceiveAllPipedTransports, disconnectSendTransportVideo: DisconnectSendTransportVideo, disconnectSendTransportAudio: DisconnectSendTransportAudio, disconnectSendTransportScreen: DisconnectSendTransportScreen, getPipedProducersAlt: GetPipedProducersAlt, signalNewConsumerTransport: SignalNewConsumerTransport, connectRecvTransport: ConnectRecvTransport, reUpdateInter: ReUpdateInter, updateParticipantAudioDecibels: UpdateParticipantAudioDecibels, closeAndResize: CloseAndResize, autoAdjust: AutoAdjust, switchUserVideoAlt: SwitchUserVideoAlt, switchUserVideo: SwitchUserVideo, switchUserAudio: SwitchUserAudio, getDomains: GetDomains, formatNumber: FormatNumber, connectIps: ConnectIps, connectLocalIps: ConnectLocalIps, createDeviceClient: CreateDeviceClient, handleCreatePoll: HandleCreatePoll, handleEndPoll: HandleEndPoll, handleVotePoll: HandleVotePoll, captureCanvasStream: CaptureCanvasStream, resumePauseAudioStreams: ResumePauseAudioStreams, processConsumerTransportsAudio: ProcessConsumerTransportsAudio, launchMenuModal: LaunchMenuModal, launchRecording: LaunchRecording, startRecording: StartRecording, confirmRecording: ConfirmRecording, launchWaiting: LaunchWaiting, launchCoHost: launchCoHost, launchMediaSettings: LaunchMediaSettings, launchDisplaySettings: LaunchDisplaySettings, launchSettings: LaunchSettings, launchRequests: LaunchRequests, launchParticipants: LaunchParticipants, launchMessages: LaunchMessages, launchConfirmExit: LaunchConfirmExit, launchPoll: LaunchPoll, launchBreakoutRooms: LaunchBreakoutRooms, launchConfigureWhiteboard: LaunchConfigureWhiteboard, startMeetingProgressTimer: StartMeetingProgressTimer, updateRecording: UpdateRecording, stopRecording: StopRecording, userWaiting: UserWaiting, personJoined: PersonJoined, allWaitingRoomMembers: AllWaitingRoomMembers, roomRecordParams: RoomRecordParams, banParticipant: BanParticipant, updatedCoHost: UpdatedCoHost, participantRequested: ParticipantRequested, screenProducerId: ScreenProducerId, updateMediaSettings: UpdateMediaSettings, producerMediaPaused: ProducerMediaPaused, producerMediaResumed: ProducerMediaResumed, producerMediaClosed: ProducerMediaClosed, controlMediaHost: ControlMediaHost, meetingEnded: MeetingEnded, disconnectUserSelf: DisconnectUserSelf, receiveMessage: ReceiveMessage, meetingTimeRemaining: MeetingTimeRemaining, meetingStillThere: MeetingStillThere, startRecords: StartRecords, reInitiateRecording: ReInitiateRecording, recordingNotice: RecordingNotice, timeLeftRecording: TimeLeftRecording, stoppedRecording: StoppedRecording, hostRequestResponse: HostRequestResponse, allMembers: AllMembers, allMembersRest: AllMembersRest, disconnect: Disconnect, pollUpdated: PollUpdated, breakoutRoomUpdated: BreakoutRoomUpdated, socketManager: SocketManager, joinRoomClient: JoinRoomClient, joinLocalRoom: JoinLocalRoom, updateRoomParametersClient: UpdateRoomParametersClient, clickVideo: ClickVideo, clickAudio: ClickAudio, clickScreenShare: ClickScreenShare, streamSuccessVideo: StreamSuccessVideo, streamSuccessAudio: StreamSuccessAudio, streamSuccessScreen: StreamSuccessScreen, streamSuccessAudioSwitch: StreamSuccessAudioSwitch, checkPermission: CheckPermission, updateConsumingDomains: UpdateConsumingDomains, receiveRoomMessages: ReceiveRoomMessages);
|
|
369
381
|
createInjector(inputs: any): Injector;
|
|
382
|
+
/**
|
|
383
|
+
* Gets a list of media devices filtered by the specified kind.
|
|
384
|
+
* @param kind - The kind of media device to filter by ('videoinput' or 'audioinput')
|
|
385
|
+
* @returns A promise that resolves to an array of MediaDeviceInfo objects
|
|
386
|
+
*/
|
|
387
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
388
|
+
/**
|
|
389
|
+
* Gets the media stream for a participant by their ID or name.
|
|
390
|
+
* @param options - Object containing id, name, and kind parameters
|
|
391
|
+
* @returns A promise that resolves to the participant's MediaStream or null if not found
|
|
392
|
+
*/
|
|
393
|
+
getParticipantMedia: (options: {
|
|
394
|
+
id?: string;
|
|
395
|
+
name?: string;
|
|
396
|
+
kind: "video" | "audio";
|
|
397
|
+
}) => Promise<MediaStream | null>;
|
|
370
398
|
mediaSFUFunctions: () => {
|
|
371
399
|
updateMiniCardsGrid: ({ rows, cols, defal, actualRows, parameters, }: import("../../consumers/update-mini-cards-grid.service").UpdateMiniCardsGridOptions) => Promise<void>;
|
|
372
400
|
mixStreams: ({ alVideoStreams, non_alVideoStreams, ref_participants, }: import("../../consumers/mix-streams.service").MixStreamsOptions) => Promise<(Stream | Participant)[]>;
|
|
@@ -441,6 +469,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
441
469
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
442
470
|
requestPermissionCamera: () => Promise<string>;
|
|
443
471
|
requestPermissionAudio: () => Promise<string>;
|
|
472
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
473
|
+
getParticipantMedia: (options: {
|
|
474
|
+
id?: string;
|
|
475
|
+
name?: string;
|
|
476
|
+
kind: "video" | "audio";
|
|
477
|
+
}) => Promise<MediaStream | null>;
|
|
444
478
|
};
|
|
445
479
|
validated: BehaviorSubject<boolean>;
|
|
446
480
|
localUIMode: BehaviorSubject<boolean>;
|
|
@@ -891,7 +925,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
891
925
|
recordingVideoOptions: BehaviorSubject<string>;
|
|
892
926
|
recordingVideoType: BehaviorSubject<string>;
|
|
893
927
|
recordingVideoOptimized: BehaviorSubject<boolean>;
|
|
894
|
-
recordingDisplayType: BehaviorSubject<"video" | "
|
|
928
|
+
recordingDisplayType: BehaviorSubject<"video" | "media" | "all">;
|
|
895
929
|
recordingAddHLS: BehaviorSubject<boolean>;
|
|
896
930
|
recordingNameTags: BehaviorSubject<boolean>;
|
|
897
931
|
recordingBackgroundColor: BehaviorSubject<string>;
|
|
@@ -1119,7 +1153,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
1119
1153
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
1120
1154
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
1121
1155
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
1122
|
-
checkOrientation: () => "
|
|
1156
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
1123
1157
|
showAlert: ({ message, type, duration, }: {
|
|
1124
1158
|
message: string;
|
|
1125
1159
|
type: "success" | "danger";
|
|
@@ -1362,7 +1396,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
1362
1396
|
recordingVideoOptions: string;
|
|
1363
1397
|
recordingVideoType: string;
|
|
1364
1398
|
recordingVideoOptimized: boolean;
|
|
1365
|
-
recordingDisplayType: "video" | "
|
|
1399
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
1366
1400
|
recordingAddHLS: boolean;
|
|
1367
1401
|
recordingAddText: boolean;
|
|
1368
1402
|
recordingCustomText: string;
|
|
@@ -1763,11 +1797,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
1763
1797
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
1764
1798
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
1765
1799
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
1766
|
-
checkOrientation: () => "
|
|
1800
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
1767
1801
|
updateDevice: (value: Device | null) => void;
|
|
1768
1802
|
updateSocket: (value: Socket) => void;
|
|
1769
1803
|
updateLocalSocket: (value: Socket | null) => void;
|
|
1770
1804
|
updateValidated: (value: boolean) => void;
|
|
1805
|
+
customVideoCard: any;
|
|
1806
|
+
customAudioCard: any;
|
|
1807
|
+
customMiniCard: any;
|
|
1771
1808
|
showAlert: ({ message, type, duration, }: {
|
|
1772
1809
|
message: string;
|
|
1773
1810
|
type: "success" | "danger";
|
|
@@ -1847,6 +1884,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
1847
1884
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
1848
1885
|
requestPermissionCamera: () => Promise<string>;
|
|
1849
1886
|
requestPermissionAudio: () => Promise<string>;
|
|
1887
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
1888
|
+
getParticipantMedia: (options: {
|
|
1889
|
+
id?: string;
|
|
1890
|
+
name?: string;
|
|
1891
|
+
kind: "video" | "audio";
|
|
1892
|
+
}) => Promise<MediaStream | null>;
|
|
1850
1893
|
localUIMode: boolean;
|
|
1851
1894
|
roomName: string;
|
|
1852
1895
|
member: string;
|
|
@@ -2083,7 +2126,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
2083
2126
|
recordingVideoOptions: string;
|
|
2084
2127
|
recordingVideoType: string;
|
|
2085
2128
|
recordingVideoOptimized: boolean;
|
|
2086
|
-
recordingDisplayType: "video" | "
|
|
2129
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
2087
2130
|
recordingAddHLS: boolean;
|
|
2088
2131
|
recordingAddText: boolean;
|
|
2089
2132
|
recordingCustomText: string;
|
|
@@ -2484,11 +2527,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
2484
2527
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
2485
2528
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
2486
2529
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
2487
|
-
checkOrientation: () => "
|
|
2530
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
2488
2531
|
updateDevice: (value: Device | null) => void;
|
|
2489
2532
|
updateSocket: (value: Socket) => void;
|
|
2490
2533
|
updateLocalSocket: (value: Socket | null) => void;
|
|
2491
2534
|
updateValidated: (value: boolean) => void;
|
|
2535
|
+
customVideoCard: any;
|
|
2536
|
+
customAudioCard: any;
|
|
2537
|
+
customMiniCard: any;
|
|
2492
2538
|
showAlert: ({ message, type, duration, }: {
|
|
2493
2539
|
message: string;
|
|
2494
2540
|
type: "success" | "danger";
|
|
@@ -2571,6 +2617,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
2571
2617
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
2572
2618
|
requestPermissionCamera: () => Promise<string>;
|
|
2573
2619
|
requestPermissionAudio: () => Promise<string>;
|
|
2620
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
2621
|
+
getParticipantMedia: (options: {
|
|
2622
|
+
id?: string;
|
|
2623
|
+
name?: string;
|
|
2624
|
+
kind: "video" | "audio";
|
|
2625
|
+
}) => Promise<MediaStream | null>;
|
|
2574
2626
|
localUIMode: boolean;
|
|
2575
2627
|
roomName: string;
|
|
2576
2628
|
member: string;
|
|
@@ -2807,7 +2859,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
2807
2859
|
recordingVideoOptions: string;
|
|
2808
2860
|
recordingVideoType: string;
|
|
2809
2861
|
recordingVideoOptimized: boolean;
|
|
2810
|
-
recordingDisplayType: "video" | "
|
|
2862
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
2811
2863
|
recordingAddHLS: boolean;
|
|
2812
2864
|
recordingAddText: boolean;
|
|
2813
2865
|
recordingCustomText: string;
|
|
@@ -3208,11 +3260,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
3208
3260
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
3209
3261
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
3210
3262
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
3211
|
-
checkOrientation: () => "
|
|
3263
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
3212
3264
|
updateDevice: (value: Device | null) => void;
|
|
3213
3265
|
updateSocket: (value: Socket) => void;
|
|
3214
3266
|
updateLocalSocket: (value: Socket | null) => void;
|
|
3215
3267
|
updateValidated: (value: boolean) => void;
|
|
3268
|
+
customVideoCard: any;
|
|
3269
|
+
customAudioCard: any;
|
|
3270
|
+
customMiniCard: any;
|
|
3216
3271
|
showAlert: ({ message, type, duration, }: {
|
|
3217
3272
|
message: string;
|
|
3218
3273
|
type: "success" | "danger";
|
|
@@ -3292,6 +3347,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
3292
3347
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
3293
3348
|
requestPermissionCamera: () => Promise<string>;
|
|
3294
3349
|
requestPermissionAudio: () => Promise<string>;
|
|
3350
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
3351
|
+
getParticipantMedia: (options: {
|
|
3352
|
+
id?: string;
|
|
3353
|
+
name?: string;
|
|
3354
|
+
kind: "video" | "audio";
|
|
3355
|
+
}) => Promise<MediaStream | null>;
|
|
3295
3356
|
localUIMode: boolean;
|
|
3296
3357
|
roomName: string;
|
|
3297
3358
|
member: string;
|
|
@@ -3528,7 +3589,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
3528
3589
|
recordingVideoOptions: string;
|
|
3529
3590
|
recordingVideoType: string;
|
|
3530
3591
|
recordingVideoOptimized: boolean;
|
|
3531
|
-
recordingDisplayType: "video" | "
|
|
3592
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
3532
3593
|
recordingAddHLS: boolean;
|
|
3533
3594
|
recordingAddText: boolean;
|
|
3534
3595
|
recordingCustomText: string;
|
|
@@ -3929,11 +3990,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
3929
3990
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
3930
3991
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
3931
3992
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
3932
|
-
checkOrientation: () => "
|
|
3993
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
3933
3994
|
updateDevice: (value: Device | null) => void;
|
|
3934
3995
|
updateSocket: (value: Socket) => void;
|
|
3935
3996
|
updateLocalSocket: (value: Socket | null) => void;
|
|
3936
3997
|
updateValidated: (value: boolean) => void;
|
|
3998
|
+
customVideoCard: any;
|
|
3999
|
+
customAudioCard: any;
|
|
4000
|
+
customMiniCard: any;
|
|
3937
4001
|
showAlert: ({ message, type, duration, }: {
|
|
3938
4002
|
message: string;
|
|
3939
4003
|
type: "success" | "danger";
|
|
@@ -4016,6 +4080,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
4016
4080
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
4017
4081
|
requestPermissionCamera: () => Promise<string>;
|
|
4018
4082
|
requestPermissionAudio: () => Promise<string>;
|
|
4083
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
4084
|
+
getParticipantMedia: (options: {
|
|
4085
|
+
id?: string;
|
|
4086
|
+
name?: string;
|
|
4087
|
+
kind: "video" | "audio";
|
|
4088
|
+
}) => Promise<MediaStream | null>;
|
|
4019
4089
|
localUIMode: boolean;
|
|
4020
4090
|
roomName: string;
|
|
4021
4091
|
member: string;
|
|
@@ -4252,7 +4322,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
4252
4322
|
recordingVideoOptions: string;
|
|
4253
4323
|
recordingVideoType: string;
|
|
4254
4324
|
recordingVideoOptimized: boolean;
|
|
4255
|
-
recordingDisplayType: "video" | "
|
|
4325
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
4256
4326
|
recordingAddHLS: boolean;
|
|
4257
4327
|
recordingAddText: boolean;
|
|
4258
4328
|
recordingCustomText: string;
|
|
@@ -4653,11 +4723,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
4653
4723
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
4654
4724
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
4655
4725
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
4656
|
-
checkOrientation: () => "
|
|
4726
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
4657
4727
|
updateDevice: (value: Device | null) => void;
|
|
4658
4728
|
updateSocket: (value: Socket) => void;
|
|
4659
4729
|
updateLocalSocket: (value: Socket | null) => void;
|
|
4660
4730
|
updateValidated: (value: boolean) => void;
|
|
4731
|
+
customVideoCard: any;
|
|
4732
|
+
customAudioCard: any;
|
|
4733
|
+
customMiniCard: any;
|
|
4661
4734
|
showAlert: ({ message, type, duration, }: {
|
|
4662
4735
|
message: string;
|
|
4663
4736
|
type: "success" | "danger";
|
|
@@ -4737,6 +4810,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
4737
4810
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
4738
4811
|
requestPermissionCamera: () => Promise<string>;
|
|
4739
4812
|
requestPermissionAudio: () => Promise<string>;
|
|
4813
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
4814
|
+
getParticipantMedia: (options: {
|
|
4815
|
+
id?: string;
|
|
4816
|
+
name?: string;
|
|
4817
|
+
kind: "video" | "audio";
|
|
4818
|
+
}) => Promise<MediaStream | null>;
|
|
4740
4819
|
localUIMode: boolean;
|
|
4741
4820
|
roomName: string;
|
|
4742
4821
|
member: string;
|
|
@@ -4973,7 +5052,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
4973
5052
|
recordingVideoOptions: string;
|
|
4974
5053
|
recordingVideoType: string;
|
|
4975
5054
|
recordingVideoOptimized: boolean;
|
|
4976
|
-
recordingDisplayType: "video" | "
|
|
5055
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
4977
5056
|
recordingAddHLS: boolean;
|
|
4978
5057
|
recordingAddText: boolean;
|
|
4979
5058
|
recordingCustomText: string;
|
|
@@ -5374,11 +5453,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
5374
5453
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
5375
5454
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
5376
5455
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
5377
|
-
checkOrientation: () => "
|
|
5456
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
5378
5457
|
updateDevice: (value: Device | null) => void;
|
|
5379
5458
|
updateSocket: (value: Socket) => void;
|
|
5380
5459
|
updateLocalSocket: (value: Socket | null) => void;
|
|
5381
5460
|
updateValidated: (value: boolean) => void;
|
|
5461
|
+
customVideoCard: any;
|
|
5462
|
+
customAudioCard: any;
|
|
5463
|
+
customMiniCard: any;
|
|
5382
5464
|
showAlert: ({ message, type, duration, }: {
|
|
5383
5465
|
message: string;
|
|
5384
5466
|
type: "success" | "danger";
|
|
@@ -5552,6 +5634,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
5552
5634
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
5553
5635
|
requestPermissionCamera: () => Promise<string>;
|
|
5554
5636
|
requestPermissionAudio: () => Promise<string>;
|
|
5637
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
5638
|
+
getParticipantMedia: (options: {
|
|
5639
|
+
id?: string;
|
|
5640
|
+
name?: string;
|
|
5641
|
+
kind: "video" | "audio";
|
|
5642
|
+
}) => Promise<MediaStream | null>;
|
|
5555
5643
|
localUIMode: boolean;
|
|
5556
5644
|
roomName: string;
|
|
5557
5645
|
member: string;
|
|
@@ -5788,7 +5876,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
5788
5876
|
recordingVideoOptions: string;
|
|
5789
5877
|
recordingVideoType: string;
|
|
5790
5878
|
recordingVideoOptimized: boolean;
|
|
5791
|
-
recordingDisplayType: "video" | "
|
|
5879
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
5792
5880
|
recordingAddHLS: boolean;
|
|
5793
5881
|
recordingAddText: boolean;
|
|
5794
5882
|
recordingCustomText: string;
|
|
@@ -6189,11 +6277,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
6189
6277
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
6190
6278
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
6191
6279
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
6192
|
-
checkOrientation: () => "
|
|
6280
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
6193
6281
|
updateDevice: (value: Device | null) => void;
|
|
6194
6282
|
updateSocket: (value: Socket) => void;
|
|
6195
6283
|
updateLocalSocket: (value: Socket | null) => void;
|
|
6196
6284
|
updateValidated: (value: boolean) => void;
|
|
6285
|
+
customVideoCard: any;
|
|
6286
|
+
customAudioCard: any;
|
|
6287
|
+
customMiniCard: any;
|
|
6197
6288
|
showAlert: ({ message, type, duration, }: {
|
|
6198
6289
|
message: string;
|
|
6199
6290
|
type: "success" | "danger";
|
|
@@ -6273,6 +6364,12 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
6273
6364
|
clickScreenShare: ({ parameters }: import("../../@types/types").ClickScreenShareOptions) => Promise<void>;
|
|
6274
6365
|
requestPermissionCamera: () => Promise<string>;
|
|
6275
6366
|
requestPermissionAudio: () => Promise<string>;
|
|
6367
|
+
getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
|
|
6368
|
+
getParticipantMedia: (options: {
|
|
6369
|
+
id?: string;
|
|
6370
|
+
name?: string;
|
|
6371
|
+
kind: "video" | "audio";
|
|
6372
|
+
}) => Promise<MediaStream | null>;
|
|
6276
6373
|
localUIMode: boolean;
|
|
6277
6374
|
roomName: string;
|
|
6278
6375
|
member: string;
|
|
@@ -6509,7 +6606,7 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
6509
6606
|
recordingVideoOptions: string;
|
|
6510
6607
|
recordingVideoType: string;
|
|
6511
6608
|
recordingVideoOptimized: boolean;
|
|
6512
|
-
recordingDisplayType: "video" | "
|
|
6609
|
+
recordingDisplayType: "video" | "media" | "all";
|
|
6513
6610
|
recordingAddHLS: boolean;
|
|
6514
6611
|
recordingAddText: boolean;
|
|
6515
6612
|
recordingCustomText: string;
|
|
@@ -6910,11 +7007,14 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
6910
7007
|
updateAnnotateScreenStream: (value: boolean) => void;
|
|
6911
7008
|
updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
|
|
6912
7009
|
updateIsScreenboardModalVisible: (value: boolean) => void;
|
|
6913
|
-
checkOrientation: () => "
|
|
7010
|
+
checkOrientation: () => "portrait" | "landscape";
|
|
6914
7011
|
updateDevice: (value: Device | null) => void;
|
|
6915
7012
|
updateSocket: (value: Socket) => void;
|
|
6916
7013
|
updateLocalSocket: (value: Socket | null) => void;
|
|
6917
7014
|
updateValidated: (value: boolean) => void;
|
|
7015
|
+
customVideoCard: any;
|
|
7016
|
+
customAudioCard: any;
|
|
7017
|
+
customMiniCard: any;
|
|
6918
7018
|
showAlert: ({ message, type, duration, }: {
|
|
6919
7019
|
message: string;
|
|
6920
7020
|
type: "success" | "danger";
|
|
@@ -7019,5 +7119,5 @@ export declare class MediasfuWebinar implements OnInit, OnDestroy {
|
|
|
7019
7119
|
})[];
|
|
7020
7120
|
connect_Socket(apiUserName: string, token: string, skipSockets?: boolean): Promise<Socket | null>;
|
|
7021
7121
|
static ɵfac: i0.ɵɵFactoryDeclaration<MediasfuWebinar, never>;
|
|
7022
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MediasfuWebinar, "app-mediasfu-webinar", never, { "PrejoinPage": { "alias": "PrejoinPage"; "required": false; }; "localLink": { "alias": "localLink"; "required": false; }; "connectMediaSFU": { "alias": "connectMediaSFU"; "required": false; }; "credentials": { "alias": "credentials"; "required": false; }; "useLocalUIMode": { "alias": "useLocalUIMode"; "required": false; }; "seedData": { "alias": "seedData"; "required": false; }; "useSeed": { "alias": "useSeed"; "required": false; }; "imgSrc": { "alias": "imgSrc"; "required": false; }; "sourceParameters": { "alias": "sourceParameters"; "required": false; }; "updateSourceParameters": { "alias": "updateSourceParameters"; "required": false; }; "returnUI": { "alias": "returnUI"; "required": false; }; "noUIPreJoinOptions": { "alias": "noUIPreJoinOptions"; "required": false; }; "joinMediaSFURoom": { "alias": "joinMediaSFURoom"; "required": false; }; "createMediaSFURoom": { "alias": "createMediaSFURoom"; "required": false; }; }, {}, never, never, true, never>;
|
|
7122
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MediasfuWebinar, "app-mediasfu-webinar", never, { "PrejoinPage": { "alias": "PrejoinPage"; "required": false; }; "localLink": { "alias": "localLink"; "required": false; }; "connectMediaSFU": { "alias": "connectMediaSFU"; "required": false; }; "credentials": { "alias": "credentials"; "required": false; }; "useLocalUIMode": { "alias": "useLocalUIMode"; "required": false; }; "seedData": { "alias": "seedData"; "required": false; }; "useSeed": { "alias": "useSeed"; "required": false; }; "imgSrc": { "alias": "imgSrc"; "required": false; }; "sourceParameters": { "alias": "sourceParameters"; "required": false; }; "updateSourceParameters": { "alias": "updateSourceParameters"; "required": false; }; "returnUI": { "alias": "returnUI"; "required": false; }; "noUIPreJoinOptions": { "alias": "noUIPreJoinOptions"; "required": false; }; "joinMediaSFURoom": { "alias": "joinMediaSFURoom"; "required": false; }; "createMediaSFURoom": { "alias": "createMediaSFURoom"; "required": false; }; "customVideoCard": { "alias": "customVideoCard"; "required": false; }; "customAudioCard": { "alias": "customAudioCard"; "required": false; }; "customMiniCard": { "alias": "customMiniCard"; "required": false; }; "customMainComponent": { "alias": "customMainComponent"; "required": false; }; }, {}, never, never, true, never>;
|
|
7023
7123
|
}
|
|
@@ -12,6 +12,9 @@ export interface AddVideosGridParameters extends UpdateMiniCardsGridParameters,
|
|
|
12
12
|
forceFullDisplay: boolean;
|
|
13
13
|
otherGridStreams: CustomMediaComponent[][];
|
|
14
14
|
updateOtherGridStreams: (otherGridStreams: CustomMediaComponent[][]) => void;
|
|
15
|
+
customVideoCard?: any;
|
|
16
|
+
customAudioCard?: any;
|
|
17
|
+
customMiniCard?: any;
|
|
15
18
|
updateMiniCardsGrid: UpdateMiniCardsGridType;
|
|
16
19
|
getUpdatedAllParams: () => AddVideosGridParameters;
|
|
17
20
|
[key: string]: any;
|
|
@@ -37,6 +37,9 @@ export interface PrepopulateUserMediaParameters extends AudioCardParameters {
|
|
|
37
37
|
updateScreenForceFullDisplay: (force: boolean) => void;
|
|
38
38
|
updateUpdateMainWindow: (update: boolean) => void;
|
|
39
39
|
updateMainGridStream: (components: CustomMediaComponent[]) => void;
|
|
40
|
+
customVideoCard?: any;
|
|
41
|
+
customAudioCard?: any;
|
|
42
|
+
customMiniCard?: any;
|
|
40
43
|
getUpdatedAllParams: () => PrepopulateUserMediaParameters;
|
|
41
44
|
[key: string]: any;
|
|
42
45
|
}
|
|
@@ -5,7 +5,8 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
*
|
|
6
6
|
* This method sends a POST request to the MediaSFU API to create a new room.
|
|
7
7
|
* It validates the provided credentials and dynamically constructs the API endpoint,
|
|
8
|
-
* supporting the Community Edition via a custom `localLink`.
|
|
8
|
+
* supporting the Community Edition via a custom `localLink`. The method includes
|
|
9
|
+
* a 30-second protection mechanism to prevent duplicate room creation requests.
|
|
9
10
|
*
|
|
10
11
|
* @param {object} options - Configuration options for creating the room.
|
|
11
12
|
* @param {CreateMediaSFURoomOptions | JoinMediaSFURoomOptions} options.payload -
|
|
@@ -28,12 +29,12 @@ import * as i0 from "@angular/core";
|
|
|
28
29
|
* const response = await createRoomOnMediaSFU.createRoomOnMediaSFU({
|
|
29
30
|
* payload: {
|
|
30
31
|
* action: 'create',
|
|
31
|
-
* duration:
|
|
32
|
-
* capacity:
|
|
32
|
+
* duration: 60, // Duration in minutes
|
|
33
|
+
* capacity: 10, // Max participants
|
|
33
34
|
* userName: 'hostUser',
|
|
34
35
|
* scheduledDate: Date.now() + 3600000, // One hour from now
|
|
35
36
|
* secureCode: 'secure123', // Optional
|
|
36
|
-
* eventType: '
|
|
37
|
+
* eventType: 'conference', // Optional
|
|
37
38
|
* },
|
|
38
39
|
* apiUserName: 'yourAPIUSERNAME',
|
|
39
40
|
* apiKey: 'yourAPIKEY',
|
|
@@ -53,7 +54,8 @@ export declare class CreateRoomOnMediaSFU {
|
|
|
53
54
|
*
|
|
54
55
|
* This method sends a POST request to the MediaSFU API to create a new room.
|
|
55
56
|
* It validates the provided credentials and dynamically constructs the API endpoint,
|
|
56
|
-
* supporting the Community Edition via a custom `localLink`.
|
|
57
|
+
* supporting the Community Edition via a custom `localLink`. The method includes
|
|
58
|
+
* a 30-second protection mechanism to prevent duplicate room creation requests.
|
|
57
59
|
*
|
|
58
60
|
* @param {object} options - Configuration options for creating the room.
|
|
59
61
|
* @param {CreateMediaSFURoomOptions | JoinMediaSFURoomOptions} options.payload -
|
|
@@ -76,12 +78,12 @@ export declare class CreateRoomOnMediaSFU {
|
|
|
76
78
|
* const response = await createRoomOnMediaSFU.createRoomOnMediaSFU({
|
|
77
79
|
* payload: {
|
|
78
80
|
* action: 'create',
|
|
79
|
-
* duration:
|
|
80
|
-
* capacity:
|
|
81
|
+
* duration: 60, // Duration in minutes
|
|
82
|
+
* capacity: 10, // Max participants
|
|
81
83
|
* userName: 'hostUser',
|
|
82
84
|
* scheduledDate: Date.now() + 3600000, // One hour from now
|
|
83
85
|
* secureCode: 'secure123', // Optional
|
|
84
|
-
* eventType: '
|
|
86
|
+
* eventType: 'conference', // Optional
|
|
85
87
|
* },
|
|
86
88
|
* apiUserName: 'yourAPIUSERNAME',
|
|
87
89
|
* apiKey: 'yourAPIKEY',
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Component Injection Service
|
|
3
|
+
* Manages custom component injection and rendering for MediaSFU Angular components
|
|
4
|
+
*/
|
|
5
|
+
import { Injector, ComponentRef, ViewContainerRef, Type } from '@angular/core';
|
|
6
|
+
import { CustomComponent, CustomComponentType, CustomComponentFunction, CustomComponentParameters, CustomComponentContext } from '../@types/custom-component.types';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class CustomComponentInjectionService {
|
|
9
|
+
private defaultConfig;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Creates an injector with custom parameters for component injection
|
|
13
|
+
* @param parameters Custom parameters to inject
|
|
14
|
+
* @param parentInjector Parent injector to inherit from
|
|
15
|
+
* @returns New injector with custom parameters
|
|
16
|
+
*/
|
|
17
|
+
createCustomInjector(parameters: CustomComponentParameters, parentInjector?: Injector): Injector;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if a component is a custom Angular component
|
|
20
|
+
*/
|
|
21
|
+
isCustomComponent<T>(comp: CustomComponentType<T>): comp is CustomComponent<T>;
|
|
22
|
+
/**
|
|
23
|
+
* Checks if a component is a function-based component
|
|
24
|
+
*/
|
|
25
|
+
isFunctionComponent(comp: CustomComponentType): comp is CustomComponentFunction;
|
|
26
|
+
/**
|
|
27
|
+
* Checks if a component is an HTML element
|
|
28
|
+
*/
|
|
29
|
+
isHTMLElement(comp: CustomComponentType): comp is HTMLElement;
|
|
30
|
+
/**
|
|
31
|
+
* Safely gets the outerHTML of an HTMLElement component
|
|
32
|
+
* @param comp Component that could be HTMLElement or CustomComponent
|
|
33
|
+
* @returns outerHTML string or empty string if not HTMLElement
|
|
34
|
+
*/
|
|
35
|
+
getHtmlElementOuterHTML<T>(comp: CustomComponentType<T>): string;
|
|
36
|
+
/**
|
|
37
|
+
* Renders a custom component in the specified container
|
|
38
|
+
* @param customComponent The custom component to render
|
|
39
|
+
* @param container ViewContainerRef where the component should be rendered
|
|
40
|
+
* @param context Component context with parameters and configuration
|
|
41
|
+
* @returns ComponentRef or HTMLElement reference
|
|
42
|
+
*/
|
|
43
|
+
renderCustomComponent<T>(customComponent: CustomComponentType<T>, container: ViewContainerRef, context: CustomComponentContext): ComponentRef<T> | HTMLElement | null;
|
|
44
|
+
/**
|
|
45
|
+
* Creates a component object with injector for dynamic component rendering
|
|
46
|
+
* @param componentType Component type
|
|
47
|
+
* @param parameters Parameters to inject
|
|
48
|
+
* @param parentInjector Parent injector
|
|
49
|
+
* @returns Component object with injector
|
|
50
|
+
*/
|
|
51
|
+
createComponentWithInjector<T>(componentType: Type<T>, parameters?: CustomComponentParameters, parentInjector?: Injector): CustomComponent<T>;
|
|
52
|
+
/**
|
|
53
|
+
* Validates if a custom component can be rendered
|
|
54
|
+
* @param customComponent Component to validate
|
|
55
|
+
* @returns boolean indicating if component is valid
|
|
56
|
+
*/
|
|
57
|
+
validateCustomComponent<T>(customComponent: CustomComponentType<T>): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Merges custom component options with defaults
|
|
60
|
+
* @param customOptions Custom component options
|
|
61
|
+
* @param defaultOptions Default component options
|
|
62
|
+
* @returns Merged options
|
|
63
|
+
*/
|
|
64
|
+
mergeComponentOptions<T>(customOptions: Partial<T>, defaultOptions: T): T;
|
|
65
|
+
/**
|
|
66
|
+
* Destroys a custom component and cleans up resources
|
|
67
|
+
* @param componentRef Component reference to destroy
|
|
68
|
+
*/
|
|
69
|
+
destroyCustomComponent<T>(componentRef: ComponentRef<T> | HTMLElement | null): void;
|
|
70
|
+
/**
|
|
71
|
+
* Helper method to resolve component from custom or default
|
|
72
|
+
* This is useful for the pattern: customComponent || defaultComponent
|
|
73
|
+
* @param customComponent Custom component (can be undefined)
|
|
74
|
+
* @param defaultComponent Default fallback component
|
|
75
|
+
* @returns The resolved component
|
|
76
|
+
*/
|
|
77
|
+
resolveComponent<T>(customComponent: CustomComponentType<T> | undefined, defaultComponent: CustomComponentType<T>): CustomComponentType<T>;
|
|
78
|
+
/**
|
|
79
|
+
* Checks if we should use custom main component (for template restructuring)
|
|
80
|
+
* @param customMainComponent Custom main component
|
|
81
|
+
* @returns boolean indicating if custom main component should be used
|
|
82
|
+
*/
|
|
83
|
+
shouldUseCustomMainComponent<T>(customMainComponent: CustomComponentType<T> | undefined): boolean;
|
|
84
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CustomComponentInjectionService, never>;
|
|
85
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CustomComponentInjectionService>;
|
|
86
|
+
}
|
package/dist/public-api.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export * from './lib/methods/polls-methods/launch-poll.service';
|
|
|
51
51
|
export * from './lib/methods/background-methods/launch-background.service';
|
|
52
52
|
export * from './lib/methods/breakout-room-methods/launch-breakout-rooms.service';
|
|
53
53
|
export * from './lib/methods/whiteboard-methods/launch-configure-whiteboard.service';
|
|
54
|
+
export * from './lib/services/custom-component-injection.service';
|
|
54
55
|
export * from './lib/sockets/socket-manager.service';
|
|
55
56
|
export * from './lib/producer-client/producer-client-emits/join-room-client.service';
|
|
56
57
|
export * from './lib/producer-client/producer-client-emits/update-room-parameters-client.service';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasfu-angular",
|
|
3
|
-
"version": "2.1
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"author": "MediaSFU",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "MediaSFU Prebuilt Angular SDK",
|
|
@@ -14,26 +14,26 @@
|
|
|
14
14
|
"email": "info@mediasfu.com"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@angular/animations": "^19.
|
|
18
|
-
"@angular/common": "^19.
|
|
19
|
-
"@angular/compiler": "^19.
|
|
20
|
-
"@angular/core": "^19.
|
|
21
|
-
"@angular/forms": "^19.
|
|
22
|
-
"@angular/platform-browser": "^19.
|
|
23
|
-
"@angular/platform-browser-dynamic": "^19.
|
|
24
|
-
"@angular/router": "^19.
|
|
17
|
+
"@angular/animations": "^19.2.15",
|
|
18
|
+
"@angular/common": "^19.2.15",
|
|
19
|
+
"@angular/compiler": "^19.2.15",
|
|
20
|
+
"@angular/core": "^19.2.15",
|
|
21
|
+
"@angular/forms": "^19.2.15",
|
|
22
|
+
"@angular/platform-browser": "^19.2.15",
|
|
23
|
+
"@angular/platform-browser-dynamic": "^19.2.15",
|
|
24
|
+
"@angular/router": "^19.2.15",
|
|
25
25
|
"@fortawesome/angular-fontawesome": "^1.0.0",
|
|
26
|
-
"@fortawesome/fontawesome-svg-core": "^6.7.
|
|
27
|
-
"@fortawesome/free-brands-svg-icons": "^6.7.
|
|
28
|
-
"@fortawesome/free-solid-svg-icons": "^6.7.
|
|
26
|
+
"@fortawesome/fontawesome-svg-core": "^6.7.2",
|
|
27
|
+
"@fortawesome/free-brands-svg-icons": "^6.7.2",
|
|
28
|
+
"@fortawesome/free-solid-svg-icons": "^6.7.2",
|
|
29
29
|
"@mediapipe/selfie_segmentation": "^0.1.1675465747",
|
|
30
30
|
"@zxing/ngx-scanner": "^19.0.0",
|
|
31
|
-
"bootstrap": "^5.3.
|
|
32
|
-
"ngx-cookie-service": "^19.
|
|
31
|
+
"bootstrap": "^5.3.8",
|
|
32
|
+
"ngx-cookie-service": "^19.1.2",
|
|
33
33
|
"rxjs": "~7.8.0",
|
|
34
34
|
"zone.js": "~0.15.0",
|
|
35
35
|
"mediasoup-client": "3.7.17",
|
|
36
|
-
"socket.io-client": "^4.
|
|
36
|
+
"socket.io-client": "^4.8.1"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"tslib": "^2.3.0"
|