Initialize {@code RecordingManager} with other objects that are necessary for starting a recording.
The chat room to handle.
Stores a reference to the passed in JibriSession.
The JibriSession instance to store.
Create a new instance of a recording session and stores a reference to it.
The session ID of the recording in progress.
The current status of the recording session.
The recording mode of the session.
Notifies listeners of an update to a recording session.
The session that has been updated.
Optional
initiator: stringThe jid of the initiator of the update.
Parses presence to update an existing JibriSession or to create a new JibriSession.
An XMPP presence update.
Handles updates from the Jibri which can broadcast a YouTube URL that needs to be updated in a JibriSession.
An XMPP presence update.
Finds an existing recording session by session ID.
The session ID associated with the recording.
Find a session with a specific jibri JID.
the JID to search for.
Handle a participant leaving the room.
the JID of the participant that left.
Callback to invoke to parse through a presence update to find recording related updates (from Jibri participant doing the recording and the focus which controls recording).
The presence data from the pubsub event.
Whether or not the update comes from a participant that is trusted but not visible, as would be the case with the Jibri recorder participant.
An XMPP presence update.
Start a recording session.
Configuration for the recording.
Optional
appData?: stringOptional
broadcastId?: stringOptional
streamId?: stringA promise for starting a recording, which will pass back the session on success. The promise resolves after receiving an acknowledgment of the start request success or fail.
Stop a recording session.
The ID associated with the recording session to be stopped.
The promise resolves after receiving an acknowledgment of the stop request success or fail.
A class responsible for starting and stopping recording sessions and emitting state updates for them.