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.
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Custom component injection types for MediaSFU Angular
3
+ * This file defines interfaces and types for custom component injection patterns
4
+ * similar to React's component injection but adapted for Angular's architecture
5
+ */
6
+ import { Type, Injector, TemplateRef } from '@angular/core';
7
+ /**
8
+ * Custom component structure for Angular component injection
9
+ * Can be either a traditional component with injector or a function that returns an element
10
+ */
11
+ export interface CustomComponent<T = any> {
12
+ component: Type<T>;
13
+ injector?: Injector;
14
+ }
15
+ /**
16
+ * Function-based custom component
17
+ */
18
+ export type CustomComponentFunction = () => HTMLElement;
19
+ /**
20
+ * Union type for all supported custom component types
21
+ */
22
+ export type CustomComponentType<T = any> = CustomComponent<T> | CustomComponentFunction | HTMLElement;
23
+ /**
24
+ * Options for PrejoinPage custom component injection
25
+ */
26
+ export interface PrejoinPageCustomOptions {
27
+ /** Custom welcome/prejoin page component */
28
+ customWelcomeComponent?: CustomComponentType;
29
+ /** Custom form component for room creation/joining */
30
+ customFormComponent?: CustomComponentType;
31
+ /** Custom branding/logo component */
32
+ customBrandingComponent?: CustomComponentType;
33
+ }
34
+ /**
35
+ * Options for VideoCard custom component injection
36
+ */
37
+ export interface VideoCardCustomOptions {
38
+ /** Custom info overlay component */
39
+ customInfoComponent?: CustomComponentType;
40
+ /** Custom controls overlay component */
41
+ customControlsComponent?: CustomComponentType;
42
+ /** Custom entire video card wrapper */
43
+ customVideoCardComponent?: CustomComponentType;
44
+ }
45
+ /**
46
+ * Options for AudioCard custom component injection
47
+ */
48
+ export interface AudioCardCustomOptions {
49
+ /** Custom info overlay component */
50
+ customInfoComponent?: CustomComponentType;
51
+ /** Custom controls overlay component */
52
+ customControlsComponent?: CustomComponentType;
53
+ /** Custom entire audio card wrapper */
54
+ customAudioCardComponent?: CustomComponentType;
55
+ }
56
+ /**
57
+ * Options for MiniCard custom component injection
58
+ */
59
+ export interface MiniCardCustomOptions {
60
+ /** Custom mini card component */
61
+ customMiniCardComponent?: CustomComponentType;
62
+ /** Custom overlay component */
63
+ customOverlayComponent?: CustomComponentType;
64
+ }
65
+ /**
66
+ * Options for main UI component customization
67
+ */
68
+ export interface MainUICustomOptions {
69
+ /** Custom main container component */
70
+ customMainContainerComponent?: CustomComponentType;
71
+ /** Custom main screen component */
72
+ customMainScreenComponent?: CustomComponentType;
73
+ /** Custom main aspect component */
74
+ customMainAspectComponent?: CustomComponentType;
75
+ /** Custom main grid component */
76
+ customMainGridComponent?: CustomComponentType;
77
+ /** Custom control buttons component */
78
+ customControlButtonsComponent?: CustomComponentType;
79
+ }
80
+ /**
81
+ * Comprehensive custom component options for MediaSFU
82
+ */
83
+ export interface MediaSFUCustomComponents {
84
+ prejoinPage?: PrejoinPageCustomOptions;
85
+ videoCard?: VideoCardCustomOptions;
86
+ audioCard?: AudioCardCustomOptions;
87
+ miniCard?: MiniCardCustomOptions;
88
+ mainUI?: MainUICustomOptions;
89
+ }
90
+ /**
91
+ * Component injection configuration
92
+ */
93
+ export interface ComponentInjectionConfig {
94
+ /** Enable/disable custom component injection */
95
+ enabled: boolean;
96
+ /** Override default components with custom ones */
97
+ overrideDefaults: boolean;
98
+ /** Fallback to default if custom component fails */
99
+ fallbackToDefault: boolean;
100
+ }
101
+ /**
102
+ * Parameters passed to custom components
103
+ */
104
+ export interface CustomComponentParameters {
105
+ /** Component-specific parameters */
106
+ [key: string]: any;
107
+ }
108
+ /**
109
+ * Custom component context for dependency injection
110
+ */
111
+ export interface CustomComponentContext {
112
+ /** Component parameters */
113
+ parameters: CustomComponentParameters;
114
+ /** Injector instance for dependency injection */
115
+ injector?: Injector;
116
+ /** Component configuration */
117
+ config?: ComponentInjectionConfig;
118
+ }
119
+ /**
120
+ * Angular equivalent of React CustomComponentType for full UI replacement
121
+ * Component that receives all MediaSFU parameters and replaces the entire interface
122
+ */
123
+ export type CustomFullUIComponentType = Type<any> | TemplateRef<any>;
124
+ /**
125
+ * Parameters passed to custom full UI components
126
+ */
127
+ export interface CustomFullUIParameters {
128
+ /** All MediaSFU parameters and functions */
129
+ [key: string]: any;
130
+ }
@@ -476,6 +476,8 @@ export interface CreateRoomOptions {
476
476
  safeRoomAction: 'warn' | 'kick' | 'ban';
477
477
  dataBuffer: boolean;
478
478
  bufferType: 'images' | 'audio' | 'all';
479
+ directionSIP: 'inbound' | 'outbound' | 'both';
480
+ preferPCMA: boolean;
479
481
  }
