Commit Graph

970 Commits

Author SHA1 Message Date
Anton Georgiev
1e038e7855
Merge pull request #14732 from frankemax/hide-webcam-info-small
feat(video): hide webcam container info depending on container size
2022-04-27 11:16:56 -04:00
Max Franke
9392669cd8 feat(video-list-item): prevent undefined observer
Add extras checks to observer related values
Move the video container width bound to a const
2022-04-27 11:48:14 -03:00
Lucas
2db9a1b343
Merge branch 'develop' into develop-bbb 2022-04-26 15:08:43 -03:00
Anton Georgiev
9a8264ec6c
Merge pull request #14736 from prlanzarin/u25-wave-idea3
feat(audio): local echo test and audio energy meter
2022-04-14 17:07:28 -04:00
Lucas Zawacki
378d0f18a0 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into develop-bbb 2022-04-14 18:48:02 +00:00
Lucas Zawacki
83847a21aa Merge branch 'v2.5.x-release-Layouts' of github.com:lfzawacki/bigbluebutton into develop-bbb 2022-04-13 21:08:32 +00:00
Max Franke
c01c778a2e feat(video): hide webcam stuff when squeezed
Hide the default buttons when video container is too small.
Groups the functionality of other buttons into just one button.
2022-04-11 18:48:17 -03:00
prlanzarin
d6c7f23a0e feat(audio): local echo test and audio energy meter
New features:
  - A simplified echo test mode that only does a local loopback (instead of
  going to FS and back)
  - A volume meter for microphone streams to the AudioSettings view

Those two features are experimental and disabled by default; see
public.app.media.simplifiedEchoTest and public.app.media.showVolumeMeter configs

Collateral changes:
  - fix: localize fallback device strings in AudioSettings/DeviceSelector
  - Refactor on some media stream utils to be re-usable across components
  - Refactor in AudioSettings to keep gUM #uses stable.
    * TODO: need to pass streams through AudioManager to avoid the surplus gUM.
  - fix(audio): drop ScriptProcessorNode usage (deprecated)
    * Used in volume meter for tracking - use hark instead
2022-04-11 19:21:56 +00:00
Anton Georgiev
0275b8710b
Merge pull request #14787 from Arthurk12/camera-cancellable-button-2.5
refactor(webcam): cancellable button
2022-04-11 10:17:50 -04:00
Ramon Souza
1c873bd8d6 Merge remote-tracking branch 'upstream/v2.4.x-release' into merge-2425-apr08 2022-04-08 17:30:21 -03:00
Arthurk12
f2d5e7af2c refactor(webcam): cancellable button
Makes it possible to cancel webcam sharing while connecting.
Simplifies button state logic.
2022-04-08 18:54:47 +00:00
Anton B
6eead03fb3 set dynamic steps by current settings 2022-03-29 10:53:07 -03:00
Anton Georgiev
29f5947e21
Merge pull request #14590 from frankemax/refactor-video-list-item
refactor(video-list-item): hookify and reorganize component
2022-03-28 11:53:25 -04:00
Max Franke
e45deb5e7e refactor(video-list-item): hookify and reorganize component 2022-03-24 13:29:13 -03:00
prlanzarin
4ae5c70248 feat(video): add flag to disable quality change exemptions (floor, pin) 2022-03-14 11:58:53 -03:00
prlanzarin
ccbb6c6651 fix(video): add debounce and option to exclude constraints from dynamic camera profiles
Tries to mitigate too-rapidly-switching camera profiles causing video freezes
due to encoder resets. Excluding constraints might not help a lot since
the thing that actually restarts the encoder is the bitrate change, but
they're not really important in the context of dynamic profiles.
We can't get rid of bitrate changes, though, since it's what does the actual
quality constraining.

The camera profile change debounce timer is 2.5s by default (which is
the same timer used for floor changes).

Also fixed an issue with camera profile backfiring due to badly defined peers
2022-03-14 11:56:48 -03:00
Pedro Beschorner Marin
5cd2b0b635 Merge remote-tracking branch 'bigbluebutton/v2.5.x-release' into f-v-amccc 2022-03-10 12:25:17 -03:00
Ramón Souza
ae5e116e16 Merge remote-tracking branch 'upstream/v2.4.x-release' into merge-24-25-mar09 2022-03-09 20:40:07 +00:00
Pedro Beschorner Marin
6ff1d680d9 feat(video): add meeting camera cap control
Include `meetingCameraCap` API param on create and enforce both server and
client to control the number of simultaneous webcams a meeting can have.

Disabled by default.
2022-03-07 09:36:55 -03:00
Pedro Beschorner Marin
ea35f4f598 fix(video): respect disabled cap
User's camera cap should be disabled when set to zero but the UI control
wasn't respecting this configuration.
2022-03-04 15:20:27 -03:00
Anton Georgiev
5f884f6674 Merge remote-tracking branch 'bbb/v2.4.x-release' into merge-24-into-25 2022-03-03 18:35:05 +00:00
Lucas Zawacki
1180f4edf1 bug(layout): Guarantee right size for focused video 2022-02-25 15:05:34 -03:00
Lucas Zawacki
8d6931f656 feature(layout): Add focused camera to layout context 2022-02-24 14:22:00 -03:00
Pedro Beschorner Marin
e8ff5ebdc8 feat(video): add user camera cap control
Include `userCameraCap` API param on create and enforce both server and
client to control the number of simultaneous webcams an user can share.

Default set to 3.
2022-02-22 13:13:48 -03:00
Joao Victor
6b923a1279 Fix button chevron and webcam selector 2022-02-21 17:40:00 -03:00
Ramón Souza
1d1375b3cf move modal component to common folder 2022-02-15 15:54:55 +00:00
Ramón Souza
fa7af8fe27 move menu component to common folder 2022-02-15 15:38:55 +00:00
Ramón Souza
96900ee6a3 move icon component to common folder 2022-02-15 14:51:51 +00:00
Ramón Souza
0377854b98 move fullscreen-button component to common folder 2022-02-15 14:42:02 +00:00
Ramón Souza
246e3b3e8f move button component to common folder 2022-02-14 20:20:50 +00:00
Ramón Souza
dba04834c7 Merge remote-tracking branch 'upstream/v2.4.x-release' into 2524-feb08 2022-02-09 15:52:42 +00:00
Anton Georgiev
417744515a
Merge pull request #14273 from ramonlsouza/restore-button-css
fix: restore hover/focus button styles
2022-02-03 15:24:50 -05:00
Ramón Souza
cdb6e2e652 restore hover/focus button styles 2022-02-03 19:45:51 +00:00
Anton
7d5325d0dd improves some selectors and function calls 2022-02-02 21:05:26 -03:00
Anton
b85b3b7ca0 add lock viewers tests 2022-01-28 16:52:22 -03:00
Ramón Souza
16cd3c4ebb Merge remote-tracking branch 'upstream/v2.4.x-release' into dev-24-0125 2022-01-25 16:56:52 +00:00
Anton Georgiev
116b99e469
Merge pull request #14159 from antonbsa/tests-reorganization-and-fix-selectors
test: Improves organization, fixes selectors and adds/improves tests
2022-01-25 08:54:32 -05:00
Paulo Lanzarin
37de82af7f
Merge pull request #14102 from prlanzarin/u24-echo-tomsk
fix(webcams): add extra error handling to pub/sub peer callbacks
2022-01-21 14:13:02 -03:00
Anton
7f075be033 fix all test selectors 2022-01-20 10:03:18 -03:00
Joao Victor
3b9d0320b7 Add missing parameter 2022-01-19 11:29:22 -03:00
Joao Victor
a1e1077580 Fix initial video direction (mirrored or not) on video dock 2022-01-19 09:58:10 -03:00
prlanzarin
17b8499ce4 fix(webcams): add extra error handling to pub/sub peer callbacks
video-provider is a race-condition prone mess and those callbacks were missing try-catches so eventual failures would bubble up as uncaught errors and not be logged properly

