Interface defining the parameters for the RecordingModal component. Extends ConfirmRecordingParameters and StartRecordingParameters for full recording functionality.

RecordingModalParameters

Recording State:

interface RecordingModalParameters {
    recordPaused: boolean;
    recordingVideoType: string;
    recordingDisplayType: "video" | "media" | "all";
    recordingBackgroundColor: string;
    recordingNameTagsColor: string;
    recordingOrientationVideo: string;
    recordingNameTags: boolean;
    recordingAddText: boolean;
    recordingCustomText: string;
    recordingCustomTextPosition: string;
    recordingCustomTextColor: string;
    recordingMediaOptions: string;
    recordingAudioOptions: string;
    recordingVideoOptions: string;
    recordingAddHLS: boolean;
    eventType: EventType;
    updateRecordingVideoType: ((value: string) => void);
    updateRecordingDisplayType: ((value: "video" | "media" | "all") => void);
    updateRecordingBackgroundColor: ((value: string) => void);
    updateRecordingNameTagsColor: ((value: string) => void);
    updateRecordingOrientationVideo: ((value: string) => void);
    updateRecordingNameTags: ((value: boolean) => void);
    updateRecordingAddText: ((value: boolean) => void);
    updateRecordingCustomText: ((value: string) => void);
    updateRecordingCustomTextPosition: ((value: string) => void);
    updateRecordingCustomTextColor: ((value: string) => void);
    updateRecordingMediaOptions: ((value: string) => void);
    updateRecordingAudioOptions: ((value: string) => void);
    updateRecordingVideoOptions: ((value: string) => void);
    updateRecordingAddHLS: ((value: boolean) => void);
    getUpdatedAllParams: (() => RecordingModalParameters);
    prevActiveNames: string[];
    updateActiveNames: ((activeNames: string[]) => void);
    updatePrevActiveNames: ((prevActiveNames: string[]) => void);
    activeNames: string[];
    trigger: TriggerType;
    audioParams: ProducerOptions;
    videoParams: ProducerOptions;
    localStreamScreen: MediaStream;
    shared: boolean;
    connectSendTransportAudio: ConnectSendTransportAudioType;
    connectSendTransportVideo: ConnectSendTransportVideoType;
    audioProducer: Producer<AppData>;
    localAudioProducer?: Producer<AppData>;
    updateAudioProducer: ((producer: Producer<AppData>) => void);
    updateLocalAudioProducer?: ((localProducer: Producer<AppData>) => void);
    updateAudioLevel: ((level: number) => void);
    screenParams: ProducerOptions;
    params: ProducerOptions;
    videoProducer: Producer<AppData>;
    localVideoProducer?: Producer<AppData>;
    updateMainWindow: boolean;
    updateVideoProducer: ((producer: Producer<AppData>) => void);
    updateLocalVideoProducer?: ((localProducer: Producer<AppData>) => void);
    updateUpdateMainWindow: ((state: boolean) => void);
    islevel: string;
    member: string;
    device: Device;
    producerTransport: Transport<AppData>;
    localProducerTransport?: Transport<AppData>;
    updateProducerTransport: ((producerTransport: Transport<AppData>) => void);
    updateLocalProducerTransport?: ((localTransport: Transport<AppData>) => void);
    updateTransportCreated: ((transportCreated: boolean) => void);
    updateLocalTransportCreated?: ((localTransportCreated: boolean) => void);
    connectSendTransport: ConnectSendTransportType;
    mainScreenPerson: string;
    adminOnMainScreen: boolean;
    mainScreenFilled: boolean;
    screenStates: ScreenState[];
    prevScreenStates: ScreenState[];
    updateScreenStates: ((states: ScreenState[]) => void);
    updatePrevScreenStates: ((states: ScreenState[]) => void);
    compareActiveNames: CompareActiveNamesType;
    compareScreenStates: CompareScreenStatesType;
    participants: Participant[];
    updateDateState?: number;
    lastUpdate: number;
    nForReadjust: number;
    shareScreenStarted: boolean;
    updateUpdateDateState: ((timestamp: number) => void);
    updateLastUpdate: ((lastUpdate: number) => void);
    updateNForReadjust: ((nForReadjust: number) => void);
    autoAdjust: AutoAdjustType;
    showAlert?: ShowAlert;
    meetingDisplayType: string;
    recordingVideoParticipantsFullRoomSupport: boolean;
    recordingAllParticipantsSupport: boolean;
    recordingVideoParticipantsSupport: boolean;
    recordingSupportForOtherOrientation: boolean;
    recordingPreferredOrientation: string;
    recordingMultiFormatsSupport: boolean;
    recordingVideoOptimized: boolean;
    recordingAllParticipantsFullRoomSupport: boolean;
    meetingVideoOptimized: boolean;
    breakOutRoomStarted: boolean;
    breakOutRoomEnded: boolean;
    updateRecordingVideoOptimized: ((value: boolean) => void);
    updateUserRecordingParams: ((params: UserRecordingParams) => void);
    updateConfirmedToRecord: ((value: boolean) => void);
    recordElapsedTime: number;
    recordStartTime: number;
    recordTimerInterval?: Timeout;
    isTimerRunning: boolean;
    canPauseResume: boolean;
    recordChangeSeconds: number;
    updateRecordStartTime: ((time: number) => void);
    updateRecordTimerInterval: ((interval: Timeout) => void);
    updateIsTimerRunning: ((isRunning: boolean) => void);
    updateCanPauseResume: ((canPause: boolean) => void);
    roomName: string;
    userRecordingParams: UserRecordingParams;
    socket: Socket<DefaultEventsMap, DefaultEventsMap>;
    localSocket?: Socket<DefaultEventsMap, DefaultEventsMap>;
    updateIsRecordingModalVisible: ((visible: boolean) => void);
    confirmedToRecord: boolean;
    videoAlreadyOn: boolean;
    audioAlreadyOn: boolean;
    recordStarted: boolean;
    recordResumed: boolean;
    recordStopped: boolean;
    startReport: boolean;
    endReport: boolean;
    canRecord: boolean;
    updateClearedToRecord: ((cleared: boolean) => void);
    updateRecordStarted: ((started: boolean) => void);
    updateRecordPaused: ((paused: boolean) => void);
    updateRecordResumed: ((resumed: boolean) => void);
    updateStartReport: ((started: boolean) => void);
    updateEndReport: ((ended: boolean) => void);
    updateCanRecord: ((canRecord: boolean) => void);
    whiteboardStarted: boolean;
    whiteboardEnded: boolean;
    rePort: RePortType;
    captureCanvasStream: CaptureCanvasStreamType;
    canvasWhiteboard: HTMLCanvasElement;
    canvasStream: MediaStream;
    updateCanvasStream: ((stream: MediaStream) => void);
    screenProducer: Producer<AppData>;
    localScreenProducer?: Producer<AppData>;
    transportCreated: boolean;
    localTransportCreated?: boolean;
    updateScreenProducer: ((producer: Producer<AppData>) => void);
    updateLocalScreenProducer?: ((localProducer: Producer<AppData>) => void);
    sleep: SleepType;
    createSendTransport: CreateSendTransportType;
    connectSendTransportScreen: ConnectSendTransportScreenType;
    disconnectSendTransportScreen: DisconnectSendTransportScreenType;
    [key: string]: any;
}

