Lyubo Marinov
4d2a24ba87
[eslint] prefer-spread
8 jaren geleden
hristoterezov
fceb8606d8
fix(eslint): Add no-extra-parens rule
8 jaren geleden
paweldomas
043de48f60
style(RTCUtils): use import
8 jaren geleden
paweldomas
f0d128484d
ref(MediaType): convert to ES6 syntax
8 jaren geleden
Saúl Ibarra Corretgé
fbcf2184d7
Revert "Make sure the minimum resolution is no less than 320 x 180"
This reverts commit 886bc1519d .
Turns out Chrome decides to not choose the maximum possible resolution when
given a range. Oh well!
8 jaren geleden
Saúl Ibarra Corretgé
886bc1519d
Make sure the minimum resolution is no less than 320 x 180
Otherwise Chrome has been seen using a simulcast layer with a resolution of
240 x 135, which can break implementations not supporting odd resolutions, such
as WebRTC on Android.
Related Chrome issues:
* https://bugs.chromium.org/p/webrtc/issues/detail?id=6651
* https://bugs.chromium.org/p/webrtc/issues/detail?id=7206
8 jaren geleden
Ilya Daynatovich
5be6d43539
Unsupported browser (feature)
8 jaren geleden
Ilya Daynatovich
c6518b5724
Indicate in a machine-readable way that WebRTC is not supported either natively or via a known plugin such as Temasys
8 jaren geleden
hristoterezov
c8291bcf2e
ref(Listenable): some classes to use Listenable
8 jaren geleden
hristoterezov
16c4a1fbc5
feat(electron): basic Electron SS support
8 jaren geleden
Boris Grozev
cce6262875
feat: Allows to disable the suspend video
PC constrain via configuration.
8 jaren geleden
Boris Grozev
b3b7e5646c
feat: Enables googSuspendBelowMinBitrate.
8 jaren geleden
Boris Grozev
745bce5ac2
cleanup: Removes legacy PeerConnection constraints.
8 jaren geleden
Boris Grozev
e2845d0907
cleanup: Removes a deprecated constraint.
8 jaren geleden
damencho
279f1344e7
Fixes eslint error about global variable assignment.
8 jaren geleden
Lyubomir Marinov
66b601ec04
Disable Temasys on React Native
Lib-jitsi-meet uses Temasys on Internet Explorer and Safari so it does
not make sense to require its adapter.screenshare.js on React Native,
for example, where it fails anyway.
8 jaren geleden
Domenic Murtari
7d0325fe9d
Set FPS constraints only when video has been requested
8 jaren geleden
Lyubomir Marinov
90ee7e8a54
ESLint
Our JSHint configuration is not extensive and we have excluded multiple
files from linting. Additionally, we have seen JSHint to be unable to
parse newer ECMAScript features such as the object spread operator
(proposal).
On the other hand, we have seen ESLint to beautifully work on React and
React Native source code in addition to ES2015 and later. Introduce
ESLint alongside JSHint as an intermediate step to eventually switching
from JSHint to ESLint.
As our source code does not fully follow even the JSHint rules we have,
it is very difficult to introduce ESLint with many rules. At the
beginning, introduce it with as little rules as possible. Morever,
ESLint is able to automatically fix certain rule offenders so once we
have ESLint merged we can incrementally add new rules while keeping our
commits' modification on as little subjects as possible.
8 jaren geleden
damencho
94427ae0d8
Fixes desktop sharing.
Fixes resolving this when passing function after enabling es6.
8 jaren geleden
Lyubomir Marinov
0e7c83b46a
ES6 for JitsiTrackError
8 jaren geleden
Lyubomir Marinov
6ad10dc442
ES6 for JitsiTrackErrors
8 jaren geleden
damencho
b9fe4a83dd
Skips setting output to element when there is no user selection.
8 jaren geleden
damencho
e8b9199c53
Fixes setAvailableDevices on error, passing no stream.
8 jaren geleden
damencho
587826f19f
Fixes error type when we succeed with one of the media.
Finds correct error when getUserMedia succeed with only one of the audio or video, and the other fails.
8 jaren geleden
damencho
991e4b6c7a
Fixes the availableDevices.
Fixes the availableDevices, to reflect the devices for which we succeeded or failed to obtain stream.
8 jaren geleden
hristoterezov
1aa31587c6
Implements desktop sharing extension external installation
8 jaren geleden
paweldomas
a34e4255e4
Make 'isDeviceListAvailable' a Promise
On Safari/IE we have to wait until the WebRTC stack is
initialized in case the plugin is being installed for
the first time.
8 jaren geleden
tsareg
32b9f91e5f
Introduced JitsiLocalTrack#getCameraFacingMode() method and CameraFacingMode enum
8 jaren geleden
tsareg
06cf23ff61
Better JitsiTrack#dispose() method to prevent memory leaks
8 jaren geleden
damencho
421483fc73
Removes getVideoId and getVideoSrc as no longer used by tests.
8 jaren geleden
damencho
0322825701
Reports initial device list and subsequent device changes to callstats.
9 jaren geleden
tsareg
e2860d55bf
Changes after code review
8 jaren geleden
tsareg
88f5b6be45
Init "currentlyAvailableMediaDevices" var for the first enumerateDevices() and don't fire event in this case
9 jaren geleden
tsareg
78cf3eabed
Don't mix old and new-style for gUM constraints for Opera also
9 jaren geleden
tsareg
4a6e28f416
Don't mix old and new-style for gUM constraints for Chrome, as it falls with TypeError in new Chrome versions
9 jaren geleden
tsareg
1877fc5447
Fixed comment
9 jaren geleden
tsareg
c320713411
Add ability to pass facingMode as option to JitsiMeetJS.createLocalTracks
9 jaren geleden
Lyubomir Marinov
9615aadfb3
Reduce the dependency on HTML elements
Since React Native doesn't have HTML elements, depend on HTML element
properties and don't necessarily depend on them being properties on
actual HTML elements but rather assume plain JavaScript objects.
9 jaren geleden
tsareg
5e4aa82cad
Report DOMException when audio output device change fails as gUM error to callstats
9 jaren geleden
tsareg
52c5444af0
Prefer front camera for all platforms
9 jaren geleden
Lyubomir Marinov
6555cd2337
Simplify source code
9 jaren geleden
hristoterezov
7499423fed
Move Temasys-specific attach to its existing execution branch
9 jaren geleden
tsareg
740f152958
getUserMedia: prefer the "user" camera if we have not specified the exact device id for mobile devices
9 jaren geleden
Lyubomir Marinov
3c3e77a607
Support React Native's MediaStream and its id
The react-native-webrtc implementation that we use on React Native (at
the time of this writing) provides a MediaStream (class) which:
- has no standard constructors but rather has a non-standard
constructor which requires a single argument that represents the id of
the MediaStream instance to initialize, and
- has an id value of type number rather than the standard string.
9 jaren geleden
Lyubomir Marinov
026c1b2f72
Define React Native as a type of browser
9 jaren geleden
tsareg
dae37beefd
Changes after code review
9 jaren geleden
tsareg
cbe024acb4
Re-wrap error received in try/catch block when calling GUM in order to provide more details on error, like what devices and constraints were used during the call
9 jaren geleden
tsareg
8273d5108c
Store additional "devices" array in JitsiTrackError for GUM errors and minor bug fixes and changes
9 jaren geleden
tsareg
403fcb0e25
Handle cases when new media devices are added/removed more precisely and more predictable
9 jaren geleden
tsareg
e4beb895d8
Log warning instead of error for audio output device change errors
9 jaren geleden