Missing Documentation For Jitsi Low Level Recording and Broad Casting

I am implementing recording and broadcasting into my stream app, and I realzing the documentation at has nothing about recording.

For recording I am doing:

 let record = room.startRecording({
                mode: JitsiRecordingConstants.mode.FILE,
                appData: JSON.stringify({
                    'file_recording_metadata': {
                        'share': true,
                        'event_id': an_event_id,
                        'jwt': some_jwet
                    },
                })
            });

And Broadcasting/Restreaming I am doing:

let record = room.startRecording({
                broadcastId: an_event_id,
                mode: JitsiRecordingConstants.mode.STREAM,
                streamId: url_of_an_rtmp_endpoint
 });

Does anyone have any examples of them using the recording feature? I know I am having an issue of capture the full-screen and not jus the video, but want to see what others have figured out on how to use this function.

Thanks! Do you know if there is an event like JitsiMeetJS.events.conference for when a recording has started and stopped?

Looks like I found it with window.JitsiMeetJS.events.conference.RECORDER_STATE_CHANGED

and it has various states such as:

1. _initiator: "1a050c81"
2. _mode: "file"
3. _sessionID: "fhsmklydynvrpadj"
4. _status: "off"
5. _terminator: "1a050c81"
1. _connection: Os {eventEmitter: r, on: ƒ, addEventListener: ƒ, off: ƒ, removeEventListener: ƒ, …}
2. _initiator: "1a050c81"
3. _mode: "file"
4. _sessionID: "krqlhoomhvdzdlea"
5. _status: "on"
1. _connection: Os {eventEmitter: r, on: ƒ, addEventListener: ƒ, off: ƒ, removeEventListener: ƒ, …}
2. _initiator: "1a050c81"
3. _mode: "file"
4. _sessionID: "krqlhoomhvdzdlea"
5. _status: "pending"

My only concern with these from a development standpoint is if this structure is likely to change in the future, since its not documented and everything is underscored.

There might be a small bug in window.JitsiMeetJS.events.conference.RECORDER_STATE_CHANGED.

When I start a stream using:

let record = room.startRecording({
                broadcastId: an_event_id,
                mode: JitsiRecordingConstants.mode.STREAM,
                streamId: url_of_an_rtmp_endpoint
 });

The response status is always off, even when the stream is working:

1. _error: "error"
2. _mode: "stream"
3. _sessionID: "edklludurmxwchqt"
4. _status: "off"

Do you reproduce it on meet.jit.si?

I am unsure because its custom code, but I am use the standard Jitsi installation without modification. My code is as such:

room.on(window.JitsiMeetJS.events.conference.RECORDER_STATE_CHANGED, function(response){
                            console.log("Recorder State Changed");
                            console.log(response);
                           
  });