jfinn
00e8a7a52f
ljm5x 1st
vor 4 Jahren
Jaya Allamsetty
a433ca2dbc
feat(stats): Add the ability to enable callStats only on a certain % of conferences
vor 4 Jahren
damencho
43e7c853b8
fix: Fix ws reconnect piling up previd param.
vor 4 Jahren
Jaya Allamsetty
0b258aa4ba
fix: Do not negotiate H264 when E2EE is enabled
vor 4 Jahren
Jaya Allamsetty
79a88d6434
fix(video-quality): make sure the LD stream is enabled even when requested resolution is lower
This should fix the case when camera is started with 1080p and LD simulcast stream's resolution is 270p but the requested resolution is 180p.
vor 4 Jahren
Saúl Ibarra Corretgé
84288bd2a2
e2ee: update comment
vor 4 Jahren
Saúl Ibarra Corretgé
f761413976
e2ee: avoid CORS issues with the worker bundle
vor 4 Jahren
Aaron van Meerten
a3e9f1c39f
fix: update token doc for tenant details, new prosody (#1316)
vor 4 Jahren
Saúl Ibarra Corretgé
735c30ec4f
e2ee: introduce per-participant randomly generated keys
This the second stage in our E2EE journey.
Instead of using a single pre-shared passphrase for deriving the key used for
E2EE, we now establish a secure E2EE communication channel amongst peers.
This channel is implemented using libolm, using XMPP groupchat or JVB channels
as the transport.
Once the secure E2EE channel has been established each participant will generate
a random 32 byte key and exchange it over this channel.
Keys are rotated (well, just re-created at the moment) when a participant joins
or leaves.
vor 4 Jahren
Saúl Ibarra Corretgé
5322ddd6b5
e2ee: use a separate bundle for the worker
Avoid having to use a code blob.
vor 4 Jahren
Saúl Ibarra Corretgé
dfd68d486c
xmpp: log JSON message parsing errors
vor 4 Jahren
Saúl Ibarra Corretgé
80ba679eca
xmpp: only parse JSON messages when they actually exist
vor 4 Jahren
Andrei Gavrilescu
ccaeb9f25f
fix(RTCUtils): system audio share multiple desktop
vor 4 Jahren
Paul Tiedtke
fe7d5a7ebf
fix(RTCUtils): Cannot read property 'find' of undefined
This error happens in getCurrentlyAvailableMediaDevices
vor 4 Jahren
Philipp Hancke
92ea388ce9
e2ee: update for latest chrome changes
see https://bugs.chromium.org/p/chromium/issues/detail?id=1119653
We'll probably do similar renaming in the future.
vor 4 Jahren
Jonathan Lennox
94318fce12
feat: Allows jvb to control DTLS/SRTP protection profile. (#1300)
We're pretty sure it's no longer necessary with JVB2; and it costs
half an RTT in setup, and stops us being able to choose which
DTLS/SRTP protection profile to use.
vor 4 Jahren
bgrozev
65df5b1da6
Enable opus/red for the conference even when the browser doesn't support it. (#1309)
* Enable opus/red for the conference even when the browser doesn't support it.
* squash: Remove unused import
vor 4 Jahren
Boris Grozev
4a98a10630
fix: Only advertise opus-red if the browser supports it.
vor 4 Jahren
Boris Grozev
16fe22e9c9
Advertise support for opus/red.
vor 4 Jahren
Jaya Allamsetty
cc6ea8bc03
fix(video-quality): Fix a typo, max. bitrates are always applied on unified plan clients
vor 4 Jahren
paweldomas
376e5176b3
feat(xmpp): resume the connection when online
The XmppConnection will try to resume the connection
only when the internet is online. This speeds up the process
by avoiding unnecessary connect attempts while offline as each
failed attempt increases the backoff delay.
vor 4 Jahren
paweldomas
9018c34f7a
feat: detect broken XMPP WebSocket using ping
If ping timeouts two times in a row (25 seconds total)
the XMPP WebSocket connection will be killed and restarted.
vor 4 Jahren
paweldomas
d0f0e98714
fix(XmppConnection.connected): check the underlying websocket
..readyState to tell if the connection is connected.
vor 4 Jahren
paweldomas
a14a846fb4
fix(XmppConnection): sendIQ2 pass the 'timeout'
vor 4 Jahren
Jaya Allamsetty
7868a6c185
ref(video-quality): Resolve sender operations when RTCRtpSender/RTCRtpSendParameters are not found.
The constraints are applied again after renegotiation is done. This should mitigate a fail case on Safari when the RTCRtpSendParameters are not available until the simulcast streams are added via SDP munging before sLD is called.
vor 4 Jahren
Jaya Allamsetty
19b350df3c
ref(TPC): Do not add/remove video tracks from TPC for unmute/mute case on Safari.
Only add/remove the tracks from the peerconnection so that the camera led turns off on mute.
vor 4 Jahren
Jaya Allamsetty
837996ef8e
ref(unified-plan): Fix unified plan p2p case.
Configure the encodings on FF after the track is added.
vor 4 Jahren
Jaya Allamsetty
10c6136bd5
ref: Calculate the local video stream height constraints based on the current state
vor 4 Jahren
Jaya Allamsetty
71b867233c
feat(video-quality): Implement max bitrates for video on p2p sessions
Calculate the bitrate based on the sender video constraint applied on the track and the bitrates specified for different resolutions.
vor 4 Jahren
paweldomas
d36d72db48
feat: send conference.left analytics event
...which contains conference duration in seconds and
performance stats (currently long tasks).
vor 4 Jahren
paweldomas
a73de37b2b
feat(chrome|safari): stop the video for maxFrameHeight 0
vor 4 Jahren
paweldomas
902f02af8f
fix(tests): source maps for Karma
vor 4 Jahren
paweldomas
ca6b08a775
feat: restart Jingle session on ICE failed
If ICE fails will set the special request restart attribute
in the 'session-terminate' sent to Jicofo in order to restart
the Jingle session.
vor 5 Jahren
paweldomas
4837f304db
fix(xmpp/Caps): features for a user without caps support
If there's no capabilities version mapping to user's jid
still allow to discover features (that's the case for Jicofo).
vor 5 Jahren
paweldomas
3ac00edfd5
ref(IceFailedHandling): use ping instead of networkInfo
Simplifies the logic for delayed ICE failed event by relying
on XMPP ping instead of the networkInfo module to check
if the internet is online.
vor 5 Jahren
paweldomas
4e940127ce
ref: make XMPP ping feature mandatory
There's a plan for using ping to detect XMPP WebSocket
disconnected instead of waiting for timeouts on the network layer.
This also simplifies ICE failed handling logic.
vor 5 Jahren
Jaya Allamsetty
32008711e2
ref(codec): change the logic for determining the preferred/disabled codecs.
Make 'preferH264' and 'disableH264' as deprecated.
vor 4 Jahren
Jaya Allamsetty
c4c20b9126
ref(sdp): Add a more generic option for codec preference
Use 'preferredCodec' and 'disabledCodec' under videoQuality config.js settings for setting codec preferences.
Do not prefer VP9 on Firefox because of https://bugzilla.mozilla.org/show_bug.cgi?id=1633876 .
vor 4 Jahren
Jaya Allamsetty
24097001aa
ref(sdp): Move all instances of a preferred codec up the list in the SDP
Make sdp munging logic for changing codec preferences more generic
Do not negotiate High profile H264 codecs on when RN clients are in the call
vor 4 Jahren
paweldomas
15a89221bc
fix(TCPUtils): set 'sendrecv' only for the local track
When adjusting transceiver direction only the first one
which corresponds to the local track can be set to 'sendrecv'.
vor 4 Jahren
paweldomas
d562bbc1c4
ref(TPCUtils): don't modify encoding.active
...in setMediaTransferActive. The sender video constraints
are controlling the 'encoding.active' flag and this code
would interfere. It's right now not used anyway as P2P is
disabled in the unified mode. If this modification is
necessary we'll add it back when working on unified P2P
in such a way that will play nicely with the sender constraints code.
vor 4 Jahren
paweldomas
666c1400e0
ref(XMPPEvents): remove PEERCONNECTION_READY
vor 4 Jahren
Jaya Allamsetty
353e5715e2
ref(video-quality): handle promise returned by video quality methods
vor 4 Jahren
paweldomas
acb5ff0ab0
ref(TPCUtils): use getLocalTracks
vor 4 Jahren
paweldomas
fa5daa60f0
ref(TPC): add getLocalVideoTrack
...and remove duplication.
vor 4 Jahren
paweldomas
8979fca85f
fix: crash in Safari on unmute
...when starting without video.
The app would crash in setSenderVideoConstraint,
because the RTP encoding are not available on Safari
until sLD/sRD cycle is performed.
vor 4 Jahren
paweldomas
cc363c5664
ref(RTC): RTCRtpSender.setParameters promise
Handle the promise returned by RTCRtpSender.setParameters.
vor 4 Jahren
paweldomas
84367d8508
ref(TPC): remove unused findSenderByStream
vor 4 Jahren
Christoph Wiechert
b3e67c2a09
Fix: Scale down localVideo which is already smaller than requested resolution
(cherry picked from commit a14b3c80ae )
vor 4 Jahren
damencho
15dcc57424
fix: Fixes setting non moderators to members when lobby is enabled.
vor 4 Jahren