Commit Graph

212 Commits

Author SHA1 Message Date
Bartu Bazna
9f791a8892 Squashed virtual background commits 2021-07-21 20:00:19 +00:00
prlanzarin
0e6a900635 fix(webcams): avoid leaking media streams on webcam profile changes
Fix regression introduced by commit 0ddf02e
2021-07-07 02:54:19 +00:00
prlanzarin
d8dae1ec90 fix(webcams): handle Firefox video stream cleanup edge case
Firefox doesnt fire the ended evt/onended callback for live video mediastreamtracks. That caused the stream storage to not run the cleanup procedure in some scenarios

Manually emit the ended event which works with the onended callback when a track is stopped
2021-07-05 16:26:24 +00:00
prlanzarin
60dd10510c fix(webcams): add fallback labels for devices in video-preview
In cases where fingerprinting protection is so adamant that we are
unable to get device labels

Fixes #9053
2021-07-05 16:03:30 +00:00
prlanzarin
0ddf02e954 refactor(webcams): improve skipVideoPreview handling, add error handling to it
Also organized video-preview a little better overall
2021-07-05 16:03:15 +00:00
prlanzarin
0453e9e842 fix(webcams): reduce number of gUM calls
Shave off the number of calls in video-preview and video-provider by
using a stream storage

We don´t call an upfront gUM in video-preview anymore to lift the
fingerprinting barrier on device labels and IDs. Flow has been reversed:
upfront enumerate, load first preview, then check if previous
enumeration was obfuscated.

Add a stream storage in video-preview`s service to avoid re-fetching
them in video-providerj

Remove some unneeded video-preview container props

Improve some of video-preview`s error locales
2021-07-02 16:13:31 +00:00
Mario Jr
e69421e671 fix: Do not show unsupported browser warning for microsoft edge
This was being shown in both audio in video modal.
Related to #11865.
2021-04-02 15:12:40 -03:00
Ramon Souza
05a0d5afbf move browser info to helper + remove unused libs 2021-04-01 08:14:24 -03:00
Anton Georgiev
85a84f7cbf
Revert "Change browser detection library from browser-detect to bowser" 2021-03-30 13:16:10 -04:00
Ramon Souza
3fa193005b change browser detection lib to bowser 2021-03-30 09:53:47 -03:00
Ramon Souza
78b61103da fix video preview blink when skip preview = true 2021-02-05 14:30:58 -03:00
Ramon Souza
b1cb4435ee introduce userdata-bbb_skip_video_preview_on_first_join parameter 2021-02-04 15:05:48 -03:00
Anton Georgiev
09e6ba8dfd Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-Jan30 2021-01-29 20:58:05 +00:00
Pedro Beschorner Marin
4e370d28ec Add timeout at video's preview modal
Some browsers seem to (occasionally) not return the getUserMedia promise call and the
user gets stuck in this state unable to share her/his webcam.

Since enumerateDevices still works even on a gUM rejection this includes a racing
timeout that skips gUM. Configured at settings `gUMTimeout`.

Reproduced with Windows 10 Chrome 87.
2020-12-22 20:10:19 +00:00
Pedro Beschorner Marin
c8ace18f85 Enumerate devices even if first getUserMedia fails
The first getUserMedia was not supposed to be considered critical to the whole
video preview flow.