It`s worth mentioning that due to a number of tangential design failures in that component, 90% of the errors generate are, to the end user, invisible false positives. Thus: expect an increase in false-positive errors logs with this
2022-01-14 15:48:03 -03:00
Arthurk12
5dce39f8bf fix(webcam): unresponsive camera button on mobile
Makes clicking the camera button always open the video preview modal
when a camera is already shared on a mobile endpoint even when
skip_video_preview is true.
This allows mobile users to change virtual backgrounds.
2022-01-13 17:54:57 +00:00
Arthurk12
9c571dcc82 fix(webcam): unresponsive webcam selector button
Video preview modal opens when user clicks on the webcam selector
button/chevron even if the client is set to skip video preview
(userdata-bbb_skip_video_preview=true).
2022-01-12 19:25:35 +00:00
Ramón Souza
f6e65f58c5 merge 2.4 into develop and resolve conflicts - partial 2022-01-12 16:40:45 +00:00
Anton Georgiev
0ea6b4151e
Merge pull request #13880 from frankemax/username-long-video-item
fix(video): webcam video username dropdown
2022-01-07 15:55:51 -05:00
prlanzarin
3720ca722b fix(webcams): fix client crash on camera user ejection
Added extra proptypes validation to video-list-item

Made sure to add extra ?. checks to voiceUsers as well because... who knows?

Removed unused user role prop from video-list-item
2021-12-23 11:52:25 -03:00
Max Franke
7e2a3c3bca feat(webcams): client side implementation of webcam pin 2021-12-21 16:58:39 -03:00
prlanzarin
0ac4148f80 fix(webcams): keep base peer object in component, fix viewers randomly failing
The base peer object reference was moved from the component to service for _reasons_

That caused an issue where the component lifecycle would mess up that
centralized reference dictionary on certain conditions. That could cause viewing
sessions to fail intermittently

This reverts the location of the base dictionary reference back to
video-provider/component
2021-12-16 12:13:20 -03:00
Anton Georgiev
c6852987bc
Merge pull request #13869 from prlanzarin/u24-ill-harmonics
feat(webcams): exclude voice floor holder from camera quality limiter
2021-12-15 13:36:48 -05:00
Ramón Souza
d1c516fef6 resolve html5 conflicts 2021-12-10 21:07:35 +00:00
prlanzarin
ca7fdee11e fix(webcams): bad reference to enableWebcamSelectorButton 2021-12-09 21:50:38 +00:00
Anton Georgiev
797fc49633 TEMP 2021-12-09 20:37:05 +00:00
Max Franke
166dac09a3 fix(video): webcam video username dropdown
Fix a problem that username in video container isn't wrapped if it's too long.
Fix a problem that can cause the audio indicator to disappear.
Fix some problems with the overflow property.
Refactor in css for the talking indicator be more centralized
2021-12-09 14:25:16 -03:00
prlanzarin
67ec798758 feat(webcams): preserve floor holder's original camera profile 2021-12-08 22:53:16 +00:00
Ramón Souza
d11c6b69f8 use prefixed fullscreen event for safari 2021-12-06 12:18:23 +00:00
Anton Georgiev
def60fbcbc
Merge pull request #13818 from prlanzarin/u24-lift-wsb
feat(webcam): add a way to re-open video preview without multiple cameras
2021-12-02 17:26:23 -05:00
prlanzarin
fa64708e87 fix: tackle fallout from lifting a handful of dislocated changes 2021-12-02 18:57:25 +00:00
prlanzarin
da6ab02122 chore: add forceRelayOnFirefox option (false by default)
- forceRelayOnFirefox: whether TURN/relay usage should be forced to work
around Firefox's lack of support for regular nomination when dealing with
ICE-litee peers (e.g.: mediasoup).
  * See: https://bugzilla.mozilla.org/show_bug.cgi?id=1034964
- iOS endpoints are ignored from the trigger because _all_ iOS browsers
  are either native WebKit or WKWebView based (so they shouldn't be affected)
2021-11-30 20:31:12 +00:00
Max Franke
32aa4349b0 feat(video): remove video button warning
Changes the EmojiButton implementation on videoButton to not be a descendant
of <button>, avoiding the warning.
2021-11-26 13:43:07 +00:00
prlanzarin
fc01544d87 fix(webcams): disable webcam selector and always open video-preview in mobile envs 2021-11-26 13:19:20 +00:00
prlanzarin
23c49902a0 fix(webcams): always unshare cameras if video selector is active 2021-11-26 13:14:40 +00:00
Mario Jr
54bda21287 chore(video): change default setting to enable webcam's button selector
Renamed this setting and added some docs about it
Complements #979
2021-11-26 13:12:07 +00:00
Max Franke
310add10ed feat(webcam): add a little button to webcam button
Add the <ButtonEmoji/> to the webcam button. Now it
is possible to change the webcam settings and change
your settings without having to turn off sharing.
Modifies the <ButtonEmoji/> component so that it can
receive an onClick per props.
It is possible to disable this feat in the settings.yml
2021-11-26 12:53:11 +00:00
Anton Georgiev
5162b4c403
Merge pull request #13679 from JoVictorNunes/issue-13241
fix: virtual background not kept when switching from breakout to main room
2021-11-19 15:11:21 -05:00
prlanzarin
13eb9fe702 refactor(webcams): re-use lock check from video-provider in video-preview 2021-11-19 18:23:17 +00:00
João Victor
6524f70941 support for storing multiple virtual backgrounds 2021-11-19 08:10:24 -03:00
Anton Georgiev
542db847ff
Merge pull request #13574 from Tainan404/smooth-reconnection-25
Improve data structure to not break on reconnections
2021-11-17 15:55:21 -05:00
Ramón Souza
4207502db1 remove unused imports/exports 2021-11-17 12:26:26 +00:00
Joao Victor
77c32a6391 fix: virtual background not kept when switching from breakout to main room 2021-11-11 11:33:55 -03:00
Ramón Souza
c2f1ec7456 Merge remote-tracking branch 'upstream/develop' into styled-components-8 2021-11-08 14:00:20 +00:00
Ramón Souza
d4f2f7319b convert menu component and instances 2021-11-05 19:59:01 +00:00
Tainan Felipe
f5eef03f3f Improve data structure to not break on reconnections 2021-11-03 14:37:54 -03:00
Ramón Souza
b989fa1840 convert video-list component 2021-11-03 14:34:03 +00:00
Ramón Souza
53575aaf98 convert video-provider video-list component 2021-11-03 13:44:34 +00:00
Ramón Souza
eefa3e6492 convert video-provider video-button component 2021-11-03 13:06:18 +00:00
Ramón Souza
0091134326 convert video-provider many-users-notify component 2021-11-03 12:58:13 +00:00
Anton Georgiev
24d672a832 Merge branch 'v2.4.x-release' of github.com:bigbluebutton/bigbluebutton into merge-24-dev 2021-10-14 15:13:17 +00:00
Tainan Felipe
1de8e0779d Add server side reactivity to publications 2021-10-13 15:00:52 -03:00
prlanzarin
1cb412529d feat(webrtc): add EXPERIMENTAL option to disable ICE candidate signaling
ICE lite servers (eg mediasoup) dont need candidates signaled out-of-band; neither does KMS in certain scenarios

Disable their signaling saves us some ticks in bbb-webrtc-sfu and some bandwidth all around
2021-09-24 17:24:06 +00:00
Anton Georgiev
ab845b3078 Merge branch 'v2.4.x-release' of github.com:bigbluebutton/bigbluebutton into merge-24-rc-1-into-dev 2021-09-22 15:28:13 +00:00
Vitor Mateus De Almeida
0aab062c2d add margin on L/R buttons in RTL languages 2021-09-15 16:07:52 -03:00
Vitor Mateus De Almeida
c47cf21ba2 place both buttons at the bottom of the video dock when cameras are vertically positioned 2021-09-15 09:13:17 -03:00
KDSBrowne
be3bd85bca add group role | aria-label to virtual bg list | cam dropdown activate via keyboard 2021-09-14 01:50:24 +00:00
Ramon Souza
098826c70a rename layout functions 2021-09-10 17:48:52 -03:00
Ramon Souza
1854911080 add use-context-selector to containers - partial 2021-09-09 17:49:15 -03:00
Anton Georgiev
b0fc38ef42
Merge pull request #13131 from prlanzarin/u24-tapowerline
fix(webcams): check for component state after peer creation
2021-09-02 10:15:18 -04:00
prlanzarin
a7d549d1e3 fix(webcams): check for component state after peer creation
There could be a race condition where a peer creation (async) would resolve after the provider was unmounted

That would lead to a state inconsistency which could generate all sorts of cryptic problems
2021-09-01 19:13:22 +00:00
Anton Georgiev
47865cf2a2
Merge pull request #13125 from ramonlsouza/remove-unused-state
refactor: remove unused state properties
2021-09-01 14:28:17 -04:00
Ramon Souza
15939addf7 restore camera unfocus label 2021-09-01 14:08:51 -03:00
Ramon Souza
5679710e7d restore video-provider state and add comment about why it is needed 2021-09-01 09:23:39 -03:00
Ramon Souza
084d80f23e remove unused state properties 2021-09-01 08:48:46 -03:00
prlanzarin
58a8e99195 feat: add media server configuration via metadata
Applies to video, listen only and screen sharing

New metadata values: media-server-video, media-server-listenonly, media-server-screenshare; parameter is a String
2021-08-31 00:39:45 +00:00
prlanzarin
c741cea715 feat(video): add media server adapter config for cameras in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by cameras; server wide
2021-08-31 00:30:06 +00:00
Anton Georgiev
4ecb24b4fa Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-aug30 2021-08-30 18:11:16 +00:00
Anton Georgiev
e6eebfaa81
Merge pull request #12983 from prlanzarin/u24-fantas
refactor(webcams, screenshare, listen-only): let the server generate subscriber offers
2021-08-24 16:37:44 -04:00
Ramon Souza
4c381a5805 remove unused imports/variables 2021-08-24 13:24:48 -03:00
Mario Jr
00e01c1872 add screenshare's peer information to video stats in connection status modal
Added support for getStats in screenshare's service. This works similar
to the getStats for video provider, and the information retrieved from
screenshare is added to the video information for cameras.
2021-08-23 12:36:01 -03:00
Mario Jr
148704cdec fix docs for getStats in audio and video services 2021-08-23 11:07:12 -03:00
Ramon Souza
5ed9639601 remove focus state if camera is unshared 2021-08-19 14:31:02 -03:00
Mario Jr
631e8fce4b Get stats for video connection
We now retrieve update information about active video peers, and calculates
download and upload rates. These rates are the sum of data transfered in
all video peers.
Screenshare stats is not being added to the sum, yet.
2021-08-13 17:24:44 -03:00
Anton Georgiev
773e8385af
Merge pull request #12970 from KDSBrowne/bbb-remaining-menus
Update Dropdowns To Menus
2021-08-12 14:38:04 -04:00
Ramon Souza
84b1651302 Merge remote-tracking branch 'upstream/develop' into issue-12953 2021-08-11 16:38:13 -03:00
Ramon Souza
53d0b8b949 exit fullscreen when component is unmounted 2021-08-11 13:19:24 -03:00
Ramon Souza
2b9d5b2d5d recalculate cameras grid when the number of streams changes 2021-08-11 10:25:20 -03:00
KDSBrowne
d9f9a94a7a Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into bbb-remaining-menus 2021-08-11 02:44:51 +00:00
KDSBrowne
3663290397 update public chat / video list item dropdown to menu 2021-08-11 02:44:34 +00:00
prlanzarin
74c6f1b6f8 refactor(webcams): let the server generate subscriber offers
Let the server generate subscriber offers so that it becomes easier for us to
do payload type normalization between publishers and subscribers

Also split peer creation for pubs and subs into separate methods for clarity
2021-08-10 17:31:45 +00:00
Vitor Mateus De Almeida
145ca61d40 linting some files 2021-08-09 11:24:02 -03:00
Vitor Mateus De Almeida
1b18977eac rename all NewLayout.. to Layout.. 2021-08-05 08:03:24 -03:00
Vitor Mateus De Almeida
09082734c9 remove old media, webcam draggable and panel components 2021-08-05 04:26:03 -03:00
Vitor Mateus De Almeida
abf089ae73 remove layout manager legacy 2021-08-05 01:22:07 -03:00
Anton Georgiev
6fc47676b3
Merge pull request #12867 from ramonlsouza/hidden-webcam-pagination
fix: pagination buttons appearing when camera dock is hidden
2021-07-30 15:38:22 -04:00
Ramon Souza
8c038f1187 do not display pagination when camera dock is hidden 2021-07-29 16:09:34 -03:00
Ramon Souza
41a8bc48bf Merge remote-tracking branch 'upstream/develop' into webcam-margin-new-lm 2021-07-29 09:36:07 -03:00
Anton Georgiev
9671c32f97
Merge pull request #12846 from ramonlsouza/rtl-new-layouts
fix: RTL issues - new layouts
2021-07-29 08:26:56 -04:00
Ramon Souza
103922b010 fix smart layout margin 2021-07-28 17:13:45 -03:00
prlanzarin
b190f74009 refactor(virtual-backgrounds): remove camera effect toggle (video-list) 2021-07-28 13:37:40 +00:00
Ramon Souza
07a2db6265 Merge remote-tracking branch 'upstream/develop' into rtl-new-layouts 2021-07-27 16:25:15 -03:00
Ramon Souza
8c95520aee fix fullscreen camera position 2021-07-27 09:02:00 -03:00
Ramon Souza
ee56199607 fix fullscreen camera legacy layout 2021-07-27 08:17:26 -03:00
Anton Georgiev
a37843d2a7 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge238-into-24 2021-07-23 17:09:18 +00:00
prlanzarin
8b48de561b fix(webcams): avoid leaving dangling HTMLMediaElements in paused state
Should fix an issue with the recent Chrome 92 intervention that limits
the number of concurrent WebMediaPlayers (an inner element of
HTMLMediaElements) to 75/40.

Webcam video elements were being left dangling in paused state despite
the elements themselves being cleaned up from the component. That
generated a skewed accounting of WebMediaPlayers in the session.
2021-07-23 02:24:47 +00:00
prlanzarin
9071ba8bc4 refactor(virtual-backgrounds): re-organize virtual background code
Changes (maybe not a complete list):
  - Disable virtualbgs by default
  - Move the virtualbg selector in video-preview to the side below the
profile selection
  - Restore old video-preview sizes
  - Add a wrapper class for MediaStreams (BBBVideoStream)
  - Centralize virtualbg services and business logic code into BBBVideoStream
  - Refactor and centralize virtualbg constant fetching
  - Refactor and centralize virtualbg config fetching
  - Organize virtualbg type definitions
  - Remove added states in video-provider to prevent further bloat
  - Remove added states in video-preview to prevent further bloat
  - Lock virtual bg switching while video-preview itself is locked
  - Add proper virtualbg error surfacing via toasts
  - Refactor iOS availability detection to use centralized UA checker
  - Avoid calling gUM when toggling virtualbgs on/off
  - Make virtualbg video-list-item action a toggle instead of a
state-aware action
  - Make virtualbg switching work in video-preview for cameras that are
already shared. Especially useful when there are multiple source
cameras, and will be important in the near future
  - Add Derivative Work notices in files that are partially copied from
jitsi-meet
  - Simplify track replacing in video-provider
  - Split video-preview UI code for virtualbgs into a separate functional component
2021-07-22 18:53:42 +00:00
Bartu Bazna
9f791a8892 Squashed virtual background commits 2021-07-21 20:00:19 +00:00
Anton Georgiev
472c9a6107 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into 237-into-develop 2021-07-20 15:21:21 +00:00
Vitor Mateus De Almeida
f0145e001e Add resizable and draggable in cameras dock
Remove settings and change resizable context data

Add resizable draggable drop areas in cameras dock
2021-07-13 04:25:03 -03:00
Anton Georgiev
36595c7375
Merge pull request #12729 from ramonlsouza/fullscreen-camera
feat: fullscreen cameras and screenshare in new Layout Manager
2021-07-12 14:33:35 -04:00
prlanzarin
15bd0b6087 fix(webcams): add error feedback when media is ejected by the server
Closes #12732
2021-07-08 15:10:22 +00:00
Ramon Souza
a281aeb11d fix unlocked viewer webcam 2021-07-07 14:00:47 -03:00
Ramon Souza
21eea858c1 code format 2021-07-06 11:17:00 -03:00
Ramon Souza
8bf637129b fullscreen camera 2021-07-06 11:05:15 -03:00
Pedro Beschorner Marin
6264caccd9
Merge pull request #12700 from prlanzarin/u24-gum-store
Webcams: reduce number of gUM calls, refactor in video-preview, fix #9053
2021-07-05 14:13:36 -03:00
Anton Georgiev
4bcf7c467d
Merge pull request #12674 from ramonlsouza/rm-unused-code
refactor: remove unused variables
2021-07-02 14:33:20 -04: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
Ramon Souza
d8e19dbd9f remove unused variables 2021-06-28 08:20:49 -03:00
Vitor Mateus De Almeida
3599577463 Fix camera calcs
Fix camera calcs 2
2021-06-25 17:57:19 -03:00
Vitor Mateus De Almeida
3a281adab5 Remove background and commented code
Revert linting
2021-06-22 14:04:56 -03:00
Vitor Mateus De Almeida
6469b68d45 Add webcams component on new Layout Manager 2021-06-21 17:16:59 -03:00
Pedro Beschorner Marin
068b82b1fa refactor(connection status): remove legacy monitor
Remove parts of a previous connection monitor.

To add some context (as far as my memory goes) to the multiple connection
monitor features the product has, `stats` (currently named `connection status`)
was introduced at the Flash client back in ~2016. @fcecagno and I did it
as a BigBlueButton's Summit activity. Our work was squashed into a single
commit in 92554f8b3e :).

I'm not sure about the whole story behind `network information` (the late
connection monitor added to the HTML5 client) but I assume it should work
as a collector for a bunch of different connectivity monitors. I remember
when it was introduced but I don't know why it wasn't adopted. My best guess
would be because of some performance issues the `user list` had back then.

To follow on why `connection status` replaced `network information` at the
HTML5 client, when I did the `multiple webcams` feature I had to refactor
a big chunk of the `video provider` (#8374). Something that wasn't really
helping there was the adaptation of `stats` that was made to show local
feedback for each webcam connection. Although this feature wasn't being
used anymore, `network information` did rely on that to build up data. With
this monitor gone I assumed it was my responsibility to provide an alternative
so I promoted Mconf's port of the Flash `stats` monitor to BigBlueButton's
HTML5 client (#8579).

Well, that's my perspective on how things went for those features. If
anyone would like to correct me on something or add something else on
that history I would appreciate to know.
2021-06-13 14:02:46 -03:00
Anton Georgiev
78385ab3ea
Merge pull request #12569 from pedrobmarin/f-v-ds
feat(video): data savings
2021-06-12 16:59:38 -04:00
Arthur
78047eb68e feat(video): data savings
Enable video sharing when data savings is activated.
2021-06-12 14:16:32 -03:00
Max Franke
8b274476b1 feat(video): indicate who is sharing webcam
Add the `camera` icon in the user list for whoever is sharing,
in order to improve the understanding of who is sharing the webcam.
It is possible to enable/disable this indication in the settings.yml
2021-06-12 13:40:47 -03:00
Arthur B. Grossi
bf62857ca7 fix(video): talking indicator
Shows video talking indicator even if the video isn't ready
2021-06-06 15:24:39 -03:00
Tainan Felipe
baf7afc883 Decrease amount of imports in dropdown 2021-05-31 15:28:27 -03:00
prlanzarin
61cb8457d6 fix(video): check if encodings array is empty before trying to apply bitrate 2021-05-12 19:42:07 +00:00
prlanzarin
d707048c56 fix(video): remove unused floorStream variable 2021-05-12 19:26:26 +00:00
prlanzarin
1686225748 fix(video): check if pagination is in effect before choosing sort 2021-05-04 16:34:02 +00:00
Ramon Souza
75b9261f6f remove unused imports/variables 2021-04-22 13:17:20 -03:00
prlanzarin
001ab9554c video: added voice activity stream sorting, made stream sorting extensible
Video streams can be sorted by voice floor activity in the client according to FreeSWITCH´s floor events. The feature works together with pagination, essentially giving an Last-N like experience while not disrupting too much

Made video stream sorting extensible in a way. The sorting modes for pagination and unbounded can be configured in settings.yml and new sorting modes can be added to the stream sorting util under video-provider. Inline docs explain how to do that

Changed how the stream ID attribute from video-streams collection was passed to downstream components; we had an array map that was executed every change just to map stream to cameraId, which is bizarre. So I changed the cameraId usage in downstream components to be conformat with the collection attributes and shaved off the map where it wasnt needed

Add better selectors to video-list-item container´s VoiceUser fetch
2021-04-12 19:06:07 +00:00
Ramon Souza
369aa50836 fix mobile video dropdown 2021-04-01 11:28:20 -03:00
Ramon Souza
05a0d5afbf move browser info to helper + remove unused libs 2021-04-01 08:14:24 -03:00
Ramon Souza
9218262e0a all device info moved to helper 2021-03-31 14:13:36 -03:00
Anton Georgiev
85a84f7cbf
Revert "Change browser detection library from browser-detect to bowser" 2021-03-30 13:16:10 -04:00
Anton Georgiev
027658ac5c
Merge pull request #11806 from ramonlsouza/mobile-detect
Change browser detection library from browser-detect to bowser
2021-03-30 12:28:13 -04:00
Ramon Souza
3fa193005b change browser detection lib to bowser 2021-03-30 09:53:47 -03:00
Ramon Souza
40632c2211 adding comments on magic numbers 2021-03-29 14:09:26 -03:00
Ramon Souza
d97ffa954c fix mobile video dropdown size 2021-03-29 13:46:50 -03:00
Ramon Souza
4a761f923f adding comment about canConnect 2021-03-26 17:43:19 -03:00
Ramon Souza
5fe5705ac0 auto-reconnect webcam after leaving breakout room 2021-03-26 16:54:58 -03:00
Ramon Souza
050844c275 fix client crash when user is sharing video 2021-03-19 14:26:06 -03:00
Anton Georgiev
51c7ea4ff3
Merge pull request #11678 from ramonlsouza/active-mic-webcam-icon
Show unmuted microphone in video
2021-03-17 15:34:00 -04:00
Ramon Souza
1b8d6a0fab show unmuted microphone in video 2021-03-17 16:26:31 -03:00
prlanzarin
0a0a4b4915 video-provider: add dynamic video page sizes based on number of users
New config called paginationThreshold defines classes of page sizes that depend on the number of participants of a meeting

The rationale is pretty much the same as the cameraQualityThresholds, but the thresholds are users here and the ceilings are the page sizes
2021-03-16 20:15:13 +00:00
prlanzarin
ab17b10c38 listenonly,video-provider,screenshare: remove ICE gathering pre-flight check 2021-03-12 02:51:45 +00:00
Anton Georgiev
a165d3a7e3
Merge pull request #11606 from prlanzarin/u22-sadl1
video-provider: add video pagination UI toggle (was #10970)
2021-03-11 16:05:33 -05:00
prlanzarin
db15d1b280 video-provider: fix setReconnectionTimeout race condition that caused webcams to drop
Problem: setReconnectionTimeout was being called in the first candidate generation to set the negotiation/reconnection timeout up. That caused some browsers or specific scenarios (mainly envs without STUN) to establish the negotiation (playStart) before generating any useful out-of-band candidates (relay). That would cause the timeout to be set AFTER it is supposed to be cleared due to success (playStart), making the webcam drop after a while

So I moved the setReconnectionTimeout call to a safer spot: right after the first negotiation requisition goes out to bbb-webrtc-sfu
2021-03-10 20:09:55 +00:00
prlanzarin
6418d0f556 video-provider: more logging improvements, clean up playStart restart timers reset 2021-03-10 20:09:00 +00:00
prlanzarin
f85b5dfa5b video-provider: quick logging cleanup
Reduce logging volume and payload size, perf
2021-03-10 20:08:40 +00:00
prlanzarin
ee142501ab video-provider: fix inbound/recvonly video reconnection 2021-03-10 20:08:29 +00:00
Pedro Beschorner Marin
c120dc2859 Avoid dispatching fallback error toast message
There's some scenarios that video errors triggers multiple toast notifications
that don't have any mapped defined message feedback so they all drop to the default
permission error. This leaves the impression that something is broken at the toast
container.

Since those messages don't bring up much information about the problem we can avoid sending
them until we don't have a more informative one to notify the user.
2021-03-10 19:47:25 +00:00
prlanzarin
cf8b5e422f video-provider: add pagination settings toggle 2021-03-10 18:44:23 +00:00
Ramon Souza
9738f42432 add debounce to join video button 2021-02-10 10:44:45 -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
Ramon Souza
6c1856c0a4 fix active webcam icon 2021-01-29 14:23:50 -03:00
Anton Georgiev
aae4d1567d
Merge pull request #11232 from prlanzarin/u22-lv521012021
video-provider: fix inconsistent client state when a webcam being shared times out
2021-01-27 11:29:16 -05:00
Anton Georgiev
e2f821d780
Merge pull request #11229 from prlanzarin/u22-revert10912
video-provider: Revert "Improve 16x9 Support"
2021-01-26 16:51:03 -05:00
prlanzarin
c57941dbdb video-provider: make video-list-item actions dropdown keys unique
When multiple actions were bolted in the dropdown (mirror, focus), keys were getting duplicated with cameraId. Make them unique based on the action`s name
2021-01-26 12:32:27 -03:00
prlanzarin
32e7ddeaf7 Revert "Improve 16x9 Support"
This reverts commit b8fc94c722.
2021-01-26 12:03:11 -03:00
prlanzarin
c37c3d0c7b video-provider: fix inconsistent client state when a webcam being shared timed out (1020)
Recent fix to the stop all cameras behaviour exposed a bug where the local camera connecting state wasnt being cleared up when a camera timed out before being successfully shared
2021-01-26 11:49:39 -03:00
Anton Georgiev
0ba3aa713a
Merge pull request #10912 from lkiesow/16x9
Improve 16x9 Support
2021-01-18 16:05:01 -05:00
Pedro Beschorner Marin
cc9b552e2a Fix stream stop for multiple webcams
Video provider's service for local stream control was wrongly setting the disconnected
state when a multiple webcam user tried to stop a single cam. The `stopVideo` method
was inconsistent when called multiple times for the same `cameraId`.

