feat(recording): frontend logic can support live streaming and recording (#741)
* feat(recording): frontend logic can support live streaming and recording
Instead of either live streaming or recording, now both can live together.
The changes to facilitate such include the following:
- Remove the old recording.js module which allowed one recording at a time.
- Remove events for live stream url changes as the url is now part of a
sesssion and not fired independently.
- Availability of sipgw and recording are gone. Instead sessions have a
failure reason. For sipgw sessions, store that failure and emit it to
listeners.
- Create a new recordingManager singleton that can start/stop sessions
and handle updating known state of those sessions. Known state is
emitted through one event.
- Create a JibriSession model to encapsulate state of a session.
* update comments, use map to store sessions
* always pass in focusmucjid
* try to fix jibrisession docs and remove default null
* Changes initialization of videoSIPGW.
* Adds some errors returned on creating videoSIPGW session.
* Fixes sending videoSIPGW session STATE_CHANGED event.
* Fixes sending jibriIQ, no result status is received.
* Adds VIDEO_SIP_GW_SESSION_STATE_CHANGED to JitsiConferenceEvents.
* Fixing comments.
* Adds video sip gw handling.
Parsing presence and availability of the service. Adding possibility to start/stop a video sip gw session.
* Fix comments.
* Adds more jsdoc about create session and renames import to use the filename is imports.