Hierarchy (view full)

Indexable

  • [key: string]: any

Properties

recordPaused recordingVideoType recordingDisplayType recordingBackgroundColor recordingNameTagsColor recordingOrientationVideo recordingNameTags recordingAddText recordingCustomText recordingCustomTextPosition recordingCustomTextColor recordingMediaOptions recordingAudioOptions recordingVideoOptions recordingAddHLS eventType updateRecordingVideoType updateRecordingDisplayType updateRecordingBackgroundColor updateRecordingNameTagsColor updateRecordingOrientationVideo updateRecordingNameTags updateRecordingAddText updateRecordingCustomText updateRecordingCustomTextPosition updateRecordingCustomTextColor updateRecordingMediaOptions updateRecordingAudioOptions updateRecordingVideoOptions updateRecordingAddHLS getUpdatedAllParams prevActiveNames updateActiveNames updatePrevActiveNames activeNames trigger audioParams videoParams localStreamScreen shared connectSendTransportAudio connectSendTransportVideo audioProducer localAudioProducer? updateAudioProducer updateLocalAudioProducer? updateAudioLevel screenParams params videoProducer localVideoProducer? updateMainWindow updateVideoProducer updateLocalVideoProducer? updateUpdateMainWindow islevel member device producerTransport localProducerTransport? updateProducerTransport updateLocalProducerTransport? updateTransportCreated updateLocalTransportCreated? connectSendTransport mainScreenPerson adminOnMainScreen mainScreenFilled screenStates prevScreenStates updateScreenStates updatePrevScreenStates compareActiveNames compareScreenStates participants updateDateState? lastUpdate nForReadjust shareScreenStarted updateUpdateDateState updateLastUpdate updateNForReadjust autoAdjust showAlert? meetingDisplayType recordingVideoParticipantsFullRoomSupport recordingAllParticipantsSupport recordingVideoParticipantsSupport recordingSupportForOtherOrientation recordingPreferredOrientation recordingMultiFormatsSupport recordingVideoOptimized recordingAllParticipantsFullRoomSupport meetingVideoOptimized breakOutRoomStarted breakOutRoomEnded updateRecordingVideoOptimized updateUserRecordingParams updateConfirmedToRecord recordElapsedTime recordStartTime recordTimerInterval? isTimerRunning canPauseResume recordChangeSeconds updateRecordStartTime updateRecordTimerInterval updateIsTimerRunning updateCanPauseResume roomName userRecordingParams socket localSocket? updateIsRecordingModalVisible confirmedToRecord videoAlreadyOn audioAlreadyOn recordStarted recordResumed recordStopped startReport endReport canRecord updateClearedToRecord updateRecordStarted updateRecordPaused updateRecordResumed updateStartReport updateEndReport updateCanRecord whiteboardStarted whiteboardEnded rePort captureCanvasStream canvasWhiteboard canvasStream updateCanvasStream screenProducer localScreenProducer? transportCreated localTransportCreated? updateScreenProducer updateLocalScreenProducer? sleep createSendTransport connectSendTransportScreen disconnectSendTransportScreen