Included a better testing scope for event dispatching and disconnected state handling.
2021-01-12 13:24:40 -03:00
Anton Georgiev
d9629113cb fix undefined css class button in video-button 2021-01-06 19:13:48 +00:00
Anton Georgiev
244a239810 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 2020-12-01-merge 2020-12-01 20:02:50 +00:00
Lars Kiesow
74efe8735b
Allow mirroring individual webcams
BigBlueButton already allows mirroring the users own webcam as a global
setting set by administrators. Users have no way of choosing this on
their own.

This patch turns this functionality into a user setting for all webcams.
Every camera menu now gets a “mirror” entry.

The global setting is still used as a default value, keeping the current
behavior as it is to not confuse users.
2020-11-29 20:54:01 +01:00
Lars Kiesow
b8fc94c722
Improve 16x9 Support
This is a very simple patch improving the support for 16x9 cameras.

In mixed mode – if 4x3 and 16x9 cameras are present – everything looks
like it did before but if only 16x9 (or wider) cameras are present,
BigBlueButton will drop the letter boxes and show a 16x9 video
container.
2020-11-27 01:28:21 +01:00
Joao Siebel
be8421db3c Merge remote-tracking branch 'upstream/develop' into connection-manager 2020-10-21 13:57:17 -03: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
Joao Siebel
dadca62741 Merge remote-tracking branch 'upstream/develop' into connection-manager 2020-10-13 10:49:12 -03:00
KDSBrowne
feea250c0b fix share webcam btn label for screen reader 2020-10-06 13:46:21 +00:00
Mohamed Amine Ben Salah
c87d1cacbf adds missing webcam video mirroring data-test 2020-09-21 12:07:57 -03:00
Joao Siebel
b2adffa4c2 Merge remote-tracking branch 'upstream/develop' into connection-manager 2020-09-18 16:30:20 -03:00
Anton Georgiev
377dc27a8d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 09-16-merge 2020-09-17 14:37:28 +00:00
Anton Georgiev
ed9c8af1e7
Merge pull request #10431 from prlanzarin/upstream-2.2-spl
screenshare: make presenter's screenshare preview local instead of remote
2020-09-10 14:40:29 -04:00
Anton Georgiev
2d0e37b4a9
Merge pull request #10429 from prlanzarin/upstream-2.2-fmsmc
video-provider: fix mesh stream sorting with multiple cameras
2020-09-10 10:41:48 -04:00
prlanzarin
18c2d33ff1 video-provider/screenshare: streamline isUserPresenter usage 2020-09-10 14:11:18 +00:00
prlanzarin
259a780303 video-provider: fix mesh stream sorting with multiple cameras 2020-09-10 13:33:22 +00:00
Tainan Felipe
95ad14aa3c Rename locale 2020-09-09 16:31:20 -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
Tainan Felipe
1d0e5e5cdc Add individual messages to video disable 2020-09-09 15:07:32 -03:00
Mohamed Amine Ben Salah
bb6158dc0f add webcams layout talking user data test 2020-09-09 10:17:14 -03:00
Joao Siebel
6e4e0a510a Merge branch 'remove-user-on-exit' into connection-manager 2020-09-08 16:36:01 -03: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
Anton Georgiev
3003897bfe
Merge pull request #10336 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: add missing PropType, remove render socketOpen check
2020-08-27 09:17:04 -04:00
prlanzarin
395de41f60 video-provider: add missing proptype
Also trim down prop assignment in render
2020-08-27 02:20:09 +00:00
prlanzarin
191654814a video-provider: remove socket open state condition for rendering video-list
That check doesnt make sense anymore. Removing it makes the video list load faster and webcam sharing seem more responsive
2020-08-27 02:19:55 +00:00
Anton Georgiev
4476df6f09
Merge pull request #10318 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: prioritise presenter in pagination ordering, restore pre-.22 full mesh ordering
2020-08-24 17:14:43 -04:00
Anton Georgiev
b8959be312
Merge pull request #10304 from pedrobmarin/individual-video-record-control
Add individual video record control
2020-08-24 16:58:16 -04:00
prlanzarin
f3674335a4 video-provider: prioritise presenter in pagination ordering
Also restore the old full mesh, pre-.22 ordering where outbound streams were put first
2020-08-24 19:55:29 +00:00
Anton Georgiev
89319787f8
Merge pull request #10317 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: fix dynamic profile accounting when using pagination
2020-08-24 15:14:00 -04:00
prlanzarin
e7323ee6a5 video-provider: fix dynamic profile accounting when using pagination 2020-08-24 18:30:24 +00:00
Anton Georgiev
59ab8e215d
Merge pull request #10315 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: fix pagination edge case
2020-08-24 10:42:07 -04:00
prlanzarin
2e6627b820 video-provider: fix pagination edge case where pages would be calculated as NaN 2020-08-24 14:35:28 +00:00
Pedro Beschorner Marin
8b54c01898 Add hack to avoid recording viewers video stream
If, at the time the video is shared, the user has a viewer role and
meta_hack-record-viewer-video is false this user won't have this video
stream recorded.
2020-08-22 21:00:31 -03:00
Pedro Beschorner Marin
95bc7cd59e Add individual video record control
This adds bbb_record_video userdata that, when is set to false, signals
bbb-webrtc-sfu to avoid generating the stream recording assets for a
particular user.

