* ref: Simplifies the logic for handling an incoming jingle session-initiate.
* fix: Don't redundantly log cross region
information under a field name called "label".
* cleanup: Simplifies code. Adds the userAgent as a permanent property
for statistics (so that the client doesn't have to).
* ref: Names the parameter which specifies the name of the event "eventName".
* ref: Extracts event names to AnalyticsEvents.
* ref: Exports and imports constants individually.
* fix: Fixes CONNECTION_TIMES event names.
* ref: Arranges constants alphabetically.
* ref: Adds line breaks.
This is a two part fix:
- In the new gum flow, this.getUserMedia supports promises
and rejections were not getting caught. So change
_newGetUserMediaWithConstraints to be promise based instead
of callback.
- The error name returned from blocked device permissions is
NotAllowedError, as adapter shims PermissionDeniedError
to be NotAllowedError.
fix(audio-output): update sinkIds on load and device list change (#642)
When a mac's default audio output is changed, audio elements
are not being updated with the new default. A default audio
output change in the OS fires a DEVICE_LIST_CHANGED event,
so use that to always update the sinkId.
Also, use wrapAttachMediaStream for newGumFlow to be ensure
the proper sinkId is set on audio elements being coupled
a remote track.
* revert: Reverts be665cbff7.
* ref: Renames "peerjid".
* ref: Refactors the initialization of a peer connection.
* feat: Re-implements the A/B test for the "suspend video" feature.
* squash: Deep copy.
* ref: Renames forceSuspendVideo to abtestSuspendVideo.
feat(1080p): support on chrome >= 61 using adapter (#617)
- Add a new browser check so adapter shim usage can be gated.
- Get track resolution for stats from the track itself to account
for browser resolution fallback logic. Do this only if
we can be sure adapter has shimmed it in.
- Create a new getUserMediaFlow, with RTC being the orchestration
for various RTCUtils calls.
- Remove connection quality stat "resolution" which was being
emitted but not used but listeners.
The default was still 360p if the option was missing from config.js. In
addition, move the logic outside of a browser check, so all browsers get
glorious HD by default.
ESLint 4.8.0 discovers a lot of error related to formatting. While I
tried to fix as many of them as possible, a portion of them actually go
against our coding style. In such a case, I've disabled the indent rule
which effectively leaves it as it was before ESLint 4.8.0.
As new use case for joining a conference without calling GUM has been
added to jitsi-meet enumerate devices should not be delayed. In fact not
only it was delayed, but never called in such case
(getUserMediaStatus.initialized stays false forever).
make audio processing constraints configurable (#491)
* make audio processing constraints configurable
AP: echoCancellation is a "master switch" for disabling all audio processing. set to disableAP=true and stereo=true allows fullband, stereo sound.
AGC: misbehaves with certain 'pre-gained' mics.
HPF: can't hear any effect but it's the last constraint to make configurable.
* Update RTCUtils.js