Properties

recordPaused: boolean

Whether recording is currently paused

recordingVideoType: string

Video capture type ('fullDisplay', 'mainScreen', etc.)

recordingDisplayType: "video" | "media" | "all"

What to display in recording

recordingBackgroundColor: string

Background color for recording canvas

recordingNameTagsColor: string

Color for participant name tags

recordingOrientationVideo: string

Video orientation ('landscape', 'portrait')

recordingNameTags: boolean

Whether to show participant name tags

recordingAddText: boolean

Whether to add custom text overlay

recordingCustomText: string

Custom text to overlay on recording

recordingCustomTextPosition: string

Position of custom text ('top', 'bottom', etc.)

recordingCustomTextColor: string

Color of custom text

Media Options:

recordingMediaOptions: string

General media recording options

recordingAudioOptions: string

Audio encoding/quality options

recordingVideoOptions: string

Video quality/codec options

Visual Customization:

recordingAddHLS: boolean

Whether to enable HLS streaming

State Update Functions:

eventType: EventType

Type of event being recorded

Video Settings:

updateRecordingVideoType: ((value: string) => void)

Update video type setting

updateRecordingDisplayType: ((value: "video" | "media" | "all") => void)

Update display type

updateRecordingBackgroundColor: ((value: string) => void)

Update background color

updateRecordingNameTagsColor: ((value: string) => void)

Update name tags color

updateRecordingOrientationVideo: ((value: string) => void)

Update video orientation

updateRecordingNameTags: ((value: boolean) => void)

Toggle name tags

updateRecordingAddText: ((value: boolean) => void)

Toggle custom text

updateRecordingCustomText: ((value: string) => void)

Update custom text content

updateRecordingCustomTextPosition: ((value: string) => void)

Update text position

updateRecordingCustomTextColor: ((value: string) => void)

Update text color

updateRecordingMediaOptions: ((value: string) => void)

Update media options

updateRecordingAudioOptions: ((value: string) => void)

Update audio options

updateRecordingVideoOptions: ((value: string) => void)

Update video options

updateRecordingAddHLS: ((value: boolean) => void)

Toggle HLS streaming

Utility:

getUpdatedAllParams: (() => RecordingModalParameters)

Get latest parameter state