480
482
  export interface CreateMediaSFURoomOptions {
481
483
  action: 'create';
@@ -493,6 +495,8 @@ export interface CreateMediaSFURoomOptions {
493
495
  safeRoomAction?: 'warn' | 'kick' | 'ban';
494
496
  dataBuffer?: boolean;
495
497
  bufferType?: 'images' | 'audio' | 'all';
498
+ directionSIP?: 'inbound' | 'outbound' | 'both';
499
+ preferPCMA?: boolean;
496
500
  }
497
501
  export interface JoinMediaSFURoomOptions {
498
502
  action: 'join';
@@ -676,3 +680,4 @@ export type CreateWebRTCTransportResponse = {
676
680
  iceParameters: IceParameters;
677
681
  error?: string;
678
682
  };
683
+ export * from './custom-component.types';
@@ -160,6 +160,10 @@ export type MediasfuBroadcastOptions = {
160
160
  * @input {CreateMediaSFURoomOptions | JoinMediaSFURoomOptions} noUIPreJoinOptions - Options for the prejoin page without UI.
161
161
  * @input {JoinRoomOnMediaSFUType} joinMediaSFURoom - Function to join a room on MediaSFU.
162
162
  * @input {CreateRoomOnMediaSFUType} createMediaSFURoom - Function to create a room on MediaSFU.
163
+ * @input {any} customVideoCard - Custom component to replace the default VideoCard component.
164
+ * @input {any} customAudioCard - Custom component to replace the default AudioCard component.
165
+ * @input {any} customMiniCard - Custom component to replace the default MiniCard component.
166
+ * @input {any} customMainComponent - Custom component that provides complete control over the main UI, bypassing default MediaSFU styling.
163
167
  *
164
168
  * @property {string} title - The title of the component, defaults to "MediaSFU-Broadcast".
165
169
  *
@@ -183,13 +187,17 @@ export type MediasfuBroadcastOptions = {
183
187
  * [useLocalUIMode]="true"
184
188
  * [seedData]="seedDataObject"
185
189
  * [useSeed]="true"
186
- * [imgSrc]="https://example.com/logo.png">
190
+ * [imgSrc]="'https://example.com/logo.png'"
187
191
  * [sourceParameters]="{ source: 'camera', width: 640, height: 480 }"
188
192
  * [updateSourceParameters]="updateSourceParameters"
189
193
  * [returnUI]="true"
190
194
  * [noUIPreJoinOptions]="{ roomName: 'room1', userName: 'user1' }"
191
195
  * [joinMediaSFURoom]="joinMediaSFURoom"
192
- * [createMediaSFURoom]="createMediaSFURoom">
196
+ * [createMediaSFURoom]="createMediaSFURoom"
197
+ * [customVideoCard]="CustomVideoCardComponent"
198
+ * [customAudioCard]="CustomAudioCardComponent"
199
+ * [customMiniCard]="CustomMiniCardComponent"
200
+ * [customMainComponent]="CustomMainComponent">
193
201
  * </app-mediasfu-broadcast>
194
202
  * ```
195
203
  */
@@ -312,6 +320,10 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
312
320
  noUIPreJoinOptions?: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions;
313
321
  joinMediaSFURoom?: JoinRoomOnMediaSFUType;
314
322
  createMediaSFURoom?: CreateRoomOnMediaSFUType;
323
+ customVideoCard: any;
324
+ customAudioCard: any;
325
+ customMiniCard: any;
326
+ customMainComponent: any;
315
327
  title: string;
316
328
  private mainHeightWidthSubscription;
317
329
  private validatedSubscription;
@@ -322,6 +334,22 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
322
334
  private recordingSubscription;
323
335
  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, captureCanvasStream: CaptureCanvasStream, resumePauseAudioStreams: ResumePauseAudioStreams, processConsumerTransportsAudio: ProcessConsumerTransportsAudio, launchRecording: LaunchRecording, startRecording: StartRecording, confirmRecording: ConfirmRecording, launchParticipants: LaunchParticipants, launchMessages: LaunchMessages, launchConfirmExit: LaunchConfirmExit, startMeetingProgressTimer: StartMeetingProgressTimer, updateRecording: UpdateRecording, stopRecording: StopRecording, personJoined: PersonJoined, roomRecordParams: RoomRecordParams, banParticipant: BanParticipant, producerMediaPaused: ProducerMediaPaused, producerMediaResumed: ProducerMediaResumed, producerMediaClosed: ProducerMediaClosed, meetingEnded: MeetingEnded, disconnectUserSelf: DisconnectUserSelf, receiveMessage: ReceiveMessage, meetingTimeRemaining: MeetingTimeRemaining, meetingStillThere: MeetingStillThere, startRecords: StartRecords, reInitiateRecording: ReInitiateRecording, recordingNotice: RecordingNotice, timeLeftRecording: TimeLeftRecording, stoppedRecording: StoppedRecording, allMembers: AllMembers, allMembersRest: AllMembersRest, disconnect: Disconnect, socketManager: SocketManager, joinRoomClient: JoinRoomClient, joinLocalRoom: JoinLocalRoom, updateRoomParametersClient: UpdateRoomParametersClient, clickVideo: ClickVideo, clickAudio: ClickAudio, clickScreenShare: ClickScreenShare, switchVideoAlt: SwitchVideoAlt, streamSuccessVideo: StreamSuccessVideo, streamSuccessAudio: StreamSuccessAudio, streamSuccessScreen: StreamSuccessScreen, streamSuccessAudioSwitch: StreamSuccessAudioSwitch, checkPermission: CheckPermission, updateConsumingDomains: UpdateConsumingDomains, receiveRoomMessages: ReceiveRoomMessages);
324
336
  createInjector(inputs: any): Injector;
337
+ /**
338
+ * Gets a list of media devices filtered by the specified kind.
339
+ * @param kind - The kind of media device to filter by ('videoinput' or 'audioinput')
340
+ * @returns A promise that resolves to an array of MediaDeviceInfo objects
341
+ */
342
+ getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
343
+ /**
344
+ * Gets the media stream for a participant by their ID or name.
345
+ * @param options - Object containing id, name, and kind parameters
346
+ * @returns A promise that resolves to the participant's MediaStream or null if not found
347
+ */
348
+ getParticipantMedia: (options: {
349
+ id?: string;
350
+ name?: string;
351
+ kind: "video" | "audio";
352
+ }) => Promise<MediaStream | null>;
325
353
  mediaSFUFunctions: () => {
326
354
  updateMiniCardsGrid: ({ rows, cols, defal, actualRows, parameters, }: import("../../consumers/update-mini-cards-grid.service").UpdateMiniCardsGridOptions) => Promise<void>;
327
355
  mixStreams: ({ alVideoStreams, non_alVideoStreams, ref_participants, }: import("../../consumers/mix-streams.service").MixStreamsOptions) => Promise<(Stream | Participant)[]>;
@@ -394,6 +422,12 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
394
422
  switchVideoAlt: ({ parameters }: import("../../@types/types").SwitchVideoAltOptions) => Promise<void>;
395
423
  requestPermissionCamera: () => Promise<string>;
396
424
  requestPermissionAudio: () => Promise<string>;
425
+ getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
426
+ getParticipantMedia: (options: {
427
+ id?: string;
428
+ name?: string;
429
+ kind: "video" | "audio";
430
+ }) => Promise<MediaStream | null>;
397
431
  };
398
432
  validated: BehaviorSubject<boolean>;
399
433
  localUIMode: BehaviorSubject<boolean>;
@@ -844,7 +878,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
844
878
  recordingVideoOptions: BehaviorSubject<string>;
845
879
  recordingVideoType: BehaviorSubject<string>;
846
880
  recordingVideoOptimized: BehaviorSubject<boolean>;
847
- recordingDisplayType: BehaviorSubject<"video" | "all" | "media">;
881
+ recordingDisplayType: BehaviorSubject<"video" | "media" | "all">;
848
882
  recordingAddHLS: BehaviorSubject<boolean>;
849
883
  recordingNameTags: BehaviorSubject<boolean>;
850
884
  recordingBackgroundColor: BehaviorSubject<string>;
@@ -1070,7 +1104,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
1070
1104
  updateAnnotateScreenStream: (value: boolean) => void;
1071
1105
  updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
1072
1106
  updateIsScreenboardModalVisible: (value: boolean) => void;
1073
- checkOrientation: () => "landscape" | "portrait";
1107
+ checkOrientation: () => "portrait" | "landscape";
1074
1108
  showAlert: ({ message, type, duration, }: {
1075
1109
  message: string;
1076
1110
  type: "success" | "danger";
@@ -1313,7 +1347,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
1313
1347
  recordingVideoOptions: string;
1314
1348
  recordingVideoType: string;
1315
1349
  recordingVideoOptimized: boolean;
1316
- recordingDisplayType: "video" | "all" | "media";
1350
+ recordingDisplayType: "video" | "media" | "all";
1317
1351
  recordingAddHLS: boolean;
1318
1352
  recordingAddText: boolean;
1319
1353
  recordingCustomText: string;
@@ -1714,11 +1748,14 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
1714
1748
  updateAnnotateScreenStream: (value: boolean) => void;
1715
1749
  updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
1716
1750
  updateIsScreenboardModalVisible: (value: boolean) => void;
1717
- checkOrientation: () => "landscape" | "portrait";
1751
+ checkOrientation: () => "portrait" | "landscape";
1718
1752
  updateDevice: (value: Device | null) => void;
1719
1753
  updateSocket: (value: Socket) => void;
1720
1754
  updateLocalSocket: (value: Socket | null) => void;
1721
1755
  updateValidated: (value: boolean) => void;
1756
+ customVideoCard: any;
1757
+ customAudioCard: any;
1758
+ customMiniCard: any;
1722
1759
  showAlert: ({ message, type, duration, }: {
1723
1760
  message: string;
1724
1761
  type: "success" | "danger";
@@ -1796,6 +1833,12 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
1796
1833
  switchVideoAlt: ({ parameters }: import("../../@types/types").SwitchVideoAltOptions) => Promise<void>;
1797
1834
  requestPermissionCamera: () => Promise<string>;
1798
1835
  requestPermissionAudio: () => Promise<string>;
1836
+ getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
1837
+ getParticipantMedia: (options: {
1838
+ id?: string;
1839
+ name?: string;
1840
+ kind: "video" | "audio";
1841
+ }) => Promise<MediaStream | null>;
1799
1842
  localUIMode: boolean;
1800
1843
  roomName: string;
1801
1844
  member: string;
@@ -2032,7 +2075,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
2032
2075
  recordingVideoOptions: string;
2033
2076
  recordingVideoType: string;
2034
2077
  recordingVideoOptimized: boolean;
2035
- recordingDisplayType: "video" | "all" | "media";
2078
+ recordingDisplayType: "video" | "media" | "all";
2036
2079
  recordingAddHLS: boolean;
2037
2080
  recordingAddText: boolean;
2038
2081
  recordingCustomText: string;
@@ -2433,11 +2476,14 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
2433
2476
  updateAnnotateScreenStream: (value: boolean) => void;
2434
2477
  updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
2435
2478
  updateIsScreenboardModalVisible: (value: boolean) => void;
2436
- checkOrientation: () => "landscape" | "portrait";
2479
+ checkOrientation: () => "portrait" | "landscape";
2437
2480
  updateDevice: (value: Device | null) => void;
2438
2481
  updateSocket: (value: Socket) => void;
2439
2482
  updateLocalSocket: (value: Socket | null) => void;
2440
2483
  updateValidated: (value: boolean) => void;
2484
+ customVideoCard: any;
2485
+ customAudioCard: any;
2486
+ customMiniCard: any;
2441
2487
  showAlert: ({ message, type, duration, }: {
2442
2488
  message: string;
2443
2489
  type: "success" | "danger";
@@ -2518,6 +2564,12 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
2518
2564
  switchVideoAlt: ({ parameters }: import("../../@types/types").SwitchVideoAltOptions) => Promise<void>;
2519
2565
  requestPermissionCamera: () => Promise<string>;
2520
2566
  requestPermissionAudio: () => Promise<string>;
2567
+ getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
2568
+ getParticipantMedia: (options: {
2569
+ id?: string;
2570
+ name?: string;
2571
+ kind: "video" | "audio";
2572
+ }) => Promise<MediaStream | null>;
2521
2573
  localUIMode: boolean;
2522
2574
  roomName: string;
2523
2575
  member: string;
@@ -2754,7 +2806,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
2754
2806
  recordingVideoOptions: string;
2755
2807
  recordingVideoType: string;
2756
2808
  recordingVideoOptimized: boolean;
2757
- recordingDisplayType: "video" | "all" | "media";
2809
+ recordingDisplayType: "video" | "media" | "all";
2758
2810
  recordingAddHLS: boolean;
2759
2811
  recordingAddText: boolean;
2760
2812
  recordingCustomText: string;
@@ -3155,11 +3207,14 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
3155
3207
  updateAnnotateScreenStream: (value: boolean) => void;
3156
3208
  updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
3157
3209
  updateIsScreenboardModalVisible: (value: boolean) => void;
3158
- checkOrientation: () => "landscape" | "portrait";
3210
+ checkOrientation: () => "portrait" | "landscape";
3159
3211
  updateDevice: (value: Device | null) => void;
3160
3212
  updateSocket: (value: Socket) => void;
3161
3213
  updateLocalSocket: (value: Socket | null) => void;
3162
3214
  updateValidated: (value: boolean) => void;
3215
+ customVideoCard: any;
3216
+ customAudioCard: any;
3217
+ customMiniCard: any;
3163
3218
  showAlert: ({ message, type, duration, }: {
3164
3219
  message: string;
3165
3220
  type: "success" | "danger";
@@ -3237,6 +3292,12 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
3237
3292
  switchVideoAlt: ({ parameters }: import("../../@types/types").SwitchVideoAltOptions) => Promise<void>;
3238
3293
  requestPermissionCamera: () => Promise<string>;
3239
3294
  requestPermissionAudio: () => Promise<string>;
3295
+ getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
3296
+ getParticipantMedia: (options: {
3297
+ id?: string;
3298
+ name?: string;
3299
+ kind: "video" | "audio";
3300
+ }) => Promise<MediaStream | null>;
3240
3301
  localUIMode: boolean;
3241
3302
  roomName: string;
3242
3303
  member: string;
@@ -3473,7 +3534,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
3473
3534
  recordingVideoOptions: string;
3474
3535
  recordingVideoType: string;
3475
3536
  recordingVideoOptimized: boolean;
3476
- recordingDisplayType: "video" | "all" | "media";
3537
+ recordingDisplayType: "video" | "media" | "all";
3477
3538
  recordingAddHLS: boolean;
3478
3539
  recordingAddText: boolean;
3479
3540
  recordingCustomText: string;
@@ -3874,11 +3935,14 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
3874
3935
  updateAnnotateScreenStream: (value: boolean) => void;
3875
3936
  updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
3876
3937
  updateIsScreenboardModalVisible: (value: boolean) => void;
3877
- checkOrientation: () => "landscape" | "portrait";
3938
+ checkOrientation: () => "portrait" | "landscape";
3878
3939
  updateDevice: (value: Device | null) => void;
3879
3940
  updateSocket: (value: Socket) => void;
3880
3941
  updateLocalSocket: (value: Socket | null) => void;
3881
3942
  updateValidated: (value: boolean) => void;
3943
+ customVideoCard: any;
3944
+ customAudioCard: any;
3945
+ customMiniCard: any;
3882
3946
  showAlert: ({ message, type, duration, }: {
3883
3947
  message: string;
3884
3948
  type: "success" | "danger";
@@ -3959,6 +4023,12 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
3959
4023
  switchVideoAlt: ({ parameters }: import("../../@types/types").SwitchVideoAltOptions) => Promise<void>;
3960
4024
  requestPermissionCamera: () => Promise<string>;
3961
4025
  requestPermissionAudio: () => Promise<string>;
4026
+ getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
4027
+ getParticipantMedia: (options: {
4028
+ id?: string;
4029
+ name?: string;
4030
+ kind: "video" | "audio";
4031
+ }) => Promise<MediaStream | null>;
3962
4032
  localUIMode: boolean;
3963
4033
  roomName: string;
3964
4034
  member: string;
@@ -4195,7 +4265,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
4195
4265
  recordingVideoOptions: string;
4196
4266
  recordingVideoType: string;
4197
4267
  recordingVideoOptimized: boolean;
4198
- recordingDisplayType: "video" | "all" | "media";
4268
+ recordingDisplayType: "video" | "media" | "all";
4199
4269
  recordingAddHLS: boolean;
4200
4270
  recordingAddText: boolean;
4201
4271
  recordingCustomText: string;
@@ -4596,11 +4666,14 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
4596
4666
  updateAnnotateScreenStream: (value: boolean) => void;
4597
4667
  updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
4598
4668
  updateIsScreenboardModalVisible: (value: boolean) => void;
4599
- checkOrientation: () => "landscape" | "portrait";
4669
+ checkOrientation: () => "portrait" | "landscape";
4600
4670
  updateDevice: (value: Device | null) => void;
4601
4671
  updateSocket: (value: Socket) => void;
4602
4672
  updateLocalSocket: (value: Socket | null) => void;
4603
4673
  updateValidated: (value: boolean) => void;
4674
+ customVideoCard: any;
4675
+ customAudioCard: any;
4676
+ customMiniCard: any;
4604
4677
  showAlert: ({ message, type, duration, }: {
4605
4678
  message: string;
4606
4679
  type: "success" | "danger";
@@ -4678,6 +4751,12 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
4678
4751
  switchVideoAlt: ({ parameters }: import("../../@types/types").SwitchVideoAltOptions) => Promise<void>;
4679
4752
  requestPermissionCamera: () => Promise<string>;
4680
4753
  requestPermissionAudio: () => Promise<string>;
4754
+ getMediaDevicesList: (kind: "videoinput" | "audioinput") => Promise<MediaDeviceInfo[]>;
4755
+ getParticipantMedia: (options: {
4756
+ id?: string;
4757
+ name?: string;
4758
+ kind: "video" | "audio";
4759
+ }) => Promise<MediaStream | null>;
4681
4760
  localUIMode: boolean;
4682
4761
  roomName: string;
4683
4762
  member: string;
@@ -4914,7 +4993,7 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
4914
4993
  recordingVideoOptions: string;
4915
4994
  recordingVideoType: string;
4916
4995
  recordingVideoOptimized: boolean;
4917
- recordingDisplayType: "video" | "all" | "media";
4996
+ recordingDisplayType: "video" | "media" | "all";
4918
4997
  recordingAddHLS: boolean;
4919
4998
  recordingAddText: boolean;
4920
4999
  recordingCustomText: string;
@@ -5315,11 +5394,14 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
5315
5394
  updateAnnotateScreenStream: (value: boolean) => void;
5316
5395
  updateMainScreenCanvas: (value: HTMLCanvasElement | null) => void;
5317
5396
  updateIsScreenboardModalVisible: (value: boolean) => void;
5318
- checkOrientation: () => "landscape" | "portrait";
5397
+ checkOrientation: () => "portrait" | "landscape";
5319
5398
  updateDevice: (value: Device | null) => void;
5320
5399
  updateSocket: (value: Socket) => void;
5321
5400
  updateLocalSocket: (value: Socket | null) => void;
5322
5401
  updateValidated: (value: boolean) => void;
5402
+ customVideoCard: any;
5403
+ customAudioCard: any;
5404
+ customMiniCard: any;
5323
5405
  showAlert: ({ message, type, duration, }: {
5324
5406
  message: string;
5325
5407
  type: "success" | "danger";
@@ -5445,5 +5527,5 @@ export declare class MediasfuBroadcast implements OnInit, OnDestroy {
5445
5527
  controlBroadcastButtonsArray: ButtonTouch[];
5446
5528
  connect_Socket(apiUserName: string, token: string, skipSockets?: boolean): Promise<Socket | null>;
5447
5529
  static ɵfac: i0.ɵɵFactoryDeclaration<MediasfuBroadcast, never>;
5448
- static ɵcmp: i0.ɵɵComponentDeclaration<MediasfuBroadcast, "app-mediasfu-broadcast", 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>;
5530
+ static ɵcmp: i0.ɵɵComponentDeclaration<MediasfuBroadcast, "app-mediasfu-broadcast", 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>;
5449
5531
  }