By default, bbb_record_video is true.
2020-08-21 19:10:25 -03:00
Anton Georgiev
4fb301c48b
Merge pull request #10293 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: first tackle at video pagination
2020-08-20 15:24:57 -04:00
prlanzarin
0b29b5a812 video-provider: enrich pagination enabled checks 2020-08-20 17:26:32 +00:00
prlanzarin
a98c476239 video-provider: remove page change lock in favor of a debounced approach 2020-08-20 15:43:02 +00:00
prlanzarin
5f72cecf4f video-provider: fix mirrorOwnWebcam behaviour (regression from #10208) 2020-08-20 01:12:56 +00:00
prlanzarin
bc4ce58251 video-provider: make pagination circular 2020-08-19 22:27:47 +00:00
Joao Siebel
f33bd10640 Remove user from collection when leaves 2020-08-19 13:22:43 -03:00
prlanzarin
0e02b6a6f8 video-provider: remove nonsensical play abort warning log 2020-08-19 13:56:53 +00:00
prlanzarin
2d436977cb video-provider: add pagination page change timer to prevent spamming 2020-08-19 13:56:22 +00:00
Tainan Felipe
5bfeab289c Merge remote-tracking branch 'upstream/develop' into issue-9219 2020-08-19 10:41:03 -03:00
prlanzarin
28e826118a video-provider: first version of video pagination 2020-08-18 17:00:47 +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
c524abf05b video-provider: normalize hidden cameraProfiles constraints
Also add some inlined docs to settings.yml
2020-08-11 14:51:50 +00:00
Anton Georgiev
247861f549
Merge pull request #10213 from prlanzarin/upstream-2.2-vpeg-dynprof
video-provider: dynamic video profiles (aka automatic bitrate/frame rate throttling)
2020-08-07 13:20:56 -04:00
CristianSilvaGrosseli
378a355316 fix displaced audio icon. 2020-08-05 17:05:47 +00:00
CristianSilvaGrosseli
da2e947cf4 added ellipsis property to video user name. 2020-08-05 17:05:23 +00:00
prlanzarin
d18fa5d758 video-provider: fix safari overflow issue and properly fill height with placeholder
kudos @pedrobmarin
2020-08-05 17:02:59 +00:00
prlanzarin
67194618b8 video-provider: revert videoListItem max-height change
I did it to force the placeholder to fill the grid, but it turns out it botches Safari and I dont know how to fix it yet
2020-08-05 17:02:54 +00:00
prlanzarin
147e7b2105 video-provider: further cleanup to stylesheet 2020-08-05 17:02:23 +00:00
prlanzarin
dc194eafdf screenshare: move loading spinner css to media and restore it 2020-08-05 17:02:08 +00:00
prlanzarin
dd32a669dc video-provider: revert formatting changes from commit 0ca68b4 2020-08-05 17:01:45 +00:00
prlanzarin
03a51611a2 video-provider: UI/style updates
- No more border radius in video containers, fullscreen buttons or user info span

Reduced the spacing between cameras to 1px

Replaced the loading spinners with a black background and the user name at the center

- Changed the color of the talking indicator to be the primary color with 0.7 opacity

Make the user name in the video container have opacity 1

Fix: make the webcam containers be 4:3 even while loading
2020-08-05 17:01:15 +00:00
prlanzarin
1d52b158f8 video-provider: fix safari resolution change on applyConstraints, only reapply bitrate when needed 2020-08-05 16:56:18 +00:00
prlanzarin
642de5076a video-provider: first, simplified version of dynamic camera profile control 2020-08-05 16:55:41 +00:00
Pedro Beschorner Marin
7b3505acff Enumerating devices after video preview gUM 2020-08-05 15:06:44 +00:00
Pedro Beschorner Marin
40908a51a8 Postponing get from user settings 2020-08-05 14:56:20 +00:00
prlanzarin
fab6d96769 video-provider: reimplement PR #9407
Some weird merged regressed #9407 when merging 2.2 in 2.3, and backporting the VP from 2.3 to 2.2 reintroduced the issue, so I reimplemented it
2020-08-05 14:35:08 +00:00
Pedro Beschorner Marin
b74bd0283e Fix webcamsOnlyForModerator 2020-08-05 14:32:51 +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
Joao Siebel
6987ab988c Restore activity check modal.
If activity check was enabled in server, the activity check modal wasn't showed
to users and after a given time the user was disconnect, also fix the meeting-end
and error-screen messages, informing the user the reason why he was kicked.
2020-08-03 09:44:21 -03:00
Tainan Felipe
e64c0e1c62
Merge branch 'develop' into issue-9219 2020-07-28 13:28:32 -03:00
Vitor Mateus De Almeida
34108014f9 Fix exceptions and layout size when panels change 2020-07-20 16:22:41 -03:00
Vitor Mateus De Almeida
b82587bac0 Fix Inconsistent resize behaviour 2020-07-20 16:18:56 -03:00
Vitor Mateus De Almeida
ae29ba58c1 Fixes 2020-07-20 16:17:40 -03:00
Vitor Mateus
ecc8f4a056 wip 2020-07-20 16:16:39 -03:00
Vitor Mateus
e2db60e662 WIP Resizable works fine 2020-07-20 16:11:09 -03:00
Anton Georgiev
7535e6fa59
Revert "Create layout context and add a layout manager" 2020-07-15 12:44:59 -04:00
Anton Georgiev
b9b4490d8c
Merge branch 'develop' into layout 2020-07-14 10:32:24 -04:00
prlanzarin
0f8b27d2d8 video-provider: make camera timeouts configurable
Also add missing settings.yml val for wsConnectionTimeout
2020-07-09 17:53:24 +00:00
prlanzarin
72a67bdd63 video-provider: make reconn websocket connectionTimeout configurable
Keep the default value (current) in settings.yml
2020-07-09 17:50:04 +00:00
Vitor Mateus De Almeida
880963e0e7 Merge remote-tracking branch 'upstream/develop' into layout 2020-07-06 13:36:38 -03:00
Vitor Mateus De Almeida
fdcfd39f04 Merge remote-tracking branch 'upstream/master' into layout 2020-07-06 12:44:47 -03: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
Vitor Mateus De Almeida
2454440a8d Fix exceptions and layout size when panels change 2020-06-20 02:46:10 -03:00
Vitor Mateus De Almeida
9ed57fd22d Fix Inconsistent resize behaviour 2020-06-16 12:20:24 -03:00
mw781
2da9028c0b Extract constant for convenience 2020-06-15 21:51:46 +01: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
mw781
fceac6dbc5 Import user settings 2020-06-12 23:49:07 +01:00
mw781
17350a57fe Implement own video mirroring 2020-06-12 23:39:41 +01:00
Vitor Mateus De Almeida
3b3a6a32f5 Fixes 2020-06-09 00:09:46 -03:00
Vitor Mateus
a1d4311cec wip 2020-06-04 20:01:17 -03: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
prlanzarin
2cba85e866 html5: refactor STUN/TURN fetch, add fallback STUN, fix deadlock in audio join
Refactored STUN/TURN fetch to be done only once, when successful, per session and cache it in mem to avoid too many reqs. Current way is a bit dumb, this should increase reliability a bit more. The caching is configurable so folks who want to use very short lived TURN credentials can disable it

Add a fallback STUN config option to be used when the default STUN/TURN fetch fails

Clean the safari/no candidate generation pre flight check from 3rd party STUNs

Fix deadlock in audio join when STUN/TURN fetch failed
2020-05-21 04:35:17 +00:00
Pedro Beschorner Marin
362317e8d0 Enumerating devices after video preview gUM 2020-05-08 13:43:29 -03:00
KDSBrowne
741455aeba remove hideUserList() from video-provider service 2020-05-06 15:14:07 +00:00
KDSBrowne
e82e0f5be9 fix see views in user list lock affecting webcams 2020-05-02 16:50:40 +00:00
Vitor Mateus
00259ab371 WIP Resizable works fine 2020-04-23 11:07:44 -03:00
Pedro Beschorner Marin
ef48ea2e8c Postponing get from user settings 2020-03-26 19:31:08 -03:00
Mohamed Amine Ben Salah
10a22d411e fixes webcams test 2020-03-26 16:51:41 -03:00
Pedro Beschorner Marin
66878174bb Fix webcamsOnlyForModerator 2020-03-26 15:28:58 -03:00
Anton Georgiev
eb1db30b3f
Merge pull request #8756 from daminebenq/webcams-test
adds share/load/check webcams test specs with multi users
2020-03-11 16:13:48 -04:00
Mohamed Amine Ben Salah
7f1d2a4aa3 adds share/load/check webcams test specs with multi users 2020-03-10 12:20:48 -03:00
Chad Pilkey
0853298c49 fix client crash when client is unsecured 2020-03-09 17:47:47 +00:00
Richard Alam
7d0b350b7d
Merge pull request #8739 from antobinary/merging
Merging 2.2.2 into 'develop'
2020-03-09 11:04:36 -04:00
Mohamed Amine Ben Salah
ea226420c2 adds single user webcam test spec 2020-03-04 16:00:45 -03:00
Anton Georgiev
3754d0ab6f Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-master-feb-28-2020 2020-02-28 17:47:06 -05:00
Anton Georgiev
dbc997cc85 explicitly import lodash so we can use _ functions 2020-02-26 10:43:24 -05:00
prlanzarin
bf69926576 Fix race condition in video-provider that may cause peers to fail
The peer object was being fetched only once in the ICE candidate callback, and it would fetch a placeholder empty object (sometimes) which would be kept in the callback closure till the end of the peer lifecycle. With that, the didSDPAnswered state variable which released the outbound ICE queue wouldnt be correctly read and the queue would never be flushed
2020-01-31 19:49:12 +00:00
prlanzarin
10b4a60a57 Fix race condition in video-provider that may cause peers to fail
The peer object was being fetched only once in the ICE candidate callback, and it would fetch a placeholder empty object (sometimes) which would be kept in the callback closure till the end of the peer lifecycle. With that, the didSDPAnswered state variable which released the outbound ICE queue wouldnt be correctly read and the queue would never be flushed
2020-01-31 19:32:57 +00:00
Vitor Mateus
9676bbc434 Merge remote-tracking branch 'upstream/master' into issue-7850-2 2020-01-13 16:36:02 -03:00
Pedro Beschorner Marin
9b450ae1d9 Check Safari before listening for ondevicechange 2019-12-20 17:21:40 -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
8e129fb961 Included multiple cameras UI 2019-12-18 14:44:56 -03:00
Pedro Beschorner Marin
801ed30a8e Missing after rebase 2019-12-10 13:02:18 +00:00
Pedro Beschorner Marin
5c71e2d0bb Included new getStats monitor for audio and video 2019-12-10 09:07:06 -03:00
Pedro Beschorner Marin
a434f61052 Reverting file mode changes 2019-12-10 09:05:04 -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
315fa755f0 Removed unused video visibility monitor 2019-12-10 09:02:17 -03:00
Pedro Beschorner Marin
3b591a086b Unified video providers 2019-12-10 09:02:16 -03:00
Pedro Beschorner Marin
debd8f714a Removed unused session vars logic 2019-12-10 08:21:21 -03:00
Vitor Mateus
af3534fd57 Merge remote-tracking branch 'upstream/master' into issue-7850-2 2019-12-05 15:01:46 -03:00
Vitor Mateus
0baf41bc0b Fix webcam position when drop on left or right sides 2019-12-05 15:01:23 -03:00
prlanzarin
4e55145381 Change VideoService userName fetch to Auth and pass it again to video-provider 2019-11-28 18:49:20 +00:00
prlanzarin
19bf430760 Add userId and userName to the SFU start calls where they were missing 2019-11-28 18:46:23 +00:00
prlanzarin
52d69156ca Fix viewer camera reconnection timers
Also try to reconnect when ICE fails, a server-side error comes through or the WebRTC stack throws a tantrum, not only when the first connection fails.
2019-11-28 18:03:14 +00:00
prlanzarin
d3fa2f6508 Add an outbound ice queue to video-provider peers
Only send candidates after the SDP exchange was locked due stop-start glare
2019-11-28 18:01:32 +00:00
Tainan Felipe
6e7cdb1f6b Don't skip video preview if called via interface 2019-11-21 14:18:42 -03:00
prlanzarin
b52214f0b5 Make some imports use absolute paths
Some more linting as well
2019-11-14 19:07:35 +00:00
prlanzarin
215f79f383 Account for mDNS candidates on gUM fallback for recvonly peers
Also added some client logging for those cases

Moved video-provider gUM fallback detection to be used only on recvonly streams
2019-11-14 16:35:56 +00:00
Anton Georgiev
cfb58749e4
Merge pull request #8303 from vitormateusalmeida/webcam-resizable
Webcam resizable
2019-11-08 15:28:58 -05:00
Vitor Mateus
4254bcb4ca Change the video height to avoid webcam overflow 2019-11-05 16:23:23 -03:00
Anton Georgiev
42d640f3e2 Merge branch 'issue7791-add-support-to-new-parameters-name' of github.com:diegobenetti/bigbluebutton into test-7805 2019-11-05 11:59:00 -05:00
Anton Georgiev
8da73912f5
Revert "Webcams area resizable" 2019-11-01 14:24:18 -04:00
Vitor Mateus de Almeida
02732a8dbe Merge remote-tracking branch 'upstream/master' into issue-7855 2019-10-31 18:17:30 -03:00
Chad Pilkey
3dd4761889
Merge pull request #8157 from capilkey/viewer-webcam-lock-unshare
Viewer webcam lock unshare
2019-09-27 18:20:26 -04:00
Chad Pilkey
7753750721 fix video provider option property name 2019-09-27 22:18:16 +00:00
Tainan Felipe
b0f2e16f86 Add propTypes and redo variable types 2019-09-27 15:01:11 -03:00
Chad Pilkey
6c0358ae90 bitrate only webcam profiles and error handling 2019-09-26 18:28:37 +00:00
Vitor Mateus
f91f0a20da Change the video height to avoid webcam overflow 2019-09-23 14:58:03 -03:00
Tainan Felipe
966debb341 Fix viewer webcam not unsharing when lock setting is enable 2019-09-16 11:15:18 -03:00
Anton Georgiev
884c5bcdc4
Merge pull request #8063 from Tainan404/video-performance
Move hasStream to video-users collection
2019-09-11 17:43:01 -04:00
Tainan Felipe
d1a0286c06 Fix wrong data fetch 2019-09-09 16:30:14 -03:00
Chad Pilkey
f471b1e2b9
Merge pull request #8072 from prlanzarin/2.2-abort-play
Fixes to client-side screenshare/listen only code and log improvements
2019-09-06 18:37:22 -04:00
prlanzarin
c8a88148e1 Improve log message for screenshare/listen only/autoplay and harden media play with retries 2019-09-06 18:58:22 +00:00
Tainan Felipe
957225fabf Rename collection to video-streams 2019-09-06 13:50:31 -03:00
Tainan Felipe
7e8de34583 Remove index from userId 2019-09-06 10:19:18 -03:00
Tainan Felipe
c27ff18958 Merge remote-tracking branch 'upstream/master' into video-performance 2019-09-06 10:16:22 -03:00
Tainan Felipe
3d8e0be9fe Filter user collection fields 2019-09-05 17:03:22 -03:00
Tainan Felipe
060e82dddf Move hasStream to video-users collection 2019-09-05 15:29:30 -03:00
Anton Georgiev
c5856d43c8 moved static code outside of tracker 2019-09-04 14:32:58 -04:00
Anton Georgiev
ea18b09311 add a few more collection lookups "fields" delimiters 2019-08-29 12:26:07 -04:00
Anton Georgiev
892336632f added "fields:{...}", removed most mapUser 2019-08-28 16:32:55 -04:00
Anton Georgiev
88c397a2ed
Merge pull request #8009 from vitormateusalmeida/issue-7869
Fix Screenshare alignment and remove improper drag cursor #7869 #7785
2019-08-28 15:54:48 -04:00
Vitor Mateus
ffea873845 Fix Screenshare alignment and remove improper drag cursor #7869 #7785 2019-08-27 16:38:00 -03:00
KDSBrowne
161be803be fix dropdown close btn on mobile view 2019-08-19 14:41:31 +00:00
KDSBrowne
74ac34c407 Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into issue-7148 2019-08-19 13:44:36 +00:00
KDSBrowne
713ea97a27 remove margin 0 from p elements 2019-08-19 13:35:31 +00:00
Anton Georgiev
ab01337f45
Merge pull request #7909 from capilkey/hide-user-list
Add ability to hide viewers in the user list from each other
2019-08-15 17:58:18 -04:00
Anton Georgiev
5b9c835513
Merge pull request #7882 from prlanzarin/2.2-ap-ui
Add UI prompts when autoplay is blocked for video/screenshare/listen only
2019-08-14 15:24:16 -04:00
Chad Pilkey
483285ae3a don't show muted on video when listenOnly 2019-08-13 10:02:52 -07:00
Chad Pilkey
027c28c320 add lock setting option to hide viewers from each other 2019-08-09 16:45:26 -07:00
Chad Pilkey
6e76dd584b improve user fetch and sort, and webcam fetch 2019-08-09 15:39:55 -07:00
prlanzarin
01b53728f8 Only handle autoplay when DOMEx is NotAlllowedError
Add check to prevent re-handling autoplay multiple times for cams

Screenshare viewer element muted by default
2019-08-05 17:28:36 +00:00
prlanzarin
8d65ce565d Add UI prompts when autoplay is blocked for video/screenshare/listen only 2019-08-02 21:32:42 +00:00
Vitor Mateus
ea7f4cff58 Remove events when unmount 2019-07-30 12:03:29 -03:00
Vitor Mateus
3c0898b7aa Merge remote-tracking branch 'upstream/master' into issue-7022-2 2019-07-29 17:10:34 -03:00
Vitor Mateus
2617fb34a1 Disable draggable when webcam is fullscreen 2019-07-26 16:42:39 -03:00
Vitor Mateus
1d44ee5794 Fix fullscreen multiwebcams 2019-07-26 16:24:53 -03:00