fix(iOS15) fix not being able to unmute if "everyone starts muted" is set
We need to make sure the audio track is added to the JVB connection, or we won't
be able to unmute.
Why this happens is a mystery wrapped in an enigma, it started happening with
iOS 15.
Same thing applies to Safari for macOS.
Fixes: https://github.com/jitsi/jitsi-meet/issues/10104
This is the first step in adding support for multiple
streams per endpoint. Each source(stream?) needs to have
an identifier. For now always generate the 0 index name
until the machinery for sending more than 1 stream is put
in place.
* send only MSID attribute
* add feature flag for source name signaling
* log a msg if source name signaling is enabled
There was an error in the pattern match, everything was included in it. In
addition return a boolean in case we succeed in the UA pattern match, since it's
more correct than returning an array with the match.
fix(JitsiConference):2 instances for the same room
If a second JitsiConference instance for the same room is created we were
throwing an error but some listeners were already attached. This commit
makes sure that we throw the error as soon as possible and no listeners
are added.
Instead of logging the full IQs for Jingle messages like session-initiate, source-add and source-remove which can be very long, log just the formatted source information.
fix(Jingle) Reverse the order of ssrcs signaled for Firefox.
This fixes an issue where the bridge doesn't forward the HD stream from Firefox to other users in the call. The order of the ssrcs produced by the browser is from Highest resolution to lowest whereas the bridge assumes it to be from lowest to highest as is the case in Chrome and Safari.
ref(JitsiConference): don't crash on wrong oldTrack (#1709)
If oldTrack was not previously in the conference this will
lead to a crash in onLocalTrackRemoved where oldTrack doesn't
have `muteHandler` and `audioLevelHandler` listeners defined.
fix(LocalSdpMunger): do not fake video sdp when screen sharing
... is stopped. If there's any sRD/sLD cycle happening
while the screen sharing stops, the local track
returns muted and it was injecting fake video SSRCs
which results in invalid SSRC description.
At the time when it happens there's error log in jicofo:
"Error adding SSRCs from X"
and the client will get bad-request error in response
to the source-add request.
fix(browser-support): Add audio track to pc always on mobile Safari.
On mobile Safari, if a user joins audio and video muted, the browser doesn't decode the incoming audio. Workaround is to always add the audio track to pc and mute it if needed.
* feat: Support plain endpoint ID.
Support the ID of the owner of sources being encoded directly instead of
using the full JID.
* feat: Support JSON-encoded sources.
* feat: Advertise support for JSON-encoded sources.