The custom MediaStreamTrack provided as videoSource parameter in the Publisher factory functions is now examined by the Stream.isSendScreen() method if it is a screen sharing video track.
Subscribing to start/stop speaking events, the speechEvent object (which is undefined) is trying to invoke to 'on' method. This prevents the correct behaviour of the stop/start speaking events.
Stream.typeOfVideo was a string and cannot be changed into an Enum
without breaking some client applications.
However, it is possible for us to start using an Enum internally, and
exporting this property as a union of strings, which is what is
generated by "keyof typeof Enum".
This method should be the same as the others in regards to checking for valid property.
It seems the extra logic for `isElectron` evaded the correct checking when calling from an incoming stream.
Error reported:
TypeError: Cannot read properties of undefined (reading 'publisherProperties')
```
Simulcast is a per-Publisher configuration that allows to enable
Simulcast senders on the client's PeerConnection of each sender.
Simulcast is a WebRTC feature that sends multiple simultaneous streams
with different video qualities, in order to let the media server decide
which quality is best for which Subscriber on the receiving side.
Enabled by default.
* openvidu-browser: rewrite generateOffer to use Transceivers
Uses Transceivers if these are available in the underlying WebRTC
implementation; otherwise it falls back to the legacy "offerToReceiveX"
config of pc.createOffer()
* openvidu-browser: move Transceiver creation in createOffer/createAnswer
* WebRtcPeer: avoid getter syntax that doesn't compile with old Angular in testapp
* WebRtcPeer: finish rewriting createOffer() & createAnswer() with Transceivers
createOffer() can be used either for sending a "send" or "recv" offer to
the media server; this is needed for the KMS SDP negotiation semantics.
createAnswer() is used when in MEDIASOUP SDP negotiation mode, where the
media server is the one sending an SDP Offer to the browser.