Calls to insertDTMF will stop any tone
playing in progress. Prevent such by
checking the tonebuffer for any tones
in play and queue tone playing if
any tones are in play.
Apply max bitrate of 500Kbps on desktop streams and set the contentHint attribute on the track to 'detail'. (#992)
Enable/disable this feature using 'capScreenshareBitrate' testing flag in config.js and send analytics
events to Amplitude to indicate which type of screensharing is enabled.
ref(JitsiConference): move sendTones impl to TPC (#983)
Moves sendTones implementation to TraceablePeerConnection. It will be
responsible for creating/storing a DTMFSender. JitsiConference will
use the currently active TraceablePeerConnection to send the tones.
This fixes a bug where DTMF tones can not be sent after
JingleSessionPC/TraceablePeerConnection instance changes.
The JitsiDTMFManager instance was referencing invalid PeerConnection.
fix(JitsiConference): decline P2P offer if should not be in P2P
The client will reject P2P session-initiate if the conditions which
allow for P2P session to start are not met(there more or less than 2
human participants in the call).
We had several reports that googSuspendBelowMinBitrate misbehaves, we had been running for a while with that disabled for the bridge, but it was causing problems and for p2p.
build: exit with an error if bundle sizes increase too much
The currently selected values are a bit above the actual sizes, so if a PR
increases the bundle size enough to trigger the failure, it should bump it.
It better have a good reason for it though!
build: add integration with webpack-bundle-analyzer
Build as follows to build (production) bundle size stats:
npx webpack -p --progress --analyze-bundle
Then open the report:
npx webpack-bundle-analyzer stats.json
fix(JingleSessionPC): no media flowing after ICE restart
If DTLS fingerprint remains unchanged after ice-restart there will be no
media flow even thought the ICE connection will be re-established.
That's because JVB has all layers re-initialized from scratch, but
the WebRTC stack will keep the current state of the DTLS layer.
Reset the DTLS layer by setting an all zeros fingerprint on the hacky
offer/answer cycle which is currently done in order to reset the data
channels and the sequence number counters on the RTP receivers.
Partially reverts 24bda8e and uses domain/roomname to report to cs.
To be sure we always report room name in small case and as mobile and jigasi report this way it will take time for them to adopt which leads to wrong stats.
Refactors the "connection status duration" analytics event. (#957)
This commit refactors 592f72a63c. It adds
the video type in the event and it also does a better job at managing
and properly cleaning up the state map.