Scenarios where the user has multiple media sources and one of them was already
in use or had some malfunction problem were forcing a global skip at the video
preview modal even if one of them was available to be used.
2020-12-22 19:26:28 +00:00
Pedro Beschorner Marin
f6217308dd Refactor video preview getUserMedia preview error handler 2020-12-22 19:26:23 +00:00
Pedro Beschorner Marin
dced6bd2b8 Add missing getUserMedia errors
Collected from https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
2020-12-22 19:25:48 +00:00
Pedro Beschorner Marin
62d491c8e4 Refactor video preview getUserMedia device error handler 2020-12-21 20:54:21 +00:00
CristianSilvaGrosseli
0c4f903c39 use placeholder in the logger.error method return in the video-preview component. fix wrong file permission. 2020-12-21 20:53:56 +00:00
CristianSilvaGrosseli
d8ed8f2570 use correct pattern in video-preview's handleGUMError method. 2020-12-21 20:53:12 +00:00
CristianSilvaGrosseli
ffd1063332 video-preview component's handleGUMError method rehabilitation. 2020-12-21 20:52:15 +00:00
Anton Georgiev
0c7ead1916 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge 2020-10-21 14:48:02 +00:00
KDSBrowne
1dfa2ff2a8 remove string concatenation from webcam profile formatted label 2020-09-24 14:53:21 +00:00
Mohamed Amine Ben Salah
c87d1cacbf adds missing webcam video mirroring data-test 2020-09-21 12:07:57 -03:00
Anton Georgiev
d8b185f2b3 Merge branch 'issue-9219' of github.com:Tainan404/bigbluebutton into locales-total 2020-09-09 19:29:18 +00:00
KDSBrowne
b33b5f3f01 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-remove-css-variable-duplicates 2020-09-01 21:17:25 +00:00
KDSBrowne
77b71a4d1f fix duplicate css variables being loaded (improve imports) 2020-09-01 18:46:13 +00:00
Anton Georgiev
8cc8474655 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 08-26-merge 2020-08-27 19:09:07 +00:00
Tainan Felipe
5bfeab289c Merge remote-tracking branch 'upstream/develop' into issue-9219 2020-08-19 10:41:03 -03:00
KDSBrowne
fbeaf87dbd localize the dropdown values for webcam quality 2020-08-17 16:19:45 +00:00
Anton Georgiev
5be5aed1d9 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2020-08-12 2020-08-12 17:12:58 +00:00
prlanzarin
44b1734b4e video-preview: add the option to hide camera profiles from UI 2020-08-05 16:37:30 +00:00
Pedro Beschorner Marin
7b3505acff Enumerating devices after video preview gUM 2020-08-05 15:06:44 +00:00
Pedro Beschorner Marin
4d5d0ad8b4 Multiple webcams stop all button 2020-08-05 14:23:34 +00:00
prlanzarin
dac3259c48 Merge remote-tracking branch 'pedrobmarin/bbb-multiple-webcams' into upstream-2.2-vpeg-base 2020-08-05 14:20:58 +00:00
Tainan Felipe
e64c0e1c62
Merge branch 'develop' into issue-9219 2020-07-28 13:28:32 -03:00
Anton Georgiev
394ccce435
Merge pull request #8758 from pedrobmarin/multiple-cam-stop-all-button
Multiple webcams stop all button
2020-07-22 09:57:23 -04:00
Pedro Beschorner Marin
526f79e8f2 Merge remote-tracking branch 'bigbluebutton/v2.2.x-release' into bigbluebutton/develop 2020-06-30 18:15:18 -03:00
Anton Georgiev
ec94b0f781
Merge pull request #8888 from pedrobmarin/fix-mod-webcams
Fix webcamsOnlyForModerator
2020-06-30 16:19:15 -04:00
mw781
f4dc8d9d69 Fix critical issue with video-preview arguments
After the code to mirror the video-preview component was added
I noticed that I improperly used the userId property of an undefined
argument as the video-preview does not have a user as a prop. This
commit decouples the logic to verify if the webcam should be mirrored
and whether the webcam belongs to that user. In the latter, we verify
if the user parameter exists and use it in a conditional, otherwise
we simply return true (applies with the video preview component),
where there is only one video stream.
2020-06-15 21:49:00 +01:00
mw781
bf68d2c76f Refactor code and implement mirroring for video-preview 2020-06-14 20:13:47 +01:00
Tainan Felipe
aa668e3f91 Merge remote-tracking branch 'upstream/develop' into issue-9219 2020-05-25 17:05:58 -03:00
Tainan Felipe
db8e7fcd39 Update react-intl and add fallback to unsupported languages 2020-05-25 17:00:13 -03:00
Anton Georgiev
c9e996de21 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop 2020-05-25 17:32:24 +00:00
KDSBrowne
2be89479ba close video preview modal if lock setting active 2020-05-09 17:19:41 +00:00
Pedro Beschorner Marin
362317e8d0 Enumerating devices after video preview gUM 2020-05-08 13:43:29 -03:00
Pedro Beschorner Marin
a2000bf62a Multiple webcams stop all button 2020-03-11 17:01:58 -03:00
Mohamed Amine Ben Salah
ea226420c2 adds single user webcam test spec 2020-03-04 16:00:45 -03:00
Pedro Beschorner Marin
78b0d0276a Avoid multiple cameras sharing in mobile and safari 2019-12-20 17:21:23 -03:00
Pedro Beschorner Marin
ebef3f7a15 Linter things 2019-12-18 14:50:16 -03:00
Pedro Beschorner Marin
8e129fb961 Included multiple cameras UI 2019-12-18 14:44:56 -03:00
Pedro Beschorner Marin
f5d7be7f00 Making the interface functional for the multiple webcams. This must change after thinking on a design 2019-12-10 09:05:03 -03:00
Pedro Beschorner Marin
3b591a086b Unified video providers 2019-12-10 09:02:16 -03:00
Pedro Beschorner Marin
9fcae355c7 joinVideo gets the deviceId 2019-12-10 08:21:22 -03:00
Pedro Beschorner Marin
4eb67c12be Multiple webcams first commit 2019-12-10 08:21:19 -03:00
Tainan Felipe
6e7cdb1f6b Don't skip video preview if called via interface 2019-11-21 14:18:42 -03:00
Tainan Felipe
310f5efb4b
Update bigbluebutton-html5/imports/ui/components/video-preview/component.jsx
Co-Authored-By: Anton Georgiev <antobinary@users.noreply.github.com>
2019-11-20 16:51:14 -03:00
Tainan Felipe
3bc9933960 Remove preview timer 2019-11-20 15:35:16 -03:00
Tainan Felipe
6e9b2da562 Remove auto play component and reuse Video preview gUM 2019-11-20 14:17:42 -03:00
Tainan Felipe
ca144ea73e Add bbb_preferred_camera_profile to user data parameters 2019-11-05 17:23:13 -03:00
Chad Pilkey
782b705f66 limit width of the webcam preview video 2019-10-08 14:16:16 -07:00
Chad Pilkey
6c0358ae90 bitrate only webcam profiles and error handling 2019-09-26 18:28:37 +00:00
Chad Pilkey
def6fe607a fix video preview select box warning 2019-09-06 09:38:08 -07:00
Vitor Mateus
e8f15b97b6 Fix fullscreen edge cases 2019-07-26 13:48:51 -03:00
Vitor Mateus
db1825a15c Code cleanups 2019-07-23 19:24:31 -03:00
KDSBrowne
392aac9857 Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into issue-7137 2019-07-04 18:37:40 +00:00
Anton Georgiev
b74d3d9bb0 correct logger.warning to .warn 2019-07-02 16:54:10 +00:00
Anton Georgiev
3fcb95ab44 log structure {logCode, extraInfo}, comment 2019-06-28 21:45:50 +00:00
KDSBrowne
dbf8938d24 fix chrome on ios blue screen after selecting share webcam / lint issues 2019-06-27 16:02:42 +00:00
prlanzarin
26ae1585e5 Add option to specify bitrate/bw on cameraProfiles 2019-06-13 18:24:54 +00:00
Vitor Mateus
d1b910a558 Fix errors in grid layout 2019-05-27 19:06:52 -03:00
Ghazi Triki
1f6326f7fd Change layout direction for RTL languages.
Update styles for RTL layout.
2019-05-14 14:17:19 +01:00
Anton Georgiev
6ba84740f1
Merge pull request #7418 from KDSBrowne/_summit-modal-close-aria-labels
Add modal title to dismiss / confirm modal btns for screen reader
2019-05-14 08:08:19 -04:00
KDSBrowne
42a79185a0 add modal title to dismiss / confirm modal btns for screen reader 2019-05-08 19:13:05 +00:00
KDSBrowne
3378524fd3 add htmlfor to labels in cam modal / move warnings to top of modals 2019-05-08 15:22:27 +00:00
Chad Pilkey
7095bae71d minor video preview tweaks 2019-05-01 10:36:25 -07:00
Chad Pilkey
4f59580f6b video preview spacing and localized strings 2019-04-30 15:29:30 -07:00
Chad Pilkey
2aeed72c8d refactor video preview media selection 2019-04-30 12:54:56 -07:00
Vitor Mateus
6291493fe2 Merge error fixed 2019-04-23 17:44:04 -03:00
Vitor Mateus
e73246ee0d Merge remote-tracking branch 'upstream/master' into issue-6724 2019-04-23 17:27:04 -03:00
Vitor Mateus
0ade45e8cd Bugs fixes, code Improvements and cleanups. 2019-04-23 17:23:32 -03:00
Chad Pilkey
c6844359de fix outline of disabled buttons and button getting cut off 2019-03-28 15:53:35 -07:00
Chad Pilkey
d12707b14d add modal warnings for edge users 2019-03-28 15:18:22 -07:00
Chad Pilkey
7ade56cb2c fix button outlines and clean up video button and video preview 2019-03-22 15:45:44 -07:00
Gustavo Trott
b09963b013 Change to higher resolution if getUserMedia throw exception 2019-03-14 10:08:13 -03:00
Anton Georgiev
0894788119
Merge branch 'master' into ff-select-webcam-bug 2019-03-12 13:40:08 -04:00
Anton Georgiev
c0c4ce77c2
Merge pull request #6985 from gustavotrott/ios-webcam-list-problem
Change webcam resolution to 640x480 if using iOS
2019-03-11 16:11:58 -04:00
Gustavo Trott
f363b731ba Change hasVideoInput veriable value to boolean 2019-03-11 13:49:15 -03:00
Gustavo Trott
db9511ea53 Change webcam resolution to 640x480 if using ios 2019-03-11 13:33:43 -03:00
Gustavo Trott
15f394355a Stop tracks when close modal preview 2019-03-05 15:13:50 -03:00
Gustavo Trott
3c4998ae6d Disable start sharing button while camera is not selected 2019-02-28 17:22:08 -03:00
Anton Georgiev
25cfe9a8b6 remove undefined style reference 2019-02-14 18:53:57 +00:00
Maxim Khlobystov
b86a990612 Add logCode and build number to log messages 2019-02-01 14:12:06 -05:00
Maxim Khlobystov
6c57677587 Properly use webcamDeviceId from state 2019-01-23 13:45:36 -05:00
Anton Georgiev
0190ef4528 Merge branch 'master' of github.com:bigbluebutton/bigbluebutton into logout-endmeeting-menu 2019-01-17 18:53:32 +00:00
Anton Georgiev
797a485d3e end-meeting removed class variables 2019-01-17 16:33:43 +00:00
Maxim Khlobystov
65522aa272 Make sure the preview video and the dropdown are in sync (set the default preview webcam before displaying the preview video) 2019-01-14 15:18:28 -05:00
Anton Georgiev
ec2349e851
Merge pull request #6341 from BobakOftadeh/fix-modal-structure
Added option to use modal component without header border
2019-01-09 13:53:50 -05:00
Maxim Khlobystov
8edeead3ae Small cleanup 2018-12-20 14:09:19 -05:00
Maxim Khlobystov
50ac81a39d Improve the webcam picker on small screens 2018-12-20 14:04:11 -05:00
prlanzarin
8e7fe4b50b Removed generic camera errors and improved video-preview gUM error handling 2018-12-17 17:45:57 +00:00
Bobak Oftadeh
1c162a9658 Added option to use modal component without header border 2018-12-05 14:49:36 -08:00
Maxim Khlobystov
f29131b7f3 Fix the issue with a weird state of the camera dropdown. 2018-11-16 13:56:39 -05:00
Maxim Khlobystov
f0cb8ffa42 Using client logger for errors caught when switching between cameras in webcam settings modal. 2018-11-16 12:59:15 -05:00
Maxim Khlobystov
1013e967a4 Prevent the webcam settings modal from resizing when switching between cameras. 2018-11-16 12:49:46 -05:00
Maxim Khlobystov
694ba0b4c7 Throwing a toast notification when there is a getUserMedia error on switching between webcams in the preview. 2018-11-15 15:00:11 -05:00
Maxim Khlobystov
3a313ad529 Make sure the video preview and audio modals don't interfere with each other. 2018-11-15 14:38:04 -05:00
Maxim Khlobystov
e819ae2fd2 Make the webcam preview's border rounded 2018-11-14 16:17:44 -05:00
Maxim Khlobystov
6a546fca33 Using the constraints from the configuration file in webcam preview. 2018-11-14 16:12:02 -05:00
Maxim Khlobystov
a2c490f4f6 Stopping the tracks to avoid fetching two cameras at the same time + Making the constraints less restricted 2018-11-07 16:16:36 -05:00
Maxim Khlobystov
91dad9d882 Fixing some linter error 2018-11-07 14:30:36 -05:00
Maxim Khlobystov
90f38561c3 Add Webcam Settings to choose a camera 2018-11-06 18:10:56 -05:00