prevActiveNames: string[]
updateActiveNames: ((activeNames: string[]) => void)
updatePrevActiveNames: ((prevActiveNames: string[]) => void)
activeNames: string[]
trigger: TriggerType
audioParams: ProducerOptions
videoParams: ProducerOptions
localStreamScreen: MediaStream
shared: boolean
connectSendTransportAudio: ConnectSendTransportAudioType
connectSendTransportVideo: ConnectSendTransportVideoType
audioProducer: Producer<AppData>
localAudioProducer?: Producer<AppData>
updateAudioProducer: ((producer: Producer<AppData>) => void)
updateLocalAudioProducer?: ((localProducer: Producer<AppData>) => void)
updateAudioLevel: ((level: number) => void)
screenParams: ProducerOptions
params: ProducerOptions
videoProducer: Producer<AppData>
localVideoProducer?: Producer<AppData>
updateMainWindow: boolean
updateVideoProducer: ((producer: Producer<AppData>) => void)
updateLocalVideoProducer?: ((localProducer: Producer<AppData>) => void)
updateUpdateMainWindow: ((state: boolean) => void)
islevel: string
member: string
device: Device
producerTransport: Transport<AppData>
localProducerTransport?: Transport<AppData>
updateProducerTransport: ((producerTransport: Transport<AppData>) => void)
updateLocalProducerTransport?: ((localTransport: Transport<AppData>) => void)
updateTransportCreated: ((transportCreated: boolean) => void)
updateLocalTransportCreated?: ((localTransportCreated: boolean) => void)
connectSendTransport: ConnectSendTransportType
mainScreenPerson: string
adminOnMainScreen: boolean
mainScreenFilled: boolean
screenStates: ScreenState[]
prevScreenStates: ScreenState[]
updateScreenStates: ((states: ScreenState[]) => void)
updatePrevScreenStates: ((states: ScreenState[]) => void)
compareActiveNames: CompareActiveNamesType
compareScreenStates: CompareScreenStatesType
participants: Participant[]
updateDateState?: number
lastUpdate: number
nForReadjust: number
shareScreenStarted: boolean
updateUpdateDateState: ((timestamp: number) => void)
updateLastUpdate: ((lastUpdate: number) => void)
updateNForReadjust: ((nForReadjust: number) => void)
autoAdjust: AutoAdjustType
showAlert?: ShowAlert
meetingDisplayType: string
recordingVideoParticipantsFullRoomSupport: boolean
recordingAllParticipantsSupport: boolean
recordingVideoParticipantsSupport: boolean
recordingSupportForOtherOrientation: boolean
recordingPreferredOrientation: string
recordingMultiFormatsSupport: boolean
recordingVideoOptimized: boolean
recordingAllParticipantsFullRoomSupport: boolean
meetingVideoOptimized: boolean
breakOutRoomStarted: boolean
breakOutRoomEnded: boolean
updateRecordingVideoOptimized: ((value: boolean) => void)
updateUserRecordingParams: ((params: UserRecordingParams) => void)
updateConfirmedToRecord: ((value: boolean) => void)
recordElapsedTime: number
recordStartTime: number
recordTimerInterval?: Timeout
isTimerRunning: boolean
canPauseResume: boolean
recordChangeSeconds: number
updateRecordStartTime: ((time: number) => void)
updateRecordTimerInterval: ((interval: Timeout) => void)
updateIsTimerRunning: ((isRunning: boolean) => void)
updateCanPauseResume: ((canPause: boolean) => void)
roomName: string
userRecordingParams: UserRecordingParams
socket: Socket<DefaultEventsMap, DefaultEventsMap>
localSocket?: Socket<DefaultEventsMap, DefaultEventsMap>
updateIsRecordingModalVisible: ((visible: boolean) => void)
confirmedToRecord: boolean
videoAlreadyOn: boolean
audioAlreadyOn: boolean
recordStarted: boolean
recordResumed: boolean
recordStopped: boolean
startReport: boolean
endReport: boolean
canRecord: boolean
updateClearedToRecord: ((cleared: boolean) => void)
updateRecordStarted: ((started: boolean) => void)
updateRecordPaused: ((paused: boolean) => void)
updateRecordResumed: ((resumed: boolean) => void)
updateStartReport: ((started: boolean) => void)
updateEndReport: ((ended: boolean) => void)
updateCanRecord: ((canRecord: boolean) => void)
whiteboardStarted: boolean
whiteboardEnded: boolean
rePort: RePortType
captureCanvasStream: CaptureCanvasStreamType
canvasWhiteboard: HTMLCanvasElement
canvasStream: MediaStream
updateCanvasStream: ((stream: MediaStream) => void)
screenProducer: Producer<AppData>
localScreenProducer?: Producer<AppData>
transportCreated: boolean
localTransportCreated?: boolean
updateScreenProducer: ((producer: Producer<AppData>) => void)
updateLocalScreenProducer?: ((localProducer: Producer<AppData>) => void)
sleep: SleepType
createSendTransport: CreateSendTransportType
connectSendTransportScreen: ConnectSendTransportScreenType
disconnectSendTransportScreen: DisconnectSendTransportScreenType